MRPGI/kit/locations/forest.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

164 lines
2.7 KiB
JSON

{
"strokes": [
{
"Rect": {
"x": 0,
"y": 0,
"w": 160,
"h": 168,
"color": 2,
"meaning": "None"
}
},
{
"Rect": {
"x": 6,
"y": 16,
"w": 148,
"h": 146,
"color": 10,
"meaning": "Floor"
}
},
{
"Rect": {
"x": 0,
"y": 0,
"w": 160,
"h": 16,
"color": 6,
"meaning": "Wall"
}
},
{
"Rect": {
"x": 0,
"y": 160,
"w": 65,
"h": 8,
"color": 6,
"meaning": "Wall"
}
},
{
"Rect": {
"x": 95,
"y": 160,
"w": 65,
"h": 8,
"color": 6,
"meaning": "Wall"
}
},
{
"Rect": {
"x": 0,
"y": 0,
"w": 6,
"h": 168,
"color": 6,
"meaning": "Wall"
}
},
{
"Rect": {
"x": 154,
"y": 0,
"w": 6,
"h": 70,
"color": 6,
"meaning": "Wall"
}
},
{
"Rect": {
"x": 154,
"y": 100,
"w": 6,
"h": 68,
"color": 6,
"meaning": "Wall"
}
},
{
"Rect": {
"x": 30,
"y": 120,
"w": 18,
"h": 8,
"color": 2,
"meaning": "None"
}
},
{
"Rect": {
"x": 100,
"y": 60,
"w": 22,
"h": 8,
"color": 2,
"meaning": "None"
}
}
],
"spawn": [
24,
130
],
"exits": [
null,
1,
3,
null
],
"objects": [
{
"name": "tree",
"sprite": "tree",
"x": 44,
"y": 70,
"look": "An ancient tree, bark like old leather.",
"takeable": false,
"synonyms": "oak trunk wood",
"use_text": "",
"needs": "",
"wins": false
},
{
"name": "sword",
"sprite": "sword",
"x": 80,
"y": 132,
"look": "A notched iron sword someone left in the grass. Finders keepers.",
"takeable": true,
"synonyms": "blade weapon",
"use_text": "",
"needs": "",
"wins": false
},
{
"name": "rock",
"sprite": "rock",
"x": 120,
"y": 134,
"look": "A mossy boulder, smug and immovable.",
"takeable": false,
"synonyms": "boulder stone",
"use_text": "",
"needs": "",
"wins": false
},
{
"name": "sign",
"sprite": "sign",
"x": 80,
"y": 44,
"look": "A signpost: CAVE east, INN south.",
"takeable": false,
"synonyms": "notice post",
"use_text": "",
"needs": "",
"wins": false
}
]
}