MRPGI/kit/ART_MANIFESTO.md
type-two d0caf983a0 Initial commit: MRPGI — Apple-Silicon AGI adventure engine
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>
2026-06-17 17:26:55 +10:00

3.3 KiB
Raw Blame History

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 ~1228 px; draw 1:1.
  • EGA 16 colours. Load palettes/mrpgi-ega.gpl into 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):

  1. Palette ☰ → Load Palettepalettes/mrpgi-ega.gpl. (Optional: Sprite → Color Mode → Indexed = pixel-perfect.)
  2. New sprite at the size above, transparent bg. Draw the thing standing on the bottom edge.
  3. Export .png into sprites/ with the matching name. R in 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.