Files
novafarma/dev_plan.md

186 lines
4.4 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
---
## FAZA 0: Projektni Setup
**Status:** ✅ COMPLETE - Čaka na testiranje naročnika
### 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:** ⏸️ Čaka
### Opravila:
- [ ] Implementacija proceduralnega generatorja terena (Perlin noise)
- [ ] Definicija osnovnih tipov terena (trava, zemlja, kamen)
- [ ] Testiranje na zemljevidu velikosti 100x100 kock 2.5D
- [ ] Implementacija isometričnega pogleda
- [ ] 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:** ⏸️ Čaka
### Opravila:
- [ ] Dodaj igralca (2D pixel art sprite 32x32px)
- [ ] Implementacija WASD gibanja
- [ ] Depth sorting (z-index za isometric view)
- [ ] Testiranje kolizije z robovi mape
- [ ] Dodaj barvno shemo za teren (gradient, variacije)
- [ ] 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:** ⏸️ Čaka
### Opravila:
- [ ] Dodaj NPC-je (3 na velikost 100x100)
- [ ] Implementacija AI gibanja (random walk)
- [ ] Dodaj okrasne elemente: rože, grmičevje
- [ ] Dodaj parallax okrasne elemente: oblaki, ptice
- [ ] 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:** ⏸️ Čaka
### Opravila:
- [ ] Culling: renderiranje samo vidnih tiles
- [ ] Object pooling za sprite-e
- [ ] FPS monitor
- [ ] Performance testing (60 FPS minimum)
- [ ] Memory leak check
### Testiranje (ročno):
**Naročnik potrdi:** Igra teče pri 60 FPS, brez memory leakov
---
## FAZA 5: UI Elementi
**Status:** ⏸️ Čaka
### Opravila:
- [ ] Zdravje (HP bar)
- [ ] Lakota/žeja merila
- [ ] Mini mapa
- [ ] Inventar (osnovni)
### Testiranje (ročno):
**Naročnik potrdi:** UI elementi so vidni in funkcionalni
---
## FAZA 6: Save/Load Sistem
**Status:** ⏸️ Čaka
### Opravila:
- [ ] Serializacija stanja igre
- [ ] Shranjevanje v localStorage/file
- [ ] Nalaganje shranjenega stanja
- [ ] Auto-save funkcionalnost
### Testiranje (ročno):
**Naročnik potrdi:** Save/Load deluje, stanje se ohranja
---
## FAZA 7: Survival Mehanike
**Status:** ⏸️ Čaka
### Opravila:
- [ ] Dan/noč cikel
- [ ] Sistem lakote in žeje
- [ ] Zbiranje virov
- [ ] Crafting osnove
### Testiranje (ročno):
**Naročnik potrdi:** Survival mehanike delujejo
---
## FAZA 8: Electron Build
**Status:** ⏸️ Čaka
### Opravila:
- [ ] Electron packaging
- [ ] Windows .exe build
- [ ] Ikone in metadata
- [ ] Installer kreacija
### Testiranje (ročno):
**Naročnik potrdi:** .exe se zažene samostojno, installer deluje
---
## 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]
```