Repository navigation
Releases
Releases · dkdev24/grues-in-comic
v0.33.11
v0.33.3 — Hall of Fame sweep is capacity-based, not age-based
Fixed
- Unfinished runs stayed on the board instead of being swept a day after your last move. The board's cleanup previously deleted any in-progress run once it was more than 24 hours old — and since finishing the game is rare, nearly every run is "in progress," so the whole board would empty out roughly a day after each play session. In-progress runs are no longer removed on age alone; they stay until the board holds more than 20 of them, and even then only the oldest excess ones, older than 30 days, are cleared out. Finished runs were never affected and still stay forever.
v0.33.2 — the board's default name is the Hero you picked
Changed
- An untouched "Name on the board" field now submits your Hero's name, not
Anonymous. The
field's placeholder shows the Hero currently picked and follows the pick live if you switch
characters before pressing Begin. Typing a name of your own still overrides it, exactly as
before; reopening the picker (/cast, or resuming a save) still shows the field blank rather
than pre-filled when the stored name is just the Hero's name going unchanged.
v0.29.1 — the board gets column headings
Changed
- The Hall of Fame board now says what its columns are — rank, player, score and moves — so the
numbers read without being guessed at. On a phone, where the rows stack instead of lining up in
columns, the headings are left off: they would be labelling nothing. - The front page has one "start playing" button per screenful instead of two. The changelog
section's copy is gone; the Hall of Fame's is right above it and does the same job.
Fixed
- The Hall of Fame button's label sat too high. It now sits centred, like the one at the top of
the page always did.
v0.29.0 — the Hall of Fame
Added
- A Hall of Fame board on the front page. Every run that starts appears on it — how far it got,
in score and moves — with runs being played right now markedPLAYING NOW, and finished runs
ranked above the rest by move count. Nobody has finished the game yet, so the board is a list of
attempts for the moment, which is the point: it shows that people are playing. - A name of your own, asked for once, on the screen where you choose your characters. It is
optional, twelve characters, and an untouched field simply readsAnonymous. A checkbox on the
same screen keeps your run off the board entirely — untick it and nothing about your game is ever
sent anywhere. - A flag beside each name. It comes from the country the request arrives from and is never more
than that: no account, no address stored, nothing that identifies a person. A run is a name, a
country, a score, a move count, and the times it started and was last seen.
Notes
- The board is an arcade cabinet, not a record book. It cannot tell an honest run from an invented
one, and it does not pretend to — the machines it imitates could not either.
v0.28.4 — The comic finally notices when you die
Fixed
- Dying is now a moment in the comic. Zork kills you often, and the strip had never once
reacted: the frame reserved for it was going to the quit command instead, so the Hero pulled a
face when the player left the game and none at all when a troll removed his head. A death now gets
what it always should have — the killing blow, the "you have died" banner, and then a panel holding
on the Hero's face, in the room it happened in, before the game drops him somewhere else. - Winning is something you can read. The barrow's closing speech — the reward for the whole game
— was being drawn as six cramped close-ups of two people talking. The speech is now laid out to be
read, and the Hero's delighted reaction is the panel that follows it. - Quitting is no longer treated as a feeling. The strip still ends on the Hero when you quit; he
just no longer emotes about it.
Also in this release
v0.28.0–v0.28.3 were never tagged, so upgrading from v0.27.6 brings them too:
- v0.28.3 — the Hero is not, in fact, mostly annoyed
- v0.28.2 — the death frame is its own frame
- v0.28.1 — a close-up means the same thing for everyone
- v0.28.0 — choose your cast
v0.27.6 — The ending gets its own backdrop
Added
- The barrow interior is drawn. Winning the game now renders against the
barrow-interior
backdrop instead of the barrow's outside wall. The art shipped with the backdrop pass months ago
but nothing had ever referenced it — Zork I models no room inside the barrow, so there was no
room id to key it on. The winning frames are keyed on the win itself; the frame the Hero speaks
his last line from, at the door, is still the exterior.
Changed — repository preparation for the public release
docs/reorganized. A newdocs/README.mdindex says which documents are specifications,
which are working documents, and which are history; four superseded planning documents moved to
docs/archive/with a note on what replaced each.- The root README rewritten for someone arriving cold: what the project is, a sample comic
strip, a link to the live site, a status table, and how to run it locally. verification/README.mdadded — how parity is established against the original 1980s binary,
and what "143/143 strict" does and does not mean.- Licensing accuracy.
NOTICEandTHIRD_PARTY.mdnow record that Comic Chat's character art
is decoded and redistributed as the sprite sheets the browser draws, and separate it from the
room backdrops in the same folder, which are original assets. The Comic Neue font ships with its
OFL license text, as OFL-1.1 requires.
The project remains under the Apache License 2.0.
v0.27.5 — The ending reaches the comic pane
Fixed
- The ending of Zork I is now a comic. Winning the game — walking west into the Stone Barrow —
closed the comic pane on a single balloon reading "Inside the Barrow". Everything the ending is
for was dropped: the cavern, the footbridge, the sign, and the ZORK II/III sign-off. The win now
reads whole, across six panels, in its own frame with its own name box. - Winning no longer looks like dying. The one victory in the game drew a terrified Hero, because
the affect table fired its death marker on any game-over and ignored the outcome the event carries.
A win now gets its own marker — a smiling Hero, waving.
Notes
The concatenated transcript text is unchanged: Zork I parity holds at 143/143 strict. Engine 148
tests, web 335, pixel gate 24/24 clean.
v0.27.0 — The dark is dark
Added
- A pitch-black room now looks pitch black. Walk into the cellar without a lamp and the comic
panel goes black: no room drawn, no figures, just the balloons over the dark. Until now the panel
cheerfully showed you the cellar while the narration insisted you could not see a thing. Striking
the lamp is its own panel — the reveal reads as a reveal, and the room finally gets its name box.
Fixed
- Typing a command on a desktop browser no longer loses the input focus (a regression from the
mobile keyboard-dismiss fix). inventoryandlookno longer cut the Dungeon Master's balloon down to its first line.
Changed
- The comic pane's title now tells you which version you are playing — Grues in Comic v0.27.0
BETA — instead of naming the software it was built from. - Cookieless visitor analytics on the site pages. No cookies, no personal data.
v0.17.2 — Initial internal release
Initial internal release. The repository is private and pre-public — 1.0.0 is reserved for public
launch (repo goes public + website ships). This tag marks the first checkpoint worth cutting after
strong progress across the importer, engine, and comic presentation.
Major achievements so far
- AI-assisted modernization pipeline. Two historical Microsoft open-source projects (Zork I ZIL,
MS Comic Chat) modernized into a browser-native adventure engine via an Intermediate Representation —
extract semantics, execute the IR, never emulate the runtime. ZIL S-expression importer → IR schema +
validator → zero-dependency TypeScript engine. - Engine parity: 143/143 strict. The engine replays 11 golden walkthroughs turn-for-turn against
the original Release 119 transcripts with full strict parity. (Gate C — engine complete — claimed at
v0.9.0.) - The game is completable: 350/350. The engine wins Zork I end-to-end, scoring 350/350 and ending
in Stone Barrow with agame-over{victory}, zero crashes/deaths, pinned by a completion test. - Comic Chat presentation. A browser-native comic pane beside the live console: art decode/pose/pack
pipeline, backdrops, panel sequencing (a faithfulCUnitPanelPageport), character portraits, and a
Narrative Director that edits the turn stream into a past-tense story (drops refusals, collapses
backtracks, gives the Guide a voice).
This release (v0.17.2)
- Speech-balloon tails now connect to their speaker instead of ending in mid-air.
- A whole comic panel is readable without scrolling on portrait mobile — including with the on-screen
keyboard up — by capping panel height to the pane and hiding the member list where space is tight.
Tests: 113 web · ~129 engine · 193 IR · 143/143 strict transcript parity.