Skip to content

meltdown: co-op reactor game (with leaderboard + DC-save)#65

Closed
BCook98 wants to merge 4 commits into
mainfrom
bcook/meltdown
Closed

meltdown: co-op reactor game (with leaderboard + DC-save)#65
BCook98 wants to merge 4 commits into
mainfrom
bcook/meltdown

Conversation

@BCook98

@BCook98 BCook98 commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

What

The in-flight meltdown co-op reactor game, including its leaderboard integration done as part of the leaderboard-coverage effort (kept on this branch rather than the main effort branch since the game isn't merged yet).

Draft — blocked on kit v2.11.0 (shellcade/kit#40). The leaderboard commit adopts kit.ScoreKeeper; go.mod bump + go mod tidy follow once kit tags.

Leaderboard commit

meltdown previously only wrote survival time to KV on OnClose — nothing reached the board, and a host crash before close lost the run. Now it:

  • posts survival live as it advances (ScoreKeeper, OnImprove),
  • flushes all crew periodically on a 10s game-clock interval (abandoned-but-ticking reactor keeps recording),
  • posts the leaver's survival with StatusDNF on disconnect.

Test

meltdown_leaderboard_test.go: live post, on-leave DNF, periodic flush (each verified failing first). go test ./... + go build ./... green.

🤖 Generated with Claude Code

BCook98 and others added 4 commits June 11, 2026 18:41
A co-op reactor-room panic on the 80x24 terminal: the whole screen is a
failing reactor ship — rooms and corridors in box characters around a
glowing core whose pulse and colour are the shared health bar. Crew run
the bays fixing faults that erupt at stations and worsen if neglected:
LEAK (mash space), FIRE (hold space, regrows if released), JAMMED VALVE
(type a shown key sequence), and a two-person BREACH that only spawns
with a crew of 2+. Unfixed faults drain the core; faults spawn faster
and faster, so the run always ends. Score = survival time in seconds.

Solo is first-class: same loop, fault cadence scaled to one engineer, no
two-person faults. Crew scaling is sub-linear (sqrt of crew size) so a
bigger crew is an easier shift — recruiting friends is the incentive.

Built on shellcade/kit v2.9.0, character-aware (CtxFeatCharacter), with a
HigherBetter/BestResult survival-seconds leaderboard.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Adopt kit.ScoreKeeper(OnImprove): record each boarded crew member's
shared survival seconds live in OnWake, re-post all tracked crew on a
throttled 10s game-clock interval (FlushAll), and post the leaving
member's survival as StatusDNF in OnLeave (FlushLeave). The existing
OnClose->recordResults KV persistence is unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
meltdown adopts kit.ScoreKeeper (v2.11.0). Bump go.mod + the validate/publish
KIT_VERSION so CI exercises the kit features it uses. Green once the
shellcade-kit v2.11.0 binary is published.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…meltdown

# Conflicts:
#	.github/workflows/publish.yml
#	.github/workflows/validate.yml
@github-actions

Copy link
Copy Markdown

Smoke screens

Deterministic scripted screens for d26cd27f7e1c09755cff4c20d833332b941fe99e (what is this?)

games/bcook/meltdown — 10 screens

01-reactor.seat0
01-reactor.seat0

01-reactor.seat1
01-reactor.seat1

02-first-faults.seat0
02-first-faults.seat0

02-first-faults.seat1
02-first-faults.seat1

03-many-faults.seat0
03-many-faults.seat0

03-many-faults.seat1
03-many-faults.seat1

04-alarm.seat0
04-alarm.seat0

04-alarm.seat1
04-alarm.seat1

05-meltdown.seat0
05-meltdown.seat0

05-meltdown.seat1
05-meltdown.seat1

@BCook98 BCook98 closed this Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant