Bugs found by playing the game over the bus: - hotspots now have positions: 'walk to precinct door' pathfinds there, and touch verbs walk over to hotspots like they do to props/NPCs - GameState::settle(): the MCP surface resolves walk-then-act in one call instead of returning zero events on a distant verb - typed 'use X on Y' walks over like a clicked use (was unlimited range) - taking/deleting a solid prop rebakes — no more lingering invisible walls - sergeant dialogue no longer loops back to its greeting - serde-facing maps are BTreeMap: room JSON and --sample are byte-stable Engine: - sprite-sheet actor views: <name>-sheet<C>x<R>.png slices into C frames x R direction loops (vend-bot now rolls on animated treads) - pixel-accurate click targeting with 1px slop; typed commands click mid-sprite (a feet click lands between an actor's legs) - parser: compass walking (go east / n), 'bye' ends conversations, 'look' lists exits GUI: - hover hot-text: cursor reads the sentence a click would say - death banner + '+N' score toast Tests: full-playthrough regression suite (win path, death rewind, walk-over dialogue, solid-prop footprint) + sheet slicing unit test. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
15 lines
505 B
JSON
15 lines
505 B
JSON
{
|
|
"name": "Neon Precinct",
|
|
"start_room": 0,
|
|
"intro_text": "Rain on chrome. You are Officer Morp-9, and somewhere in this city a case is getting colder. (Right-click cycles verbs. Or just type.)",
|
|
"verbs": {},
|
|
"flags": {},
|
|
"max_score": 25,
|
|
"ego_sprite": "",
|
|
"defaults": {
|
|
"do": "Your servos find no purchase on that.",
|
|
"listen": "The city hums in B-flat.",
|
|
"look": "Rain-slick chrome and old neon. Nothing more.",
|
|
"smell": "Ozone, rain, and yesterday's synth-noodles."
|
|
}
|
|
} |