MRPGI/kit/themes/horror/locations/crypt.json
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

22 lines
2.1 KiB
JSON

{
"strokes": [
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 168, "color": 0, "meaning": "None" } },
{ "Rect": { "x": 6, "y": 16, "w": 148, "h": 146, "color": 8, "meaning": "Floor" } },
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 16, "color": 0, "meaning": "Wall" } },
{ "Rect": { "x": 0, "y": 160, "w": 160, "h": 8, "color": 0, "meaning": "Wall" } },
{ "Rect": { "x": 0, "y": 0, "w": 6, "h": 168, "color": 0, "meaning": "Wall" } },
{ "Rect": { "x": 154, "y": 0, "w": 6, "h": 168, "color": 0, "meaning": "Wall" } },
{ "Rect": { "x": 24, "y": 60, "w": 12, "h": 18, "color": 8, "meaning": "None" } },
{ "Rect": { "x": 126, "y": 60, "w": 12, "h": 18, "color": 8, "meaning": "None" } },
{ "Rect": { "x": 70, "y": 40, "w": 20, "h": 6, "color": 5, "meaning": "None" } }
],
"spawn": [80, 150],
"exits": [null, null, null, null],
"objects": [
{ "name": "coffin", "sprite": "coffin", "x": 70, "y": 120, "look": "A stone coffin in the centre of the crypt, lid ajar. You did not leave it ajar.", "takeable": false, "synonyms": "casket tomb", "use_text": "You lift the lid. Empty — but a skull rolls out and stops, facing you.", "needs": "", "wins": false },
{ "name": "candle", "sprite": "candle", "x": 40, "y": 130, "look": "A black candle, burning with a flame that gives heat but somehow no comfort.", "takeable": true, "synonyms": "light flame", "use_text": "You take the candle. The crypt's shadows shuffle a polite step back.", "needs": "", "wins": false },
{ "name": "skull", "sprite": "skull", "x": 110, "y": 134, "look": "A yellowed skull on a plinth, grinning like it knows the way out.", "takeable": true, "synonyms": "head bone", "use_text": "You take the skull. It feels expectant, like it's been waiting to be useful.", "needs": "", "wins": false },
{ "name": "crypt door", "sprite": "door", "x": 80, "y": 116, "look": "The crypt door, sealed, with a skull-shaped recess at eye height.", "takeable": false, "synonyms": "door gate stone exit", "use_text": "You set the skull into the recess. Stone grinds, the door opens, grey dawn pours in. You escape. THE END.", "needs": "skull", "wins": true }
]
}