Sprite Specificaties
Technische specificaties voor alle game sprites.
Algemene Richtlijnen
┌─────────────────────────────────────────────────────────────────┐
│ Sprite Standards │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Format: PNG (transparant) │
│ Color Depth: 32-bit RGBA │
│ Compression: Lossless │
│ Resolution: Base at 1x, provide 2x for retina │
│ Pivot: Center-bottom voor karakters │
│ Naming: lowercase_with_underscores │
│ │
│ Power of 2: │
│ Sprites hoeven NIET power of 2 te zijn. │
│ Godot handelt dit automatisch af. │
│ │
└─────────────────────────────────────────────────────────────────┘
Karakter Sprites
Milena (Hoofdpersonage)
┌─────────────────────────────────────────────────────────────────┐
│ Milena Sprite Sheet │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Base Size: 256 x 256 px │
│ Poses Required: │
│ ├── idle_front │
│ ├── idle_back │
│ ├── idle_side (flip voor links) │
│ ├── walk_front (4 frames) │
│ ├── walk_back (4 frames) │
│ ├── walk_side (4 frames) │
│ ├── action_plant │
│ ├── action_harvest │
│ ├── action_water │
│ ├── action_pet (aaien) │
│ ├── emote_happy │
│ ├── emote_sad │
│ ├── emote_surprised │
│ └── emote_wave │
│ │
│ Customization Layers: │
│ ├── body_base │
│ ├── hair_{style}_{color} │
│ ├── eyes_{style}_{color} │
│ ├── outfit_{name} │
│ └── accessory_{name} │
│ │
└─────────────────────────────────────────────────────────────────┘
Customization Opties
const HAIR_STYLES = ["short", "long", "ponytail", "braids", "curly"]
const HAIR_COLORS = ["brown", "blonde", "black", "red", "pink", "blue"]
const EYE_COLORS = ["brown", "blue", "green", "hazel", "purple"]
const SKIN_TONES = ["light", "medium", "tan", "dark"]
# Sprite paths
# res://assets/characters/milena/hair/hair_{style}_{color}.png
# res://assets/characters/milena/eyes/eyes_{color}.png
# res://assets/characters/milena/outfits/{outfit_name}.png
NPCs
| NPC | Size | Poses | Notes |
|---|---|---|---|
| Oma Wilma | 256x256 | idle, talk, happy | Altijd binnen |
| Buurman | 256x256 | idle, talk, work | Tuinieren animaties |
| Dierenarts | 256x256 | idle, talk, treat_pet | Met dieren |
| Winkelier | 256x256 | idle, talk, sell | Achter toonbank |
Item Sprites
Categorieën en Maten
┌─────────────────────────────────────────────────────────────────┐
│ Item Sprite Sizes │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Inventory Icons: 64 x 64 px │
│ World Drops: 32 x 32 px (met scaling in scene) │
│ Shop Display: 128 x 128 px │
│ Detail View: 256 x 256 px │
│ │
│ Per item aanleveren: │
│ ├── {item}_icon.png (64x64, inventory) │
│ ├── {item}_world.png (32x32, in scene) │
│ └── {item}_large.png (256x256, detail view) │
│ │
└─────────────────────────────────────────────────────────────────┘
Voedsel Items
| Item | Icon Size | Notes |
|---|---|---|
| apple | 64x64 | Rode appel |
| carrot | 64x64 | Oranje wortel |
| honey | 64x64 | Pot met honing |
| egg | 64x64 | Wit ei |
| milk | 64x64 | Fles melk |
| bread | 64x64 | Bruin brood |
Zaden
| Seed | Icon | Crop Stages |
|---|---|---|
| tomato_seed | 64x64 | 5 stages (64x64 each) |
| carrot_seed | 64x64 | 5 stages |
| sunflower_seed | 64x64 | 5 stages |
| strawberry_seed | 64x64 | 5 stages |
Gereedschap
| Tool | Icon | World Sprite | Animation Frames |
|---|---|---|---|
| watering_can | 64x64 | 32x32 | 4 frames |
| shovel | 64x64 | 32x32 | 4 frames |
| basket | 64x64 | 32x32 | - |
| scissors | 64x64 | 32x32 | 3 frames |
Huisdier Sprites
Per Huisdier Type
assets/pets/{type}/{variant}/
├── idle.png (4 frames, 128x128 each)
├── walk.png (4 frames, 128x128 each)
├── sleep.png (2 frames, 128x128 each)
├── happy.png (2 frames, 128x128 each)
├── sad.png (2 frames, 128x128 each)
├── eat.png (4 frames, 128x128 each)
├── play.png (4 frames, 128x128 each)
├── trick_{name}.png (varies)
└── portrait.png (256x256, voor UI)
Huisdier Types
| Type | Variants | Special Animations |
|---|---|---|
| cat | orange, black, white, siamese | meow, purr, hunt |
| dog | golden, brown, spotted, black | bark, fetch, roll |
| bunny | white, brown, spotted | hop, dig, binky |
| hamster | golden, white, gray | run_wheel, cheek_stuff |
UI Sprites
Buttons
assets/ui/buttons/
├── btn_primary_normal.png (200x50)
├── btn_primary_hover.png (200x50)
├── btn_primary_pressed.png (200x50)
├── btn_primary_disabled.png (200x50)
├── btn_secondary_*.png (200x50)
├── btn_icon_*.png (50x50)
└── btn_close_*.png (32x32)
9-Patch Panels
assets/ui/panels/
├── panel_default.png (48x48, 16px borders)
├── panel_dialog.png (64x64, 20px borders)
├── panel_tooltip.png (32x32, 8px borders)
└── panel_inventory.png (48x48, 16px borders)
9-Patch Margins:
┌──────────────────┐
│ TL │ TC │ TR │
├────┼────────┼────┤
│ ML │ CENTER │ MR │ ← Stretchable area
├────┼────────┼────┤
│ BL │ BC │ BR │
└──────────────────┘
Icons
assets/ui/icons/
├── icon_coin.png (32x32)
├── icon_acorn.png (32x32)
├── icon_xp.png (32x32)
├── icon_heart.png (32x32)
├── icon_star.png (32x32)
├── icon_settings.png (32x32)
├── icon_inventory.png (32x32)
├── icon_quest.png (32x32)
├── icon_friends.png (32x32)
├── icon_chat.png (32x32)
├── icon_map.png (32x32)
└── icon_help.png (32x32)
Achtergronden
Scene Backgrounds
| Scene | Size | Layers |
|---|---|---|
| treehouse | 1920x1080 | bg, midground, foreground |
| garden | 1920x1080 | bg, plants_layer |
| world_map | 1920x1080 | base, clouds, decorations |
| main_menu | 1920x1080 | single layer |
Parallax Layers
# Parallax setup voor treehouse
layers = [
{"name": "sky", "scroll_scale": Vector2(0.2, 0.2)},
{"name": "mountains", "scroll_scale": Vector2(0.4, 0.4)},
{"name": "trees_back", "scroll_scale": Vector2(0.6, 0.6)},
{"name": "treehouse", "scroll_scale": Vector2(1.0, 1.0)},
{"name": "foreground", "scroll_scale": Vector2(1.2, 1.0)}
]
Crop Growth Stages
Stage 0: Seed (zaadje net geplant)
Stage 1: Sprout (eerste blaadjes)
Stage 2: Seedling (jonge plant)
Stage 3: Growing (grotere plant)
Stage 4: Mature (bijna klaar)
Stage 5: Harvestable (oogstbaar, glint effect)
Elke stage: 64x64 px sprite
Export Checklist
□ PNG format, 32-bit RGBA
□ Transparante achtergrond waar nodig
□ Correct benoemd volgens conventie
□ Alle vereiste varianten aanwezig
□ Pivot point correct (center-bottom voor karakters)
□ Geen anti-aliasing artifacts op edges
□ Consistente stijl met bestaande assets
□ 1x en 2x versies voor retina