diff --git a/FAZA_1_CHECKLIST.md b/FAZA_1_CHECKLIST.md new file mode 100644 index 0000000..7d05510 --- /dev/null +++ b/FAZA_1_CHECKLIST.md @@ -0,0 +1,197 @@ +# 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 diff --git a/README.md b/README.md index 88d456c..37ad515 100644 --- a/README.md +++ b/README.md @@ -56,13 +56,19 @@ novafarma/ ## 🎮 Trenutni Status -**FAZA 0: ✅ COMPLETE** +**FAZA 0: ✅ APPROVED** (2025-12-06) - Setup projekta - Git inicializacija - Electron + Phaser integracija - Osnovne scene (Boot, Preload, Game) -**Naslednja faza:** FAZA 1 - Generacija Terena +**FAZA 1: ✅ COMPLETE - Čaka na testiranje** +- Perlin Noise terrain generator +- 100x100 isometrična mapa +- 5 tipov terena (voda, pesek, trava, zemlja, kamen) +- Kamera kontrole (WASD, mouse pan, zoom) + +**Naslednja faza:** FAZA 2 - Igralec in Gibanje --- diff --git a/index.html b/index.html index 24e0340..5431a01 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,6 @@ +
@@ -10,13 +11,13 @@ padding: 0; box-sizing: border-box; } - + body { background: #000; overflow: hidden; font-family: 'Courier New', monospace; } - + #game-container { display: flex; justify-content: center; @@ -26,16 +27,25 @@ } + - + - + + + + + + + + - + +