198 lines
4.5 KiB
Markdown
198 lines
4.5 KiB
Markdown
# FAZA 1: Generacija Terena - Checklist
|
|
|
|
**Status:** ✅ PRIPRAVLJEN ZA TESTIRANJE
|
|
|
|
**Datum:** 2025-12-06
|
|
|
|
---
|
|
|
|
## ✅ Opravila (Developer)
|
|
|
|
- [x] Implementacija Perlin Noise generatorja
|
|
- [x] Kreacija IsometricUtils (konverzija koordinat)
|
|
- [x] Implementacija TerrainSystem
|
|
- [x] Definicija 5 tipov terena (voda, pesek, trava, zemlja, kamen)
|
|
- [x] Generacija 100x100 mape
|
|
- [x] Renderanje isometričnih tile-ov (diamond shapes)
|
|
- [x] Kamera kontrole (WASD + mouse)
|
|
- [x] Zoom funkcionalnost (Q/E + mouse wheel)
|
|
- [x] Debug UI (koordinate, zoom, FPS)
|
|
- [x] Posodobitev index.html z novimi skriptami
|
|
|
|
**VSE OPRAVILA ZAKLJUČENA** ✅
|
|
|
|
---
|
|
|
|
## 🧪 Ročno testiranje (Naročnik)
|
|
|
|
### Test 1: Generacija Terena
|
|
**Ukaz:** `npm start` → pritisni SPACE v menu
|
|
|
|
**Pričakovani rezultat:**
|
|
- [ ] Teren se generira (100x100 tiles)
|
|
- [ ] Vidnih je 5 različnih tipov terena:
|
|
- [ ] Voda (modra #2166aa)
|
|
- [ ] Pesek (bež #f4e7c6)
|
|
- [ ] Trava (zelena #5cb85c)
|
|
- [ ] Zemlja (rjava #8b6f47)
|
|
- [ ] Kamen (siva #7d7d7d)
|
|
- [ ] Tile-i so v isometrični diamond obliki
|
|
- [ ] Teren izgleda naraven (Perlin noise deluje)
|
|
|
|
**Status:** ⏳ ČAKA NA TESTIRANJE
|
|
|
|
---
|
|
|
|
### Test 2: Isometrični Pogled
|
|
**Pričakovani rezultat:**
|
|
- [ ] Mapa je v 2.5D isometričnem pogledu
|
|
- [ ] Tile-i so pravilno poravnani (diamond grid)
|
|
- [ ] Depth sorting pravilen (zadnji tile-i so vidni pred sprednjimi)
|
|
- [ ] Nobenih prekrivanj ali lukenj v mapi
|
|
|
|
**Status:** ⏳ ČAKA NA TESTIRANJE
|
|
|
|
---
|
|
|
|
### Test 3: Kamera - WASD
|
|
**Ukazi:** W (gor), A (levo), S (dol), D (desno)
|
|
|
|
**Pričakovani rezultat:**
|
|
- [ ] W - kamera se premakne navzgor
|
|
- [ ] S - kamera se premakne navzdol
|
|
- [ ] A - kamera se premakne levo
|
|
- [ ] D - kamera se premakne desno
|
|
- [ ] Smooth gibanje (brez lagganja)
|
|
|
|
**Status:** ⏳ ČAKA NA TESTIRANJE
|
|
|
|
---
|
|
|
|
### Test 4: Kamera - Mouse
|
|
**Ukazi:**
|
|
- Right click + drag = pan
|
|
- Mouse wheel = zoom
|
|
|
|
**Pričakovani rezultat:**
|
|
- [ ] Right click + drag premika kamero
|
|
- [ ] Mouse wheel scroll gor = zoom out
|
|
- [ ] Mouse wheel scroll dol = zoom in
|
|
- [ ] Zoom range: 0.3x - 2.0x
|
|
|
|
**Status:** ⏳ ČAKA NA TESTIRANJE
|
|
|
|
---
|
|
|
|
### Test 5: Zoom - Tipkovnica
|
|
**Ukazi:** Q (zoom in), E (zoom out)
|
|
|
|
**Pričakovani rezultat:**
|
|
- [ ] Q povečuje zoom
|
|
- [ ] E zmanjšuje zoom
|
|
- [ ] Smooth zoom animacija
|
|
- [ ] Zoom je omejen (min 0.3, max 2.0)
|
|
|
|
**Status:** ⏳ ČAKA NA TESTIRANJE
|
|
|
|
---
|
|
|
|
### Test 6: UI in Debug Info
|
|
**Pričakovani rezultat:**
|
|
- [ ] Naslov: "FAZA 1: Generacija Terena" (zgoraj, zelena barva)
|
|
- [ ] Kontrole info (zgoraj desno)
|
|
- [ ] Debug info (zgoraj levo):
|
|
- [ ] Zoom vrednost prikazana
|
|
- [ ] Kamera koordinate
|
|
- [ ] Mouse koordinate
|
|
- [ ] FPS counter (spodaj levo) ~ 60 FPS
|
|
|
|
**Status:** ⏳ ČAKA NA TESTIRANJE
|
|
|
|
---
|
|
|
|
### Test 7: Performance
|
|
**Pričakovani rezultat:**
|
|
- [ ] FPS: 55-60 (stabilen) pri počitku
|
|
- [ ] FPS: 50+ pri premikanju kamere
|
|
- [ ] Brez stutteringa pri zoom-u
|
|
- [ ] Teren se generira v < 2 sekundi
|
|
- [ ] Smooth renderanje vseh 10,000 tile-ov
|
|
|
|
**Status:** ⏳ ČAKA NA TESTIRANJE
|
|
|
|
---
|
|
|
|
### Test 8: Vizualna Kvaliteta
|
|
**Pričakovani rezultat:**
|
|
- [ ] Teren izgleda naraven (ne random)
|
|
- [ ] Tekoči prehodi med tipi terena
|
|
- [ ] Črne outline črte vidne med tile-i
|
|
- [ ] Barve so razločne in lepe
|
|
- [ ] Brez graphical glitch-ov
|
|
|
|
**Status:** ⏳ ČAKA NA TESTIRANJE
|
|
|
|
---
|
|
|
|
## 📋 Potrditev Naročnika
|
|
|
|
```
|
|
FAZA 1: [STATUS]
|
|
- Testirano: [DA/NE]
|
|
- Datum testiranja: ___________
|
|
- Opombe:
|
|
|
|
|
|
|
|
|
|
- Test 1: [✅/❌]
|
|
- Test 2: [✅/❌]
|
|
- Test 3: [✅/❌]
|
|
- Test 4: [✅/❌]
|
|
- Test 5: [✅/❌]
|
|
- Test 6: [✅/❌]
|
|
- Test 7: [✅/❌]
|
|
- Test 8: [✅/❌]
|
|
|
|
ODOBRENO ZA FAZO 2: [DA/NE]
|
|
|
|
Podpis naročnika: _____________
|
|
```
|
|
|
|
---
|
|
|
|
## 🚨 V primeru težav
|
|
|
|
### Težava: Teren se ne generira / črn zaslon
|
|
**Rešitev:**
|
|
- Preveri konzolo za error-je (F12)
|
|
- Preveri da so vse skripte v index.html pravilno vključene
|
|
- Reload: Ctrl+R
|
|
|
|
### Težava: FPS prenizek (<40)
|
|
**Rešitev:**
|
|
- To je normalno za 100x100 mapo (10,000 tile-ov)
|
|
- Če je FPS < 30, preveri TaskManager za CPU/GPU usage
|
|
|
|
### Težava: Kamera se ne premika
|
|
**Rešitev:**
|
|
- Poskusi mouse right-click + drag
|
|
- Preveri da je okno v fokusu
|
|
|
|
### Težava: Teren izgleda preveč random (ne naraven)
|
|
**Rešitev:**
|
|
- To je normalno - Perlin noise lahko ustvari različne pattern-e
|
|
- Za testiranje samo preveri da je 5 različnih barv vidnih
|
|
|
|
---
|
|
|
|
## ➡️ Naslednji koraki (po odobritvi)
|
|
|
|
Ko naročnik potrdi FAZO 1, se začne:
|
|
**FAZA 2: Igralec in Gibanje**
|
|
- Player sprite (32x32px pixel art)
|
|
- WASD gibanje igralca (ne kamere!)
|
|
- Depth sorting za igralca
|
|
- Kolizija z robovi mape
|
|
- Barvne sheme za igralca
|