Ga naar hoofdinhoud

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

NPCSizePosesNotes
Oma Wilma256x256idle, talk, happyAltijd binnen
Buurman256x256idle, talk, workTuinieren animaties
Dierenarts256x256idle, talk, treat_petMet dieren
Winkelier256x256idle, talk, sellAchter 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

ItemIcon SizeNotes
apple64x64Rode appel
carrot64x64Oranje wortel
honey64x64Pot met honing
egg64x64Wit ei
milk64x64Fles melk
bread64x64Bruin brood

Zaden

SeedIconCrop Stages
tomato_seed64x645 stages (64x64 each)
carrot_seed64x645 stages
sunflower_seed64x645 stages
strawberry_seed64x645 stages

Gereedschap

ToolIconWorld SpriteAnimation Frames
watering_can64x6432x324 frames
shovel64x6432x324 frames
basket64x6432x32-
scissors64x6432x323 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

TypeVariantsSpecial Animations
catorange, black, white, siamesemeow, purr, hunt
doggolden, brown, spotted, blackbark, fetch, roll
bunnywhite, brown, spottedhop, dig, binky
hamstergolden, white, grayrun_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

SceneSizeLayers
treehouse1920x1080bg, midground, foreground
garden1920x1080bg, plants_layer
world_map1920x1080base, clouds, decorations
main_menu1920x1080single 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

Volgende