Fourteen EGA screens for MRPGI: nano banana backgrounds squeezed into the engine's 160x168 double-wide-pixel frame, hand-pixelled item sprites, the full RSD flag chain (poster frenzy -> yard door secret -> roof -> side door -> clerk favours -> back-room seam -> payment -> notice -> BeckyWall dispersal), the five-word true ending, and two scripted test paths (golden win + gate locks), both green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
48 lines
2.1 KiB
Markdown
48 lines
2.1 KiB
Markdown
# MORPQUEST: Record Store Day
|
||
|
||
A Sierra-AGI-style graphical adventure for the [MRPGI engine](https://monsterrobot.games/engine/manual.html),
|
||
adapted from the **Beyond Morp** text adventure. Fourteen EGA screens, one day,
|
||
five words, one white label.
|
||
|
||
> Record Store Day. You're meant to be doing a quick cat-food run; Uncle's list
|
||
> is in the glovebox, and the cat can smell weakness. Something is wrong at the
|
||
> shop today. Morp itself can feel it.
|
||
|
||

|
||
|
||
## Play it
|
||
|
||
From the MRPGI repo:
|
||
|
||
```sh
|
||
cargo run -p mrpgi --release -- --game /path/to/morpquest # the GUI
|
||
mrpgi-headless --game /path/to/morpquest # JSONL repl
|
||
mrpgi-headless --serve 127.0.0.1:7777 --game /path/to/morpquest # HTTP + frame.png
|
||
```
|
||
|
||
Arrows (or click) walk. Verbs: `look take use talk drop inventory help`, plus
|
||
`climb wipe play pay post give fix …` — the parser is generous. The BeckyWall
|
||
will not move for you. Documents move it. There is a true ending; the walls of
|
||
the toilet know the shape of it.
|
||
|
||
## What's here
|
||
|
||
- `game.json`, `rooms/room0..13.json` — the whole game: art stamps, walkability,
|
||
objects, flags, dialogue. Hand-authored, engine-validated, fully winnable
|
||
(see `tools/playtest.jsonl` — the scripted golden path — and
|
||
`tools/gatetest.jsonl` — proof the locks lock).
|
||
- `sprites/` — 14 backgrounds + 6 NPCs generated with nano banana
|
||
(`google/gemini-3.1-flash-image` via OpenRouter), squeezed to the engine's
|
||
160×168 double-wide-pixel frame and EGA-quantized by the engine on load;
|
||
tiny item sprites are hand-placed pixels (`tools/gen_items.py`).
|
||
- `tools/gen_art.py` + `tools/art_manifest.py` — the whole art pipeline,
|
||
re-runnable (deletes nothing, regenerates only what's missing; `-f` forces).
|
||
- `art/raw/` — original generations, kept for archaeology.
|
||
- `DESIGN.md` — the map, the flag chains, the voice rules.
|
||
|
||
## Provenance
|
||
|
||
Story, puzzles, characters, and most of the best lines are adapted from the
|
||
Beyond Morp design corpus (RSD storyline). The tone bible rule that matters:
|
||
Morp is not cruel; Morp is accurate.
|