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.1 KiB
JSON
22 lines
2.1 KiB
JSON
{
|
|
"strokes": [
|
|
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 168, "color": 5, "meaning": "None" } },
|
|
{ "Rect": { "x": 6, "y": 16, "w": 148, "h": 146, "color": 4, "meaning": "Floor" } },
|
|
{ "Rect": { "x": 0, "y": 0, "w": 160, "h": 16, "color": 5, "meaning": "Wall" } },
|
|
{ "Rect": { "x": 0, "y": 160, "w": 160, "h": 8, "color": 5, "meaning": "Wall" } },
|
|
{ "Rect": { "x": 0, "y": 0, "w": 6, "h": 168, "color": 5, "meaning": "Wall" } },
|
|
{ "Rect": { "x": 154, "y": 0, "w": 6, "h": 168, "color": 5, "meaning": "Wall" } },
|
|
{ "Rect": { "x": 30, "y": 130, "w": 100, "h": 30, "color": 12, "meaning": "None" } },
|
|
{ "Rect": { "x": 20, "y": 22, "w": 8, "h": 8, "color": 14, "meaning": "None" } },
|
|
{ "Rect": { "x": 132, "y": 22, "w": 8, "h": 8, "color": 14, "meaning": "None" } }
|
|
],
|
|
"spawn": [80, 150],
|
|
"exits": [null, null, null, null],
|
|
"objects": [
|
|
{ "name": "bouncer", "sprite": "bouncer", "x": 80, "y": 116, "look": "The bouncer guards a velvet-roped staircase, manicure immaculate, heart of gold.", "takeable": false, "synonyms": "guard doorman", "use_text": "'List or letter, sugar,' the bouncer rumbles, almost gently.", "needs": "", "wins": false },
|
|
{ "name": "letter", "sprite": "letter", "x": 40, "y": 140, "look": "A love letter, abandoned on the bar: 'meet me upstairs ;)'. Finders, flirters.", "takeable": true, "synonyms": "note card invite", "use_text": "You pocket the letter and try out a confident eyebrow.", "needs": "", "wins": false },
|
|
{ "name": "jukebox", "sprite": "jukebox", "x": 120, "y": 130, "look": "A jukebox glowing like a sunset, loaded entirely with slow numbers.", "takeable": false, "synonyms": "music machine", "use_text": "The jukebox starts something smoky. The whole lounge leans in.", "needs": "", "wins": false },
|
|
{ "name": "velvet door", "sprite": "door", "x": 112, "y": 118, "look": "The MEMBERS ONLY door at the top of the stairs. The real party is up there.", "takeable": false, "synonyms": "door rope vip upstairs", "use_text": "You show the bouncer the letter. The rope drops. 'Have fun, sugar.' THE END.", "needs": "letter", "wins": true }
|
|
]
|
|
}
|