diff --git a/projects/kissaten_yugure/docs/ART.md b/projects/kissaten_yugure/docs/ART.md index 7d92560..dbc6187 100644 --- a/projects/kissaten_yugure/docs/ART.md +++ b/projects/kissaten_yugure/docs/ART.md @@ -86,13 +86,28 @@ Character notes in `SCRIPT.md` §1. Written as a girl there; that's one word to change if you'd rather — the dialogue beats themselves use no gendered pronouns. -**Common style stem** — prepend to all three: +### Portrait palette block — paste into every portrait prompt + +Portraits never show sky, so the four sky slots are simply absent from the +list. That is safer than asking the generator to avoid them. + +``` +Use only these 11 colours and no others: +#242424 #492424 #924924 #B66D49 #FFB649 #FFDB92 #6D4949 #6D2400 +#496DB6 #FFB692 #FFFFDB +Skin: #FFDB92 highlight, #FFB692 base, #B66D49 shadow, #924924 deep shadow. +Hair and outlines: #242424 or #492424. +Eye whites and highlights: #FFFFDB. +Fill the entire background behind the head with flat #492424. +Do not use pure black #000000 anywhere. +``` + +**Common style stem** — prepend to all three, then append the palette block: > 48x48 pixel art portrait, 1987 Japanese anime style as drawn for MSX2 or > PC-88 games, head and shoulders, three-quarter view, hard-edged pixels, no -> anti-aliasing, limited 16 colour palette of warm browns oranges and creams, -> flat cel shading, dark navy school uniform, simple readable silhouette, -> plain dark background +> anti-aliasing, flat cel shading, simple readable silhouette, flat single +> colour background **Aki — neutral** > ...17 year old Japanese high school student, straight dark bob-length hair, @@ -112,7 +127,11 @@ pronouns. ## 4. Prompts — the rest of the cast (M8, not urgent) -Same style stem, swapping the uniform line. +Same style stem and the **same portrait palette block from §3**, swapping the +clothing line. Note the clothing colours available are only `#496DB6` (blue), +`#6D4949` (muted brown-grey), `#6D2400` (dark red-brown), `#492424` and +`#242424` — so give each character a distinct one or they'll blur together in +the dialogue box. **Ōta-san** — retired stationmaster, ~70, black coffee, punctual. > elderly Japanese man in his seventies, close-cropped grey hair, deeply @@ -158,10 +177,38 @@ Composition is fixed by the code — see `DESIGN.md` §4 and `DrawScene()`: > violet and amber dusk sky, wooden door on the right, hanging lamp with warm > glow above the counter, wood panelling, shelves with glassware, cosy and > quiet, 1987 MSX2 game art, hard-edged pixels, no anti-aliasing, flat cel -> shading, warm brown and orange interior with the sky in violet and amber +> shading -**The sky through that window must use only slots 8–11.** Everything else in -the room must avoid them. That's the whole seasonal system riding on one rule. +### Background palette block — this one is split by region + +Unlike the portraits, the background needs all 15 colours — but **which +colours may appear is decided by where you are in the image**. This is the +constraint that makes seasons free, and it is the easiest one to get wrong. + +``` +Use only these 15 colours and no others. + +For the sky visible through the window, use ONLY these four: +#492492 #9249B6 #DB6D6D #FF9249 + +For everything else — walls, floor, counter, door, window frame, lamp, +shelves, glassware, every object in the room — use ONLY these eleven: +#242424 #492424 #924924 #B66D49 #FFB649 #FFDB92 #6D4949 #6D2400 +#496DB6 #FFB692 #FFFFDB + +The four sky colours must appear nowhere except inside the window opening. +The window frame, mullions and sill are wood and use the interior colours. +Do not use pure black #000000 anywhere. +Leave the top 16 rows and the bottom 64 rows flat #242424 — the game draws +its own status bar and dialogue box over them. +``` + +**Why this one rule matters more than the rest of this document:** each season +and hour of day is a 32-byte palette swap on the same bitmap. Repaint slots +8–11 and the sky goes from dusk to noon to rain for free. But if a chair leg +or a coffee cup is painted in `#9249B6`, that chair leg changes colour every +time the sun moves — and you won't find out until M7, long after the art is +finished. --- @@ -172,5 +219,11 @@ is the same silhouette dilated by one pixel, drawn behind. Sprite mode 2, so each layer is a single colour — these are shapes, not shaded art. Current placeholders are in `kissaten.c` as `g_SprCustFill` / `g_SprCustLine`. +**Palette does not apply here in the usual sense.** These are hardware +sprites, not bitmap art: each layer is one flat colour chosen at runtime by +the code, so the image only needs to define *shape*. Draw them as pure +black-on-white silhouettes and I'll assign colours — currently `#496DB6` for +the fill layer and `#242424` for the outline, per customer. + Worth doing by hand rather than generating; a 16×16 single-colour silhouette is faster to draw than to prompt for.