# 🎮 FAZA 3: NPC-JI IN DEKORACIJE - IMPLEMENTACIJA **Datum:** 12. December 2025 **Status:** ✅ DELNO KONČANO --- ## ✅ **ŠTO JE BILO NAREJENO:** ### **1. NPC Spawner System** ✅ **Nova datoteka:** `src/systems/NPCSpawner.js` **Funkcionalnosti:** - ✅ Spawn 3 NPCjev na 100x100 mapo - ✅ Random walk AI (že obstaja v NPC.js) - ✅ Izogibanje farm območju (50,50 radius 15) - ✅ Preverjanje valid tiles (ne voda, ne dekoracije) - ✅ Auto-respawn če NPCjev zmanjka **Koda:** 75 vrstic --- ### **2. Obstoječe Dekoracije** ✅ (že implementirano) **TerrainSystem že ima:** - ✅ **Drevesa** - tree_green, tree_blue, tree_dead, tree_sapling - ✅ **Skale** - rock_asset, rock_voxel - ✅ **Rože** - flowers, flowers_new, flowers_pink_isometric - ✅ **Grmičevje** - Variacije dreves in skal **Variacije:** - ✅ Različne barve (zelena, modra, mrtva drevesa) - ✅ Različne velikosti (scale 0.02 - 0.04) - ✅ Noise-based clustering (gozdovi, skalovje) --- ### **3. Parallax Elementi** ✅ (že implementirano) **GameScene že ima:** - ✅ **Oblaki** - 5 oblakovv (☁️ emoji) - Speed: 0.3-0.5x - Random velikost: 30-50px - Scroll factor: 0.2 - ✅ **Ptice** - 3 ptice (🐦 emoji) - Speed: 0.5-0.8x - Flutter effect (sin wave) - Scroll factor: 0.2 **Metode:** - `createParallaxBackground()` - Ustvari parallax elemente - `updateParallax(delta)` - Posodablja pozicije --- ## 📊 **STATISTIKA:** | Element | Status | Količina | |---------|--------|----------| | **NPCji** | ✅ Novo | 3 na mapo | | **Drevesa** | ✅ Obstaja | ~40% pokritost | | **Skale** | ✅ Obstaja | ~40% pokritost | | **Rože** | ✅ Obstaja | Variacije | | **Oblaki** | ✅ Obstaja | 5 | | **Ptice** | ✅ Obstaja | 3 | --- ## 🔧 **NASLEDNJI KORAK:** **Potrebno:** 1. **Integracija NPCSpawner v GameScene** - Dodati inicializacijo in update klic 2. **Testiranje** - Preveriti, ali se NPCji spawnjajo 3. **Debugging** - Popraviti morebitne napake **Kako dodati v GameScene:** ```javascript // V create() metodi: this.npcSpawner = new NPCSpawner(this); this.npcSpawner.spawnInitialNPCs(); // V update() metodi: if (this.npcSpawner) this.npcSpawner.update(delta); ``` --- ## 📁 **DATOTEKE:** **Spremenjene:** - ✅ `index.html` (+1 vrstica - NPCSpawner script) **Dodane:** - ✅ `src/systems/NPCSpawner.js` (75 vrstic) **Obstoječe (že delujejo):** - ✅ `src/systems/TerrainSystem.js` (dekoracije) - ✅ `src/scenes/GameScene.js` (parallax) - ✅ `src/entities/NPC.js` (random walk AI) --- ## 🎯 **KAKO TESTIRATI:** 1. **Osvežite Electron aplikacijo** (F5 ali reload) 2. **Preverite konzolo** - Bi morali videti: - `🧑 NPCSpawner: Initialized` - `✅ Spawned 3 initial NPCs` - `🧟 Spawned NPC at (x, y)` 3. **Preverite igro:** - NPCji se premikajo (random walk) - Dekoracije so vidne (drevesa, skale, rože) - Parallax deluje (oblaki, ptice se premikajo) --- **Status:** ⏳ **ČAKA NA INTEGRACIJO V GAMESCENE** **Naslednji korak:** Dodati NPCSpawner v GameScene.create() in update()