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

54 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 Palette*`palettes/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.