# FAZA 15-17 + Custom Assets + 2.5D Terrain: Advanced Systems - Checklist **Status:** ✅ ZAKLJUČENO **Datum:** 2025-12-06/07 --- ## 🎯 Cilji - **FAZA 15:** Ekonomija (Trading, Gold, Materials) - **FAZA 16:** Weather & Open World (Rain, Fog, Hills) - **FAZA 17:** Sound, Parallax, Friendship - **BONUS:** Custom Sprite Integration - **BONUS:** 2.5D Minecraft-Style Terrain ## ✅ Opravila (Developer) ### FAZA 15: Economy - [x] **Trgovanje (Trading System):** - [x] Interakcija s Trgovcem odpre `TradeMenu` - [x] Seznam predmetov za nakup/prodajo - [x] Gold/Currency sistem - [x] **Town Restoration:** - [x] Multiple material requirements (Wood, Stone, Gold) - [x] Different ruin types with different costs - [x] Friendship/Hearts system (❤️) - [x] User feedback messages ### FAZA 16: Weather & World - [x] **Weather System:** - [x] Rain effect (100-150 droplets) - [x] Fog effect (gray overlay) - [x] Storm (heavy rain) - [x] Automatic weather cycling (30s) - [x] **Terrain Enhancement:** - [x] Elevation/Hills sistem (Perlin Noise) - [x] Height-based grass tinting (light = hills, dark = valleys) - [x] Y-offset based on elevation (-25px max) - [x] More rocks/bushes on hills ### FAZA 17: Polish - [x] **Sound System:** - [x] SoundManager class - [x] Placeholder beep sounds (chop, pickup, plant, harvest, build) - [x] Rain ambient sounds - [x] Mute toggle (M key) - [x] **Parallax Layers:** - [x] Layer 1: Sky + Distant Hills (0.2x scroll) - [x] Layer 2: Far Trees (0.7x scroll) - [x] Layer 3: Game objects (1.0x normal) - [x] Layer 4: Foreground grass (1.05x scroll) - [x] Smart fading (grass becomes transparent near player) - [x] **Camera:** - [x] Viewport: 640x360 (pixel-perfect) - [x] Instant follow (1.0 speed) - [x] 100px deadzone - [x] Round pixels enabled - [x] **Day/Night Cycle:** - [x] Dynamic lighting overlays - [x] Dawn, Day, Dusk, Night phases - [x] Color tinting based on time ### BONUS: Custom Sprite Integration - [x] **Character Sprites:** - [x] Player custom sprite (protagonist with dreadlocks) - [x] Zombie custom sprite (green skin, red eyes) - [x] Merchant custom sprite (wizard with gold coin) - [x] All characters scaled to 0.2 (20% size) - [x] **Environment Assets:** - [x] Custom tree sprite (blue tree) - [x] Custom stone/rock sprite - [x] Custom grass tile texture - [x] Wheat sprite - [x] Leaf sprite - [x] **Asset Packs Loaded:** - [x] objects_pack.png (furniture, barrels, gravestones) - [x] walls_pack.png (walls, arches) - [x] ground_tiles.png (terrain textures) - [x] objects_pack2.png (additional objects) - [x] trees_vegetation.png (trees, bushes) - [x] **Gravestone System:** - [x] Extract gravestone from objects_pack atlas - [x] Random spawning (0.5% chance on grass) - [x] 10 HP (harder to destroy) - [x] Zombie post-apocalyptic atmosphere - [x] **Transparency Processing:** - [x] Auto-remove white/gray backgrounds - [x] Auto-remove brown backgrounds (merchant) - [x] Canvas willReadFrequently optimization - [x] **Performance Fixes:** - [x] Fixed Canvas2D warnings (willReadFrequently: true) - [x] Electron CSP already configured ### BONUS: 2.5D Minecraft-Style Terrain ⛏️ - [x] **Volumetric Blocks:** - [x] Block thickness: 25px (2.5x thicker than before) - [x] Left side shading: 30% darker - [x] Right side shading: 50% darker (strong shadow) - [x] Crisp black outlines for definition - [x] **Grass Blocks:** - [x] Green top surface - [x] Brown (dirt) side faces - [x] Authentic Minecraft aesthetic - [x] **Rendering:** - [x] Canvas renderer for pixel-perfect sharpness - [x] CSS image-rendering: crisp-edges / pixelated - [x] No antialiasing - [x] Round pixels enabled - [x] **Hybrid Style:** - [x] Terrain = 2.5D volumetric (Minecraft-like) - [x] Characters = 2D flat sprites (pixel art) - [x] Objects = 2D flat sprites (pixel art) --- ## 🧪 Ročno testiranje (Naročnik) ### Test 1: 2.5D Terrain **⛏️ NOVO** **Ukaz:** Pritisni F4, opazuj teren. **Rezultat:** - Grass bloki imajo zeleno površino + rjave stranice - Bloki so debeli (25px thickness) - Močno senčenje na straneh (Minecraft-like) - Vse ostalo (karakterji, drevesa) je 2D flat ### Test 2: Pixel-Perfect Ostrino **⛏️ NOVO** **Ukaz:** Pritisni F4, zoom-aj v karakterje. **Rezultat:** - Vsak pixel je oster in jasen - Ni zamegljenih robov - Crisp pixel art aesthetic ### Test 3: Custom Sprites **Ukaz:** Pritisni F4 (Soft Reset). **Rezultat:** - Player = Custom protagonist sprite (20% velikosti) - Zombie = Custom zombie sprite (20% velikosti) - Merchant = Custom merchant sprite (20% velikosti) - Drevesa = Modro drevo sprite - Kamenje = Custom rock sprite - Travniki = Custom grass texture ### Test 4: Gravestone Spawning **Ukaz:** Premakni se po zemljevidu, išči nagrobike. **Rezultat:** Redki nagrobniki (💀) na travniku, težje uničiti (10 HP). ### Test 5: Transparency **Ukaz:** Opazuj vse sprite. **Rezultat:** Brez belega/rjavega ozadja, popolna transparentnost. ### Test 6: Performance **Ukaz:** Odpri F12 Console. **Rezultat:** Ni več Canvas2D warnings. ### Test 7: Town Restoration **Ukaz:** Dodaj materials v inventory (F12 console): ```js this.scene.inventorySystem.addItem('wood', 200); this.scene.inventorySystem.addItem('stone', 100); this.scene.inventorySystem.addItem('gold', 100); ``` Klikni na ruin, klikni "Contribute". **Rezultat:** Ruin postane House, spawne NPC, +10 Hearts ❤️ ### Test 8: Weather **Ukaz:** Počakaj 30s v igri. **Rezultat:** Vreme se spremeni (dež/megla/jasno) ### Test 9: Sound **Ukaz:** Sekaj drevo, poberi loot. **Rezultat:** Placeholder beep zvoki. M = mute/unmute. --- ## 📋 Potrditev Naročnika ``` FAZA 15-17 + Custom Assets + 2.5D: [STATUS] - Testirano: [DA/NE] - Datum testiranja: ___________ - Opombe: ODOBRENO ZA NASLEDNJO FAZO: [DA/NE] ``` --- ## ➡️ Naslednji koraki **FAZA 18:** Combat System (Attack, Damage, Zombie AI) **FAZA 19:** Quest System (Tasks, Objectives, Rewards) **FAZA 20:** Building System (Use asset packs for construction) **FAZA 21:** Final Polish & Optimization --- ## 📊 Tehnični Pregled **Rendering:** - Canvas renderer (pixel-perfect) - 640x360 viewport - CSS crisp-edges - No antialiasing **Terrain:** - 2.5D isometric blocks - 25px thickness (Minecraft-style) - Procedural generation (Perlin Noise) - Custom grass tiles support **Characters:** - 2D flat sprites - 0.2 scale (20% size) - Custom sprite support - Auto-transparency processing **Assets:** - 11 custom sprites loaded - 5 asset packs (objects, walls, tiles, vegetation) - Gravestone extraction system - Sprite atlas support **Performance:** - Canvas willReadFrequently optimization - Object pooling (tiles, decorations, crops) - Frustum culling - No memory leaks ## ✅ Opravila (Developer) ### FAZA 15: Economy - [x] **Trgovanje (Trading System):** - [x] Interakcija s Trgovcem odpre `TradeMenu` - [x] Seznam predmetov za nakup/prodajo - [x] Gold/Currency sistem - [x] **Town Restoration:** - [x] Multiple material requirements (Wood, Stone, Gold) - [x] Different ruin types with different costs - [x] Friendship/Hearts system (❤️) - [x] User feedback messages ### FAZA 16: Weather & World - [x] **Weather System:** - [x] Rain effect (100-150 droplets) - [x] Fog effect (gray overlay) - [x] Storm (heavy rain) - [x] Automatic weather cycling (30s) - [x] **Terrain Enhancement:** - [x] Elevation/Hills sistem (Perlin Noise) - [x] Height-based grass tinting (light = hills, dark = valleys) - [x] Y-offset based on elevation (-25px max) - [x] More rocks/bushes on hills ### FAZA 17: Polish - [x] **Sound System:** - [x] SoundManager class - [x] Placeholder beep sounds (chop, pickup, plant, harvest, build) - [x] Rain ambient sounds - [x] Mute toggle (M key) - [x] **Parallax Layers:** - [x] Layer 1: Sky + Distant Hills (0.2x scroll) - [x] Layer 2: Far Trees (0.7x scroll) - [x] Layer 3: Game objects (1.0x normal) - [x] Layer 4: Foreground grass (1.05x scroll) - [x] Smart fading (grass becomes transparent near player) - [x] **Camera:** - [x] Viewport: 640x360 (pixel-perfect) - [x] Instant follow (1.0 speed) - [x] 100px deadzone - [x] Round pixels enabled - [x] **Day/Night Cycle:** - [x] Dynamic lighting overlays - [x] Dawn, Day, Dusk, Night phases - [x] Color tinting based on time ### BONUS: Custom Sprite Integration - [x] **Character Sprites:** - [x] Player custom sprite (protagonist with dreadlocks) - [x] Zombie custom sprite (green skin, red eyes) - [x] Merchant custom sprite (wizard with gold coin) - [x] All characters scaled to 0.2 (20% size) - [x] **Environment Assets:** - [x] Custom tree sprite (blue tree) - [x] Custom stone/rock sprite - [x] Custom grass tile texture - [x] Wheat sprite - [x] Leaf sprite - [x] **Asset Packs Loaded:** - [x] objects_pack.png (furniture, barrels, gravestones) - [x] walls_pack.png (walls, arches) - [x] ground_tiles.png (terrain textures) - [x] objects_pack2.png (additional objects) - [x] trees_vegetation.png (trees, bushes) - [x] **Gravestone System:** - [x] Extract gravestone from objects_pack atlas - [x] Random spawning (0.5% chance on grass) - [x] 10 HP (harder to destroy) - [x] Zombie post-apocalyptic atmosphere - [x] **Transparency Processing:** - [x] Auto-remove white/gray backgrounds - [x] Auto-remove brown backgrounds (merchant) - [x] Canvas willReadFrequently optimization - [x] **Performance Fixes:** - [x] Fixed Canvas2D warnings (willReadFrequently: true) - [x] Electron CSP already configured --- ## 🧪 Ročno testiranje (Naročnik) ### Test 1: Custom Sprites **Ukaz:** Pritisni F4 (Soft Reset). **Rezultat:** - Player = Custom protagonist sprite (20% velikosti) - Zombie = Custom zombie sprite (20% velikosti) - Merchant = Custom merchant sprite (20% velikosti) - Drevesa = Modro drevo sprite - Kamenje = Custom rock sprite - Travn iki = Custom grass texture ### Test 2: Gravestone Spawning **Ukaz:** Premakni se po zemljevidu, išči nagrobike. **Rezultat:** Redki nagrobniki (💀) na trav niku, težje uničiti (10 HP). ### Test 3: Transparency **Ukaz:** Opazuj vse sprite. **Rezultat:** Brez belega/rjavega ozadja, popolna transparentnost. ### Test 4: Performance **Ukaz:** Odpri F12 Console. **Rezultat:** Ni več Canvas2D warnings. ### Test 5: Town Restoration **Ukaz:** Dodaj materials v inventory (F12 console): ```js this.scene.inventorySystem.addItem('wood', 200); this.scene.inventorySystem.addItem('stone', 100); this.scene.inventorySystem.addItem('gold', 100); ``` Klikni na ruin, klikni "Contribute". **Rezultat:** Ruin postane House, spawne NPC, +10 Hearts ❤️ ### Test 6: Weather **Ukaz:** Počakaj 30s v igri. **Rezultat:** Vreme se spremeni (dež/megla/jasno) ### Test 7: Sound **Ukaz:** Sekaj drevo, poberi loot. **Rezultat:** Placeholder beep zvoki. M = mute/unmute. ### Test 8: Parallax **Ukaz:** Premakni igralca okoli. **Rezultat:** Hribi v ozadju se premikajo počasneje, trava v ospredju hitreje. ### Test 9: Hills **Ukaz:** Opazuj zemljevid. **Rezultat:** Svetlejša trava = hribi, temnejša = doline. Vizualno dvignjeno. --- ## 📋 Potrditev Naročnika ``` FAZA 15-17 + Custom Assets: [STATUS] - Testirano: [DA/NE] - Datum testiranja: ___________ - Opombe: ODOBRENO ZA NASLEDNJO FAZO: [DA/NE] ``` --- ## ➡️ Naslednji koraki **FAZA 18:** Combat System (Attack, Damage, Zombie AI) **FAZA 19:** Quest System (Tasks, Objectives, Rewards) **FAZA 20:** Building System (Use asset packs for construction) **FAZA 21:** Final Polish & Optimization