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

2.0 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 & Systems
    • LootSystem.js: Centraliziran loot.
    • InteractionSystem.js: Poenostavljena logika.
    • StatsSystem.js: Refaktoriran z Score in Playtime logiko.
  • Save Data Compression
    • LZW kompresija za JSON save file (80-90% prihranek).
  • 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