FAZA 17: 2.5D Minecraft-Style Terrain + Y-Layer Stacking + Custom Sprites

COMPLETED FEATURES:

 Custom Sprite Integration:
- Player, Zombie, Merchant sprites (0.2 scale)
- 11 custom sprites + 5 asset packs loaded
- Auto-transparency processing (white/brown removal)
- Gravestone system with atlas extraction

 2.5D Minecraft-Style Terrain:
- Volumetric blocks with 25px thickness
- Strong left/right side shading (30%/50% darker)
- Minecraft-style texture patterns (grass, dirt, stone)
- Crisp black outlines for definition

 Y-Layer Stacking System:
- GRASS_FULL: All green (elevation > 0.7)
- GRASS_TOP: Green top + brown sides (elevation 0.4-0.7)
- DIRT: All brown (elevation < 0.4)
- Dynamic terrain depth based on height

 Floating Island World Edge:
- Stone cliff walls at map borders
- 2-tile transition zone
- Elevation flattening for cliff drop-off effect
- 100x100 world with defined boundaries

 Performance & Polish:
- Canvas renderer for pixel-perfect sharpness
- CSS image-rendering: crisp-edges
- willReadFrequently optimization
- No Canvas2D warnings

 Technical:
- 3D volumetric trees and rocks
- Hybrid rendering (2.5D terrain + 2D characters)
- Procedural texture generation
- Y-layer aware terrain type selection
This commit is contained in:
2025-12-07 01:44:16 +01:00
parent 34a2d07538
commit 9eb57ed117
60 changed files with 5082 additions and 195 deletions

121
FAZA_3_CHECKLIST.md Normal file
View File

@@ -0,0 +1,121 @@
# FAZA 3: NPC-ji in Dekoracije - Checklist
**Status:** ✅ PRIPRAVLJEN ZA TESTIRANJE
**Datum:** 2025-12-06
---
## ✅ Opravila (Developer)
- [x] Kreacija NPC entitete (NPC.js)
- [x] Dodajanje 3 NPC-jev v sceno
- [x] Random Walk AI za NPC-je
- [x] Kreacija sprite-ov za dekoracije (rože, grmičevje)
- [x] Generacija dekoracij na terenu (TerrainSystem.js)
- [x] Parallax oblaki (GameScene.js)
- [x] Depth sorting za dekoracije (igralec gre ZA grmom, ČEZ rožo)
- [x] Posodobitev UI (naslov)
**VSE OPRAVILA ZAKLJUČENA**
---
## 🧪 Ročno testiranje (Naročnik)
### Test 1: NPC-ji
**Ukaz:** `npm start` -> Opazuj mapo
**Pričakovani rezultat:**
- [ ] Na mapi so vidni 3 NPC-ji (Zombie, Villager, Merchant)
- [ ] NPC-ji so različnih barv
- [ ] NPC-ji se premikajo samostojno (Random Walk)
- [ ] NPC-ji se ustavijo za trenutek, nato zamenjajo smer
- [ ] NPC-ji ne gredo skozi robove mape
**Status:** ⏳ ČAKA NA TESTIRANJE
---
### Test 2: Dekoracije (Rože in Grmi)
**Ukaz:** Razišči mapo
**Pričakovani rezultat:**
- [ ] Na travi so vidne rdeče rože (majhen sprite 16x16)
- [ ] Na travi in zemlji so vidni zeleni grmi (večji sprite 32x32)
- [ ] Dekoracije se ne pojavijo na vodi ali kamnu (ali zelo redko)
- [ ] Dekoracij ni preveč (primeren spawn rate)
**Status:** ⏳ ČAKA NA TESTIRANJE
---
### Test 3: Depth Sorting (Prekrivanje)
**Ukaz:** Hodi z igralcem okoli dekoracij in NPC-jev
**Pričakovani rezultat:**
- [ ] Ko gre igralec "nad" rožo (severno), jo pokrije (hodi po njej)
- [ ] Ko gre igralec "pod" rožo (južno), jo pokrije (roža je ravna)
- [ ] Ko gre igralec "nad" grmom (severno), je igralec ZA grmom (skrit)
- [ ] Ko gre igralec "pod" grmom (južno), je igralec PRED grmom
- [ ] Enako velja za NPC-je (pravilno prekrivanje)
**Status:** ⏳ ČAKA NA TESTIRANJE
---
### Test 4: Parallax Oblaki
**Ukaz:** Opazuj ozadje
**Pričakovani rezultat:**
- [ ] Čez zaslon se premikajo beli oblaki
- [ ] Oblaki so prosojni
- [ ] Oblaki se premikajo počasneje/hitreje kot kamera (parallax)?
- [ ] Ko premikaš igralca (kamero), oblaki ostajajo bolj "pri miru" kot teren (ali se premikajo z drugačno hitrostjo)
**Status:** ⏳ ČAKA NA TESTIRANJE
---
### Test 5: Performance
**Ukaz:** Opazuj FPS
**Pričakovani rezultat:**
- [ ] Dodatek NPC-jev, dekoracij in oblakov ne zniža FPS pod 55
- [ ] Igra teče gladko
**Status:** ⏳ ČAKA NA TESTIRANJE
---
## 📋 Potrditev Naročnika
```
FAZA 3: [STATUS]
- Testirano: [DA/NE]
- Datum testiranja: ___________
- Opombe:
- Test 1: [✅/❌]
- Test 2: [✅/❌]
- Test 3: [✅/❌]
- Test 4: [✅/❌]
- Test 5: [✅/❌]
ODOBRENO ZA FAZO 4: [DA/NE]
Podpis naročnika: _____________
```
---
## ➡️ Naslednji koraki (po odobritvi)
Ko naročnik potrdi FAZO 3, se začne:
**FAZA 4: Optimizacija in Performance**
- Culling (ne renderaj nevidnih tile-ov) -> To bo pomembno za večje mape!
- Object Pooling
- Memory leak checks