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>
3.3 KiB
MRPGI starter-kit art manifesto
The kit ships crude placeholder sprites so everything's visible immediately.
Replace any of them with real art and the game upgrades instantly — same
filename in sprites/, then press R in the editor. This doc is the spec for
making the real ones.
The sprite spec (always)
- PNG with transparency. Transparent pixels = see-through in game.
- Small, at game scale. The play area is 160×168 fat pixels. A prop is ~12–28 px; draw 1:1.
- EGA 16 colours. Load
palettes/mrpgi-ega.gplinto Aseprite/Inkscape. Off-palette art is auto-snapped to nearest EGA on load (so it still works, just less crisp). - Filename = id. lowercase, no spaces:
orc.png,spellbook.png. The name is what the game and objects reference. - Bottom-centre is the "feet." The sprite is drawn standing on the click point, so put the base of the thing at the bottom of the canvas.
- Fat pixels: game pixels are 2× wide. A circle drawn round looks slightly wide in game (classic AGI). Ignore it, or pre-squash horizontally if you care.
The kit sprites (replace these)
| file | size (w×h) | what | key EGA colours |
|---|---|---|---|
tree |
18×26 | leafy tree, trunk at bottom | green 2/10, brown 6 |
rock |
16×12 | mossy boulder | gray 7/8 |
orc |
14×22 | green brute, red eyes | green 2/10, red 12 |
sword |
10×26 | upright blade + hilt | light gray 7, brown 6, yellow 14 |
chest |
20×15 | banded wooden chest | brown 6, dark gray 8, yellow 14 |
torch |
8×24 | stick + flame | brown 6, red 12, yellow 14 |
potion |
10×18 | vial, red liquid, cork | cyan 11 glass, magenta 13, brown 6 |
door |
16×26 | banded wooden door + knob | brown 6, dark brown, yellow 14 |
villager |
12×22 | robed person, skin head | blue 1/9, skin (light red 12) |
spellbook |
16×12 | purple tome + rune | magenta 5/13, white 15, yellow 14 |
key |
16×8 | iron key, bow + teeth | yellow 14 |
altar |
20×16 | stone block + glow | gray 7/8, cyan 11 |
crate barrel sign |
— | already generated; same idea | brown/gray |
(Want more? Same recipe: skeleton, goblin, coin/gold, shield, bottle,
mushroom, lantern, gravestone, bookshelf, bed, well, bridge.)
How to make them
Aseprite (best):
- Palette ☰ → Load Palette →
palettes/mrpgi-ega.gpl. (Optional: Sprite → Color Mode → Indexed = pixel-perfect.) - New sprite at the size above, transparent bg. Draw the thing standing on the bottom edge.
- Export
.pngintosprites/with the matching name.Rin the editor to reload.
Inkscape: draw it, set a tiny px page (Document Properties), Export → PNG (transparent) into sprites/.
AI rough-start (Gemini/Imagen — then clean up in Aseprite):
16-colour EGA pixel-art sprite of a {THING}, about {W}×{H} pixels, transparent background, single object centred and standing on the bottom edge, bold readable silhouette, flat colours, retro 1980s Sierra adventure style, NO text, NO drop shadow, NO background.e.g. THING = "a green orc with red eyes holding a dagger", W×H = 14×22.
Image models are sloppy at tiny exact pixel art, so treat their output as a base and tidy it in Aseprite against the EGA palette. For backgrounds (whole rooms), you can also just paint them with the editor's own tools — no files needed.