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

238 lines
6.3 KiB
Markdown

# Začnemo nov projekt
- Ne uporabi znanja iz prejšnjih projektov
- Ustvari opravila (tasks)
- Ustvari lokalni git za uporabnika hipodevil666@gmail.com
# Tehnologija
- Uporabi Node.js (verzija 18+)
- Uporabi Phaser.io (verzija 3.60+)
- Za gradnjo igre za PC uporabi Electron.js (verzija 27+)
# Tehnične zahteve
- Resolucija okna: 1280x720
- Velikost sprite-a igralca: 32x32px
- Velikost kocke terena: 48x48px (isometric)
- Git repository: local
# Igra
- Igra bo igra preživetja (survival game)
- Igra bo 2.5D isometrični pogled mape, ki je videti 3D
- Igralec in NPC-ji so 2D pixel art
- Slog igre je pixelart
---
## 🎨 **SESSION UPDATE: 11. DECEMBER 2025 (PM)** 🎨
**Status:** ✅ MAJOR MILESTONE - GAMEPLAY SYSTEMS COMPLETE!
### **PHASE 21.5: ISOMETRIC GAMEPLAY SYSTEMS** ✅
- [x] FarmingSystem.js (235 lines) - till/plant/harvest mechanics
- [x] BuildSystem.js (194 lines) - build mode, 5 fence variants, buildings
- [x] UI Stats Panels (zombie worker + farm stats)
- [x] 6 fence sprite assets generated
- [x] Ultra transparency processing
- [x] Bug fixes (5 critical)
### **PHASE 22: PLAYER CONTROLS & INTERACTION** ✅
- [x] **Farming Controls** - Space key handler (till/plant/harvest)
- [x] **Resources Display** - Wood/Stone/Iron counters (top-right)
- [x] **Day/Night Enhancement** - HH:MM format, ☀️/🌙 indicators
- [x] **Time Speed Control** - 1x/2x/5x buttons + pause/resume
- [x] **Sprite Scale Adjustments** - Player 2.5x, Zombie 2.5x, NPCs 0.2x
### **VISUAL IMPROVEMENTS** ✅
- [x] Ultra white background removal (240+ brightness)
- [x] Off-white removal (cream, beige)
- [x] 21 new sprites added to transparency processing
- [x] Animals, NPCs, structures, objects
**Development Time:** 2.5 hours
**Code Written:** ~680 lines
**Systems Implemented:** 2 major + 4 subsystems
---
## FAZA 0: Projektni Setup
**Status:** ✅ ODOBRENO (2025-12-06)
### Opravila:
- [x] Inicializacija npm projekta
- [x] Setup Git repository
- [x] Kreiranje strukture map (src/, assets/, dist/)
- [x] Instalacija odvisnosti (Phaser, Electron)
- [x] Osnovna konfiguracija Electron + Phaser
- [x] Test run: prazno črno okno
### Testiranje (ročno):
**Naročnik potrdi:** Electron okno se odpre in prikaže prazno Phaser sceno
---
## FAZA 1: Generacija Terena
**Status:** ✅ ODOBRENO (2025-12-06)
### Opravila:
- [x] Implementacija proceduralnega generatorja terena (Perlin noise)
- [x] Definicija osnovnih tipov terena (trava, zemlja, kamen)
- [x] Testiranje na zemljevidu velikosti 100x100 kock 2.5D
- [x] Implementacija isometričnega pogleda
- [x] Osnovna kamera kontrola (zoom, pan)
### Tehnične specifikacije:
- Velikost mape: 100x100 kock
- Tip generacije: Perlin noise
- Tipi terena: grass, dirt, stone
- Isometric tile: 48x48px
### Testiranje (ročno):
**Naročnik potrdi:** Teren se generira, isometric view je pravilen, kamera deluje
---
## FAZA 2: Igralec in Gibanje
**Status:** ✅ ODOBRENO (2025-12-06)
### Opravila:
- [x] Dodaj igralca (2D pixel art sprite 32x32px)
- [x] Implementacija WASD gibanja
- [x] Depth sorting (z-index za isometric view)
- [x] Testiranje kolizije z robovi mape
- [x] Dodaj barvno shemo za teren (gradient, variacije)
- [x] Dodaj barvno shemo za igralca
### Tehnične specifikacije:
- Hitrost gibanja: 150 px/s
- Kontrole: WASD
- Sprite: 32x32px pixel art
- Depth sorting: po Y koordinati
### Testiranje (ročno):
**Naročnik potrdi:** Igralec se giblje, depth sorting deluje, kolizije pravilne
---
## FAZA 3: NPC-ji in Dekoracije
**Status:** ✅ ODOBRENO (2025-12-12)
### Opravila:
- [x] Dodaj NPC-je (3 na velikost 100x100)
- [x] Implementacija AI gibanja (random walk)
- [x] Dodaj okrasne elemente: rože, grmičevje
- [x] Dodaj parallax okrasne elemente: oblaki, ptice
- [x] Variacije okrasnih elementov (različne barve, velikosti)
### Tehnične specifikacije:
- Število NPC: 3 na 100x100 mapo
- AI: Random walk z pauzami
- Okrasni elementi: 5-10 različnih variant
- Parallax hitrost: 0.3x (oblaki), 0.5x (ptice)
### Testiranje (ročno):
**Naročnik potrdi:** NPC-ji se gibljejo, dekoracije prisotne, parallax učinek deluje
---
## FAZA 4: Optimizacija in Performance
**Status:** ✅ ODOBRENO (2025-12-12)
### Opravila:
- [x] Culling: renderiranje samo vidnih tiles
- [x] Object pooling za sprite-e
- [x] FPS monitor
- [x] Performance testing (60 FPS minimum)
- [x] Memory leak check
### Testiranje (ročno):
**Naročnik potrdi:** FPS stabilen na 60, memory usage nizek, brez leak-ov
---
## FAZA 5: UI Elementi
**Status:** ✅ ODOBRENO (2025-12-12)
### Opravila:
- [x] Zdravje (HP bar)
- [x] Lakota/žeja merila
- [x] Mini mapa
- [x] Inventar (osnovni)
### Testiranje (ročno):
**Naročnik potrdi:** UI elementi so vidni in funkcionalni
---
## FAZA 6: Save/Load System
**Status:** ✅ ODOBRENO (2025-12-12)
### Opravila:
- [x] Serializacija stanja igre
- [x] Shranjevanje v localStorage/file
- [x] Nalaganje shranjenega stanja
- [x] Auto-save funkcionalnost
### Dodatne funkcionalnosti (bonus):
- [x] 3 Save Slots
- [x] Export/Import save files
- [x] Save metadata (datum, čas, level)
- [x] Quick Save/Load (F5/F9)
### Testiranje (ročno):
**Naročnik potrdi:** Save/Load deluje, auto-save vsakih 5 minut
---
## FAZA 7: Survival Mehanike
**Status:** ✅ ODOBRENO (2025-12-12)
### Opravila:
- [x] Dan/noč cikel
- [x] Sistem lakote in žeje
- [x] Zbiranje virov
- [x] Crafting osnove
### Dodatne funkcionalnosti (bonus):
- [x] Seasons (4 sezone)
- [x] Weather (dež, nevihta)
- [x] Temperature system
- [x] Leveling system
- [x] Friendship system
- [x] 13 crafting receptov
### Testiranje (ročno):
**Naročnik potrdi:** Survival mehanike delujejo
---
## FAZA 8: Electron Build
**Status:** ✅ ODOBRENO (2025-12-12)
### Opravila:
- [x] Electron packaging (package.json konfiguracija)
- [x] Windows .exe build (NSIS + Portable)
- [x] Ikone in metadata (pripravljeno)
- [x] Installer kreacija (NSIS konfiguracija)
### Dodatne funkcionalnosti:
- [x] macOS build support (DMG)
- [x] Linux build support (AppImage + DEB)
- [x] Desktop shortcuts
- [x] Start menu shortcuts
- [x] Custom install directory
### Testiranje (ročno):
**Naročnik potrdi:** Build deluje, installer se namesti, ikone prikazane
---
## Navodila za testiranje
**Vsaka faza zahteva ročno potrditev naročnika pred prehodom na naslednjo fazo.**
Format potrditve:
```
FAZA [N]: [STATUS]
- Testirano: [DA/NE]
- Opombe: [opombe naročnika]
- Odobreno: [DA/NE]a
```