Files
novafarma/optimizations.md
2025-12-07 21:31:44 +01:00

1.9 KiB

🛠️ 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.

  • Distance Culling (Teren & Dekoracije)
    • Sistem skriva ploščice (tiles) in drevesa, ki so daleč od igralca.
  • Pooling Sistem
    • TerrainSystem uporablja decorationPool in cropPool za ponovno uporabo spritov.
  • Phaser Tilemap (Terrain Layer)
    • Tla se rišejo preko optimiziranega TilemapLayer-ja namesto 10.000 posameznih spritov.
  • NPC Logic Throttling & Culling
    • NPC-ji daleč od igralca zamrznejo svojo logiko.
  • Spatial Hashing (SpatialGrid)
    • Implementiran SpatialGrid.js za hitrejše iskanje entitet v bližini.
  • Code Refactoring
    • LootSystem.js: Centraliziran loot.
    • InteractionSystem.js: Poenostavljena logika.
    • TextureGenerator.js: Volumetric sprite generation.

🟡 2. Odprte / Potencialne Tehnične Naloge (To-Do)

Stvari, ki še niso kritične, a bi lahko izboljšale igro.

  • Web Workers za AI Pathfinding
    • Če bo število zombijev naraslo nad 100, premakni iskanje poti (A*) na ločen thread (Web Worker), da ne blokira glavne zanke.
  • Save Data Compression
    • JSON save file se stisne z LZW algoritmom (Compression.js) in tako zaseda 80-90% manj prostora v localStorage. To omogoča shranjevanje večjih map.
  • Asset Loading Screen
    • Dodati pravi loading bar, če se poveča število tekstur (trenutno proceduralno generiranje traja nekaj milisekund).

🔴 3. Znane Omejitve

  • WebGL Context Loss: Pri preklapljanju med tabi brskalnika se lahko zgodi izguba konteksta (Phaser to običajno obravnava, a je dobro vedeti).
  • Mobile Performance: Igra še ni optimizirana za touch/mobile kontrole.

Zadnja posodobitev: 7.12.2025 ddddddd