121 lines
3.0 KiB
Markdown
121 lines
3.0 KiB
Markdown
# 🎮 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()
|