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>
22 lines
2.0 KiB
JSON
22 lines
2.0 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": 30, "y": 70, "w": 12, "h": 5, "color": 7, "meaning": "None" } },
|
|
{ "Rect": { "x": 120, "y": 90, "w": 14, "h": 5, "color": 7, "meaning": "None" } },
|
|
{ "Rect": { "x": 70, "y": 140, "w": 16, "h": 4, "color": 15, "meaning": "None" } }
|
|
],
|
|
"spawn": [80, 138],
|
|
"exits": [null, null, null, null],
|
|
"objects": [
|
|
{ "name": "goblin", "sprite": "goblin", "x": 60, "y": 120, "look": "A goblin guarding the den entrance, sharpening a spoon into a worse spoon.", "takeable": false, "synonyms": "gobbo imp", "use_text": "The goblin bares its teeth, which are also mostly spoons.", "needs": "", "wins": false },
|
|
{ "name": "slime", "sprite": "slime", "x": 110, "y": 130, "look": "A slime oozing across old bones. It has all the time in the world.", "takeable": false, "synonyms": "ooze blob", "use_text": "You poke the slime. It eats the stick you didn't know you were holding.", "needs": "", "wins": false },
|
|
{ "name": "skeleton", "sprite": "skeleton", "x": 90, "y": 124, "look": "A skeleton lounging on a throne of femurs. It points lazily at a chest.", "takeable": false, "synonyms": "bones undead", "use_text": "The skeleton gestures grandly at the chest. Too grandly.", "needs": "", "wins": false },
|
|
{ "name": "chest", "sprite": "chest", "x": 120, "y": 140, "look": "A treasure chest in a monster den. Suspiciously well-kept. It has teeth marks. Inside.", "takeable": false, "synonyms": "box mimic trap treasure", "use_text": "You open the chest. It opens back. The skeleton applauds.", "needs": "", "wins": false }
|
|
]
|
|
}
|