Commit Graph

4 Commits

Author SHA1 Message Date
type-two
ce42d69a3a v0.5 — playtest-driven fixes + engine/UX upgrades
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>
2026-07-27 13:38:33 +10:00
m3ultra
0191b4680d v0.3 — AI parser lane + dialogue talker portraits
AI lane (ported from MRPGI): unknown typed sentences go to a local LLM (MRPCI_AI: ollama default / openrouter / off) that maps them onto already-legal commands; one in flight, polled per tick, hard-off under --script so replays stay byte-identical. Portraits: NPCs/props gain a portrait sprite drawn beside the dialogue window in the GUI (6x) and annotated frames (2x); sergeant + vend-bot faces in the demo. Also: --script + --render-room renders the frame a replay ends on. Verified: 5 test suites green, deterministic 25/25 playthrough, GUI boots.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 00:26:03 +10:00
m3ultra
e014a0c54e v0.2 — procedural fills, weather, in-core font, GPU palette/CRT shader
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>
2026-07-25 23:23:19 +10:00
m3ultra
c83c90711d MRPCI v0.1 — the SCI-generation Monster Robot Party engine
Headless core (mrpci-core) + macroquad GUI (mrpci), inheriting MRPGI's
Command/Event bus architecture and jumping a Sierra generation:

- 256-color palettes with live median-cut quantization + palette cycling
- four screens: visual / priority / control / hotspot
- A* pathfinding with LOS-verified edges and line-exact path following
- perspective scale tables (actors shrink toward the horizon)
- point-and-click verb bar AND a text parser, one shared verb pipeline
- rhai room scripts (on_enter/on_verb/on_trigger + after() tick timers)
- deterministic 30Hz cycles, seeded RNG — byte-identical script replays
- checkpoint at room entry; death rewinds instead of restarting
- save-anywhere slots; multi-voice chip synth; JSONL/HTTP/MCP surfaces
- demo game: Neon Precinct (3 rooms, 25 points, one merciful fusebox)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 22:52:39 +10:00