42 lines
2.0 KiB
Markdown
42 lines
2.0 KiB
Markdown
# 🛠️ Plan Optimizacij in Čiščenja - NovaFarma
|
|
|
|
Datoteka namenjena tehničnim izboljšavam kode, refaktoringu in performančnim popravkom.
|
|
|
|
## 🟢 1. Opravljene Optimizacije (Completed)
|
|
Stvari, ki so bile uspešno implementirane in izboljšale delovanje.
|
|
|
|
- [x] **Distance Culling (Teren & Dekoracije)**
|
|
- Sistem skriva ploščice (tiles) in drevesa, ki so daleč od igralca.
|
|
- [x] **Pooling Sistem**
|
|
- `TerrainSystem` uporablja `decorationPool` in `cropPool` za ponovno uporabo spritov.
|
|
- [x] **Phaser Tilemap (Terrain Layer)**
|
|
- Tla se rišejo preko optimiziranega `TilemapLayer`-ja namesto 10.000 posameznih spritov.
|
|
- [x] **NPC Logic Throttling & Culling**
|
|
- NPC-ji daleč od igralca zamrznejo svojo logiko.
|
|
- [x] **Spatial Hashing (SpatialGrid)**
|
|
- Implementiran `SpatialGrid.js` za hitrejše iskanje entitet v bližini.
|
|
- [x] **Code Refactoring & Systems**
|
|
- `LootSystem.js`: Centraliziran loot.
|
|
- `InteractionSystem.js`: Poenostavljena logika.
|
|
- `StatsSystem.js`: Refaktoriran z `Score` in `Playtime` logiko.
|
|
- [x] **Save Data Compression**
|
|
- LZW kompresija za JSON save file (80-90% prihranek).
|
|
- [x] **Texture Force Refresh & Voxel Gen**
|
|
- `TextureGenerator` podpira hot-reload tekstur in pred-generira kompleksna 3D orodja v Canvas.
|
|
|
|
## 🟡 2. Odprte / Potencialne Tehnične Naloge (To-Do)
|
|
Stvari, ki še niso kritične, a bi lahko izboljšale igro.
|
|
|
|
- [ ] **Zone Streaming (Expansion)**
|
|
- Dinamično nalaganje otokov in novih con (Chunk Loading) ob širitvi sveta.
|
|
- [ ] **Web Workers za AI Pathfinding**
|
|
- Če bo število zombijev naraslo nad 100, premakni iskanje poti (A*) na ločen thread.
|
|
- [ ] **Asset Loading Screen**
|
|
- Pravi loading bar za nalaganje tekstur in zvokov.
|
|
|
|
## 🔴 3. Znane Omejitve
|
|
- **WebGL Context Loss:** Pri preklapljanju med tabi brskalnika se lahko zgodi izguba konteksta.
|
|
- **Mobile Performance:** Igra ima osnovne touch kontrole, a UI še ni prilagojen manjšim ekranom.
|
|
|
|
---
|
|
*Zadnja posodobitev: 8.12.2025* |