4.3 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, da varčuje s CPU/GPU.
- Pooling Sistem
TerrainSystemuporablja bazen spritov (decPool,tilePool) za ponovno uporabo objektov namesto nenehnega uničevanja in ustvarjanja.
- NPC Logic Throttling & Culling
- NPC-ji daleč od igralca se ne posodabljajo in so skriti.
- AI se ne izvaja vsak frame (uporaba timerjev za premik).
- Code Refactoring & Bug Fixes
InteractionSystem.js: Centralizirana logika za klike in tipkovnico (E tipka). Odstranjeni odvečni listenerji.Player.js: Urejena logika gibanja in napada (Spacebar).NPC.js: Dodan Health Bar, Taming logika in Loot Drop.TextureGenerator: Urejen draw items (Bone, Axe, Pickaxe).
🟡 2. Odprte Tehnične Naloge (To-Do)
Stvari, ki bi jih bilo dobro urediti za boljšo stabilnost.
- Global Error Handling
- Dodan
ErrorHandler.js(Red Screen of Death). Ujame napake, ki se zgodijo med igranjem, in prikaže uporabniku prijazen crash screen z možnostjo reload-a.
- Dodan
- Centraliziran Loot Manager
- Implementiran
LootSystem.js. Skrbi zaspawnLoot, animacijo dropov, pobiranje (razdalja do igralca) in čiščenje InteractionSystem-a.
- Implementiran
- Z-Sorting (Depth) Optimizacija
- Implementiran "dirty check" v
Player.jsinNPC.js. Depth se posodobi samo, če se Y koordinata spremeni za več kot 0.1px, namesto vsak frame.
- Implementiran "dirty check" v
🔴 3. Performančne Nadgradnje (High-End)
Če bo igra postala počasna pri velikem svetu (256x256).
🛠️ 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, da varčuje s CPU/GPU.
- Pooling Sistem
TerrainSystemuporablja bazen spritov (decPool,tilePool) za ponovno uporabo objektov namesto nenehnega uničevanja in ustvarjanja.
- NPC Logic Throttling & Culling
- NPC-ji daleč od igralca se ne posodabljajo in so skriti.
- AI se ne izvaja vsak frame (uporaba timerjev za premik).
- Code Refactoring & Bug Fixes
InteractionSystem.js: Centralizirana logika za klike in tipkovnico (E tipka). Odstranjeni odvečni listenerji.Player.js: Urejena logika gibanja in napada (Spacebar).NPC.js: Dodan Health Bar, Taming logika in Loot Drop.TextureGenerator: Urejen draw items (Bone, Axe, Pickaxe).
🟡 2. Odprte Tehnične Naloge (To-Do)
Stvari, ki bi jih bilo dobro urediti za boljšo stabilnost.
- Global Error Handling
- Dodan
ErrorHandler.js(Red Screen of Death). Ujame napake, ki se zgodijo med igranjem, in prikaže uporabniku prijazen crash screen z možnostjo reload-a.
- Dodan
- Centraliziran Loot Manager
- Implementiran
LootSystem.js. Skrbi zaspawnLoot, animacijo dropov, pobiranje (razdalja do igralca) in čiščenje InteractionSystem-a.
- Implementiran
- Z-Sorting (Depth) Optimizacija
- Implementiran "dirty check" v
Player.jsinNPC.js. Depth se posodobi samo, če se Y koordinata spremeni za več kot 0.1px, namesto vsak frame.
- Implementiran "dirty check" v
🔴 3. Performančne Nadgradnje (High-End)
Če bo igra postala počasna pri velikem svetu (256x256).
-
Phaser Blitter / Tilemap (Zamenjava 1000 spritov za teren z enim objektom)
-
Spatial Hashing za Kolizijo
- Implementiran
SpatialGrid.js. Igralna scena zdaj uporablja mrežo za hitro iskanje NPC-jev v bližini (InteractionSystem,NPC AI), namesto da bi iterirala čez celo tabelo.
- Implementiran
-
Phaser Blitter / Tilemap (Zamenjava 1000 spritov za teren z enim objektom)
-
Web Workers za AI (Težje, ker JS nima shared memory, samo message passing)ding (iskanje poti) na ločen thread (Worker), da ne blokira glavne igre.
Status: Koda je trenutno stabilna in očiščena (7.12.2025).