MRPGI/kit/README.md
type-two d0caf983a0 Initial commit: MRPGI — Apple-Silicon AGI adventure engine
A new-school reimagining of Sierra's 1980s AGI interpreter in Rust + macroquad:

- Dual-buffer (visual + priority) room model with hand-painted walkability
- In-engine room editor: brush/line/rect/fill/pick/erase/oval/image/spawn/object tools
- Sprite pipeline (PNG -> EGA quantize), multi-room worlds with edge exits
- Objects with look/use/needs/keys/win conditions (no code)
- Forgiving text parser + optional local-LLM lane (Ollama / OpenRouter)
- Branching NPC dialogue trees, chiptune SFX, per-room ambient music
- Content kit: 61 archetypes across fantasy/scifi/monsters/saucy/horror
- Full docs: README, EDITOR_GUIDE, MANUAL, art manifesto + Gemini prompts

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 17:26:55 +10:00

2.1 KiB

MRPGI fantasy starter kit

Drop-in building blocks for fantasy games. Regenerate any time with:

cargo run -- --kit

That writes placeholder sprites into sprites/, this kit into kit/, and installs a playable 4-room fantasy world into rooms/ (your existing rooms are backed up to *.json.bak first).

What's here

  • objects.json — a catalog of object archetypes (sword, spellbook, orc, key, chest, door, altar, potion, torch, villager, tree, rock, sign). Each is a ready-made object with name / look text / use text / needs / wins / synonyms already written.
  • locations/*.json — prefab rooms: forest, cave, dungeon, inn. Each is a complete, valid room (painted scenery + objects + spawn + exits).
  • ART_MANIFESTO.md — exact specs to replace the crude placeholder sprites with real art.

How to drop a location into your game

Rooms live at rooms/room0.json, room1.json, … (room 0 is where you start).

cp kit/locations/forest.json rooms/room4.json

Then launch, press > in the top strip to walk to room 4, and edit away. (Re-wire its exits on the top strip so it connects to your other rooms.)

How to drop an object into a room

Open kit/objects.json, copy one object block, and paste it into the objects: [ … ] array of any rooms/roomN.json (adjust its x/y). Or just place a sprite with the object tool (0) in the editor and copy the look/use/needs text from the catalog into its fields.

The built-in fantasy quest (what --kit installs)

  1. Forest — grab the sword. Paths: cave (east), inn (south).
  2. Cave — an orc, a chest (needs a key), and the spellbook on a ledge.
  3. Dungeon (north of cave) — an altar. use altar with the spellbook → win.
  4. Inn (south of forest) — the villager, a potion, and the key (for the chest).

Solution: forest → inn (get key) → forest → cave (get spellbook; key opens the chest for gold) → dungeon → use altar. Win. Try natural language too — pry the chest open, read the spellbook, bonk the orc.