Grandma Game — style guide
One cozy look across every scene, item and character: warm, hand-crafted pixel art, soft light, a limited palette. This is the single source of truth the art pipeline prompts against (asset-pipeline/config/style-contract.pixel.txt).
Core palette
Warm, limited, home-and-family. Every asset is built from these; worlds only layer an accent on top.
Per-world accents
The warm base stays underneath; each world tints toward its own memory.
Type
Cheryl
Display / titles
Georgia serif — warm, storybook. Used for scene title banners and popup headings.
Walk up to collect
UI / body
system-ui — clean, legible on the iPad. Buttons, labels, item descriptions.
item-uk-owl
Debug / asset ids
monospace — placeholder labels only, never shipped in-game.
Pixel-art textures carry no baked-in text (the no-text rule) — all words are drawn by the engine so they stay crisp and translatable.
Style rules
- Medium: chunky 16/32-bit pixel art — deliberate, clearly-visible square pixels, crisp edges, NO anti-aliasing or blur. SNES / Stardew-adjacent warmth. Not painterly, not 3D, not vector, not anime.
- Camera: three-quarter top-down. We look down at the floor (the big surface); walls sit as a shallow band along the top. Everything upright, seen slightly from above, in every asset.
- Light: soft warm key from the upper-left as chunky highlight bands; shadows step toward warm brown/plum (never a flat grey). A cozy overall glow.
- Color: limited hand-picked warm palette with hue-shifted dithering for gradients. Shadows warm, not desaturated.
- Characters: gently stylized but READABLE faces — recognizable at a glance. Eyes open with visible pupils, warm expressions. Adults read adult, kids read kid (bigger head ratio, shorter).
- Tone: gentle, heartfelt, nostalgic, lightly playful. Never grim, sterile or scary.
Sizing
- Backgrounds: full 1200×800 (3:2), opaque.
- Adults (Cheryl, Grandpa) share one height; kids ~75% of an adult; dogs small and low.
- Item icons: chroma-keyed props, ~44–68px in the scene.