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>
15 lines
3.7 KiB
JSON
15 lines
3.7 KiB
JSON
[
|
|
{ "name": "goblin", "sprite": "goblin", "x": 70, "y": 122, "look": "A goblin counting a fistful of stolen teeth. Yours look appealing to it.", "takeable": false, "synonyms": "gobbo imp creature", "use_text": "You shoo the goblin. It hisses and pockets a tooth that definitely wasn't there a second ago.", "needs": "", "wins": false },
|
|
{ "name": "slime", "sprite": "slime", "x": 90, "y": 130, "look": "A quivering green slime. It has eaten a boot. The boot looks resigned.", "takeable": false, "synonyms": "ooze blob jelly", "use_text": "You prod the slime. It jiggles, deeply insulted.", "needs": "", "wins": false },
|
|
{ "name": "bat", "sprite": "bat", "x": 50, "y": 50, "look": "A leathery bat hangs in the dark, judging your life choices upside-down.", "takeable": false, "synonyms": "flyer wing", "use_text": "You wave at the bat. It screeches a review of your performance.", "needs": "", "wins": false },
|
|
{ "name": "spider", "sprite": "spider", "x": 120, "y": 120, "look": "A spider the size of a dinner plate. It waves three legs. Friendly? Unclear.", "takeable": false, "synonyms": "arachnid web crawler", "use_text": "You and the spider make eye contact. All eight rounds of it.", "needs": "", "wins": false },
|
|
{ "name": "skeleton", "sprite": "skeleton", "x": 60, "y": 124, "look": "A skeleton, politely reassembling itself after an undignified fall.", "takeable": false, "synonyms": "bones undead skelly", "use_text": "You greet the skeleton. It rattles what is almost certainly a laugh.", "needs": "", "wins": false },
|
|
{ "name": "zombie", "sprite": "zombie", "x": 110, "y": 126, "look": "A zombie shuffling a slow, committed circle. You have to respect the dedication.", "takeable": false, "synonyms": "undead walker corpse", "use_text": "You step aside. The zombie continues its circle, unbothered, eternal.", "needs": "", "wins": false },
|
|
{ "name": "troll", "sprite": "troll", "x": 80, "y": 116, "look": "A troll under the bridge, doing a crossword. 'Riddle me later,' it grunts.", "takeable": false, "synonyms": "ogre brute giant", "use_text": "You offer the troll a four-letter word for 'doom'. It nods, grateful.", "needs": "", "wins": false },
|
|
{ "name": "ghost", "sprite": "ghost", "x": 40, "y": 110, "look": "A translucent ghost caught mid-moan. It pauses, embarrassed you noticed.", "takeable": false, "synonyms": "spirit phantom wraith spook", "use_text": "You walk through the ghost. You both apologise.", "needs": "", "wins": false },
|
|
{ "name": "dragon", "sprite": "dragon", "x": 90, "y": 120, "look": "A small dragon, fiercely guarding a hoard of one (1) very nice spoon.", "takeable": false, "synonyms": "wyrm drake lizard", "use_text": "You brandish the sword. The dragon sighs theatrically and surrenders the spoon.", "needs": "sword", "wins": false },
|
|
{ "name": "eyeball", "sprite": "eyeball", "x": 80, "y": 60, "look": "A floating eyeball. It blinks. You blink. It wins.", "takeable": false, "synonyms": "eye watcher orb", "use_text": "You stare back. The eyeball waters first, but does not look away.", "needs": "", "wins": false },
|
|
{ "name": "wolf", "sprite": "wolf", "x": 55, "y": 128, "look": "A grey wolf, ears flat, deciding if you're friend, food, or furniture.", "takeable": false, "synonyms": "dog beast hound", "use_text": "You hold out a hand. The wolf sniffs it and recategorises you as 'furniture'.", "needs": "", "wins": false },
|
|
{ "name": "mimic", "sprite": "chest", "x": 120, "y": 135, "look": "A perfectly ordinary chest. Definitely. It has teeth marks. On the inside.", "takeable": false, "synonyms": "chest box trap treasure", "use_text": "You open the 'chest'. It opens back, wider, with intent. You reconsider every choice that led here.", "needs": "", "wins": false }
|
|
]
|