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>
25 lines
2.3 KiB
JSON
25 lines
2.3 KiB
JSON
{
|
|
"strokes": [
|
|
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 168, "color": 1, "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": 36, "y": 22, "w": 88, "h": 14, "color": 9, "meaning": "None" } },
|
|
{ "Rect": { "x": 20, "y": 44, "w": 40, "h": 8, "color": 11, "meaning": "None" } },
|
|
{ "Rect": { "x": 100, "y": 44, "w": 40, "h": 8, "color": 11, "meaning": "None" } },
|
|
{ "Rect": { "x": 50, "y": 26, "w": 1, "h": 1, "color": 15, "meaning": "None" } },
|
|
{ "Rect": { "x": 78, "y": 30, "w": 1, "h": 1, "color": 15, "meaning": "None" } },
|
|
{ "Rect": { "x": 104, "y": 25, "w": 1, "h": 1, "color": 15, "meaning": "None" } }
|
|
],
|
|
"spawn": [80, 140],
|
|
"exits": [null, null, null, null],
|
|
"objects": [
|
|
{ "name": "viewscreen", "sprite": "terminal", "x": 80, "y": 40, "look": "The main viewscreen: a long, patient field of stars and one blinking red dot getting closer.", "takeable": false, "synonyms": "screen window stars", "use_text": "", "needs": "", "wins": false },
|
|
{ "name": "console", "sprite": "console", "x": 36, "y": 100, "look": "The helm console. Most of it is asking you to confirm something you'd rather not.", "takeable": false, "synonyms": "helm computer controls", "use_text": "You badge in and the deck unlocks with a chorus of clunks.", "needs": "keycard", "wins": false },
|
|
{ "name": "alien", "sprite": "alien", "x": 110, "y": 118, "look": "An alien sits in the captain's chair, sipping something through a straw it definitely brought itself.", "takeable": false, "synonyms": "creature xeno captain", "use_text": "The alien gestures at the empty co-pilot seat. An offer? A threat? Both?", "needs": "", "wins": false },
|
|
{ "name": "datapad", "sprite": "datapad", "x": 60, "y": 134, "look": "A datapad on the floor, screen cracked, log still scrolling: ...DO NOT OPEN THE CARGO BAY...", "takeable": true, "synonyms": "pad tablet log", "use_text": "", "needs": "", "wins": false }
|
|
]
|
|
}
|