Adaptations from the software-rendering playbook, at MRPCI's level of the stack: - pic.rs: fBm noise fill, jittered Voronoi fill (with mortar edges) and scatter — seeded, deterministic, Bayer-dithered through palette ramps - particles.rs: rain/snow/embers layer on its own RNG stream; RoomDoc gains `weather`; visuals can never perturb gameplay replays - font.rs: built-in 5x7 font stamped in index space; headless frames are now annotated (room chip, score, dialogue windows, transcript strip) so MCP render_frame shows what a player actually reads (--raw to skip) - render.rs: compose split into index-space compositing + palette blit; effective_palette() exports the cycle-LUT-applied strip - GUI: frame ships to the GPU as indices + a 256x1 palette texture; a fragment shader does the lookup plus CRT curvature/scanlines/vignette and room-change fades - Neon Precinct: fBm night sky + stars, Voronoi sidewalk & wet cobbles, fBm asphalt, rain in Neon Row and Rain Alley Verified: replay determinism (byte-identical events x2), 25/25 win path, GUI boots with the shader. 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": {
|
|
"smell": "Ozone, rain, and yesterday's synth-noodles.",
|
|
"listen": "The city hums in B-flat.",
|
|
"look": "Rain-slick chrome and old neon. Nothing more.",
|
|
"do": "Your servos find no purchase on that."
|
|
}
|
|
} |