Lisp-readable Jam Results table


Lisp-readable Jam Results table

Table of Contents

  • 1. Read one game.
  • 2. "Pretty" copy-pasteable result s-exp.

It's in common lisp! You can watch videos on https://toobnix.org/c/screwtape_channel if you want to get started with common lisp, emacs and org-mode. Basically, I needed lisp's read machinery and whatever orgbabel is.

The jam results: https://itch.io/jam/spring-lisp-game-jam-2024/results

(The actual org-file that begat this is here https://portal.mozz.us/gopher/sdf.org/0/users/screwtape/2024-jam-resultable.org for those inclined. It was hard to find something that played well-ish here.) gopher://sdf.org/0/users/screwtape/2024-jam-resultable.org

1. Read one game.

(defun read-game (stream)
   (flet ((as-short-names (stream)
            (let ((line (read-line stream))
                  (ranks '(rank score raw-score))
                  (replacements
                    '(("Entertainment - how enjoyable is it?" . "Entertainment")
                      ("Creativity - how original is the idea?" . "Creativity")
                      ("Presentation - how does it look/feel?" . "Presentation")
                      ("Overall" . "Overall"))))
              (loop for rep.lace in replacements
                  for new = (cdr rep.lace)
                  for old = (car rep.lace)
                  when (search new line)
                    return (with-input-from-string (in (remove #\# (subseq line (length old))))
                             (loop for rank in ranks
                                   collect (cons rank (read in)) into scores
                                   finally (return (cons new scores))))))))
     `((game . ,(read-line stream))
       (author . ,(subseq (read-line stream) (length "by ")))
       (count . ,(let ((line (read-line stream)))
                   (with-input-from-string (str line)
                     (loop repeat 4 for read = (read str) finally (return read)))))
       ,@(loop initially (loop repeat 3 do (read-line stream))
           repeat 4 collect (as-short-names stream)))))
READ-GAME 


2. As An S-expression

(let ((*print-pretty* t))
      (print
       (with-input-from-string (in input)
         (loop for game = (read-game in)
           for nextline = (read-line in nil nil)
           collecting game while (read-line in nil nil))))

if you know you know

(((GAME . "GhostHop") (AUTHOR . "gcmas") (COUNT . 22)
  ("Entertainment" (RANK . 19) (SCORE . 2.958) (RAW-SCORE . 2.958))
  ("Overall" (RANK . 31) (SCORE . 2.694) (RAW-SCORE . 2.694))
  ("Creativity" (RANK . 37) (SCORE . 1.958) (RAW-SCORE . 1.958)))
 ((GAME . "Raspberry panic") (AUTHOR . "cirno_ne_baka") (COUNT . 17)
  ("Presentation" (RANK . 15) (SCORE . 3.235) (RAW-SCORE . 3.235))
  ("Entertainment" (RANK . 29) (SCORE . 2.176) (RAW-SCORE . 2.176))
  ("Creativity" (RANK . 30) (SCORE . 2.412) (RAW-SCORE . 2.412))
  ("Overall" (RANK . 32) (SCORE . 2.608) (RAW-SCORE . 2.608)))
 ((GAME . "game boy gizmo") (AUTHOR . "LCOLONQ") (COUNT . 7)
  ("Presentation" (RANK . 26) (SCORE . 2.726) (RAW-SCORE . 3.714))
  ("Creativity" (RANK . 27) (SCORE . 2.621) (RAW-SCORE . 3.571))
  ("Overall" (RANK . 33) (SCORE . 2.306) (RAW-SCORE . 3.143))
  ("Entertainment" (RANK . 40) (SCORE . 1.572) (RAW-SCORE . 2.143)))
 ((GAME . "logos-lisp-legend") (AUTHOR . "screwtape") (COUNT . 7)
  ("Creativity" (RANK . 27) (SCORE . 2.621) (RAW-SCORE . 3.571))
  ("Overall" (RANK . 34) (SCORE . 2.062) (RAW-SCORE . 2.81))
  ("Presentation" (RANK . 36) (SCORE . 1.887) (RAW-SCORE . 2.571))
  ("Entertainment" (RANK . 38) (SCORE . 1.677) (RAW-SCORE . 2.286)))
 ((GAME . "[Unfinished] Space Duel") (AUTHOR . "jfred") (COUNT . 12)
  ("Presentation" (RANK . 31) (SCORE . 2.322) (RAW-SCORE . 2.417))
  ("Creativity" (RANK . 32) (SCORE . 2.162) (RAW-SCORE . 2.25))
  ("Overall" (RANK . 35) (SCORE . 2.055) (RAW-SCORE . 2.139))
  ("Entertainment" (RANK . 37) (SCORE . 1.681) (RAW-SCORE . 1.75)))
 ((GAME . "[incomplete] PROK") (AUTHOR . "kiefac") (COUNT . 7)
  ("Entertainment" (RANK . 34) (SCORE . 1.887) (RAW-SCORE . 2.571))
  ("Creativity" (RANK . 34) (SCORE . 1.992) (RAW-SCORE . 2.714))
  ("Overall" (RANK . 36) (SCORE . 1.852) (RAW-SCORE . 2.524))
  ("Presentation" (RANK . 40) (SCORE . 1.677) (RAW-SCORE . 2.286)))
 ((GAME . "Wizard's Keep") (AUTHOR . "dirtdog") (COUNT . 6)
  ("Entertainment" (RANK . 32) (SCORE . 1.925) (RAW-SCORE . 2.833))
  ("Presentation" (RANK . 35) (SCORE . 1.925) (RAW-SCORE . 2.833))
  ("Overall" (RANK . 37) (SCORE . 1.849) (RAW-SCORE . 2.722))
  ("Creativity" (RANK . 40) (SCORE . 1.698) (RAW-SCORE . 2.5)))
 ((GAME . "clean room — disassembly") (AUTHOR . "asquared31415") (COUNT . 4)
  ("Presentation" (RANK . 37) (SCORE . 1.803) (RAW-SCORE . 3.25))
  ("Overall" (RANK . 38) (SCORE . 1.803) (RAW-SCORE . 3.25))
  ("Creativity" (RANK . 39) (SCORE . 1.941) (RAW-SCORE . 3.5))
  ("Entertainment" (RANK . 39) (SCORE . 1.664) (RAW-SCORE . 3.0)))
 ((GAME . "GuilePede") (AUTHOR . "robjperez") (COUNT . 5)
  ("Entertainment" (RANK . 35) (SCORE . 1.861) (RAW-SCORE . 3.0))
  ("Presentation" (RANK . 39) (SCORE . 1.736) (RAW-SCORE . 2.8))
  ("Overall" (RANK . 39) (SCORE . 1.736) (RAW-SCORE . 2.8))
  ("Creativity" (RANK . 42) (SCORE . 1.612) (RAW-SCORE . 2.6)))
 ((GAME . "Princess Kitty Cafe") (AUTHOR . "therabidbanana") (COUNT . 4)
  ("Presentation" (RANK . 37) (SCORE . 1.803) (RAW-SCORE . 3.25))
  ("Overall" (RANK . 40) (SCORE . 1.572) (RAW-SCORE . 2.833))
  ("Entertainment" (RANK . 41) (SCORE . 1.387) (RAW-SCORE . 2.5))
  ("Creativity" (RANK . 43) (SCORE . 1.525) (RAW-SCORE . 2.75)))
 ((GAME . "Fantasary NG") (AUTHOR . "tsyesika, David Thompson") (COUNT . 5)
  ("Creativity" (RANK . 35) (SCORE . 1.985) (RAW-SCORE . 3.2))
  ("Overall" (RANK . 41) (SCORE . 1.571) (RAW-SCORE . 2.533))
  ("Presentation" (RANK . 42) (SCORE . 1.488) (RAW-SCORE . 2.4))
  ("Entertainment" (RANK . 42) (SCORE . 1.24) (RAW-SCORE . 2.0)))
 ((GAME . "Pendulum") (AUTHOR . "GrindingStone") (COUNT . 5)
  ("Creativity" (RANK . 35) (SCORE . 1.985) (RAW-SCORE . 3.2))
  ("Entertainment" (RANK . 42) (SCORE . 1.24) (RAW-SCORE . 2.0))
  ("Overall" (RANK . 42) (SCORE . 1.53) (RAW-SCORE . 2.467))
  ("Presentation" (RANK . 43) (SCORE . 1.364) (RAW-SCORE . 2.2)))
 ((GAME . "guile-dotris") (AUTHOR . "trev_irc") (COUNT . 5)
  ("Entertainment" (RANK . 35) (SCORE . 1.861) (RAW-SCORE . 3.0))
  ("Presentation" (RANK . 43) (SCORE . 1.364) (RAW-SCORE . 2.2))
  ("Overall" (RANK . 43) (SCORE . 1.488) (RAW-SCORE . 2.4))
  ("Creativity" (RANK . 46) (SCORE . 1.24) (RAW-SCORE . 2.0)))
 ((GAME . "[WIP] Against the tower of Aina") (AUTHOR . "ipkcle") (COUNT . 9)
  ("Presentation" (RANK . 41) (SCORE . 1.572) (RAW-SCORE . 1.889))
  ("Creativity" (RANK . 41) (SCORE . 1.664) (RAW-SCORE . 2.0))
  ("Entertainment" (RANK . 44) (SCORE . 1.202) (RAW-SCORE . 1.444))
  ("Overall" (RANK . 44) (SCORE . 1.479) (RAW-SCORE . 1.778)))
 ((GAME . "procedurally generated text adventure") (AUTHOR . "hendrikboom3")
  (COUNT . 4) ("Creativity" (RANK . 44) (SCORE . 1.387) (RAW-SCORE . 2.5))
  ("Overall" (RANK . 45) (SCORE . 1.202) (RAW-SCORE . 2.167))
  ("Presentation" (RANK . 45) (SCORE . 1.248) (RAW-SCORE . 2.25))
  ("Entertainment" (RANK . 47) (SCORE . 0.971) (RAW-SCORE . 1.75)))
 ((GAME . "[wip] Chaturanga") (AUTHOR . "didij") (COUNT . 2)
  ("Creativity" (RANK . 45) (SCORE . 1.373) (RAW-SCORE . 3.5))
  ("Entertainment" (RANK . 46) (SCORE . 0.981) (RAW-SCORE . 2.5))
  ("Overall" (RANK . 46) (SCORE . 1.111) (RAW-SCORE . 2.833))
  ("Presentation" (RANK . 47) (SCORE . 0.981) (RAW-SCORE . 2.5)))
 ((GAME . "Bloatrunner") (AUTHOR . "snamellit") (COUNT . 5)
  ("Entertainment" (RANK . 45) (SCORE . 0.992) (RAW-SCORE . 1.6))
  ("Presentation" (RANK . 46) (SCORE . 0.992) (RAW-SCORE . 1.6))
  ("Overall" (RANK . 47) (SCORE . 0.992) (RAW-SCORE . 1.6))
  ("Creativity" (RANK . 48) (SCORE . 0.992) (RAW-SCORE . 1.6)))
 ((GAME . "Powiedz Tylko Słowo (Just Say a Word)") (AUTHOR . "panicz")
  (COUNT . 2) ("Creativity" (RANK . 47) (SCORE . 1.177) (RAW-SCORE . 3.0))
  ("Entertainment" (RANK . 48) (SCORE . 0.784) (RAW-SCORE . 2.0))
  ("Presentation" (RANK . 48) (SCORE . 0.784) (RAW-SCORE . 2.0))
  ("Overall" (RANK . 48) (SCORE . 0.915) (RAW-SCORE . 2.333))))

Get logos-lisp-legend

Leave a comment

Log in with itch.io to leave a comment.