Files
novafarma/docs/planning/FAZA_1_CHECKLIST.md
2025-12-12 13:48:49 +01:00

4.5 KiB

FAZA 1: Generacija Terena - Checklist

Status: PRIPRAVLJEN ZA TESTIRANJE

Datum: 2025-12-06


Opravila (Developer)

  • Implementacija Perlin Noise generatorja
  • Kreacija IsometricUtils (konverzija koordinat)
  • Implementacija TerrainSystem
  • Definicija 5 tipov terena (voda, pesek, trava, zemlja, kamen)
  • Generacija 100x100 mape
  • Renderanje isometričnih tile-ov (diamond shapes)
  • Kamera kontrole (WASD + mouse)
  • Zoom funkcionalnost (Q/E + mouse wheel)
  • Debug UI (koordinate, zoom, FPS)
  • 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: ✅ ODOBRENO
- Testirano: DA
- Datum testiranja: 2025-12-06 17:56
- Opombe: 
  "super dela" - Vse testi uspešni
  Terrain generation izgleda odlično
  Isometric view pravilen
  Kamera kontrole delujejo

- Test 1: ✅
- Test 2: ✅
- Test 3: ✅
- Test 4: ✅
- Test 5: ✅
- Test 6: ✅
- Test 7: ✅
- Test 8: ✅

ODOBRENO ZA FAZO 2: DA

Potrdil: Naročnik (2025-12-06)

🚨 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