dodelani dnevnik
This commit is contained in:
207
DNEVNIK.md
207
DNEVNIK.md
@@ -1,75 +1,166 @@
|
||||
# 📔 DNEVNIK RAZVOJA: KRVAVA ŽETEV (NOVA FARMA)
|
||||
# 📔 DNEVNIK RAZVOJA: KRVAVA ŽETEV (ZOMBIE ROOTS)
|
||||
|
||||
## 📅 Začetek Projekta
|
||||
**Datum začetka:** 5. December 2025
|
||||
**Lokacija:** Nova Farma (c:\novafarma)
|
||||
**Engine:** Phaser 3 + Custom Antigravity Engine
|
||||
**Stil:** 2.5D Izometrični Pixel Art / Voxel
|
||||
## 📖 Zgodba in Lore
|
||||
**Protagonist:** Najstnik z značilnimi dredloksi, ki je preživel napad mutanta "Zmaj-Volka" (najvišji plenilec) in v procesu postal **Hibrid**. Okužen je z virusom, a imun, kar mu daje status **Alfe** med zombiji.
|
||||
|
||||
**Glavni Quest:**
|
||||
1. **Iskanje Sestre:** Izgubljena sestra je morda ključ do zdravila ali pa ujeta v laboratoriju.
|
||||
2. **Maščevanje:** Iskanje pravice za smrt staršev.
|
||||
3. **Odkrivanje Preteklosti:** Zbiranje starih zapiskov med rudarjenjem, ki razkrivajo, kako je virus ušel in ustvaril mutante (troli, vilinci).
|
||||
|
||||
---
|
||||
|
||||
## 🧟♂️ Koncept Igre & Zgodba
|
||||
## 🎮 Jedrne Mehanike (Game Concept)
|
||||
|
||||
### Naslov: Krvava Žetev (Zombie Roots)
|
||||
### 1. 🧟 Zombi Delavci (Avtomatizacija)
|
||||
To je srce igre. Igralec sam ne more postoriti vsega.
|
||||
* **Krotenje:** Igralec izkorišča svoj "Alfa" vonj, da ukroti divje zombije.
|
||||
* **Leveling:** Zombiji pridobivajo XP glede na nalogo (Kmetovanje, Rudarjenje, Straža).
|
||||
* **Regeneracija & Grobovi:** Zombiji so stroji, ki se obrabijo. Za počitek ne potrebujejo postelj, ampak **Grobove** (zgrajene iz kamna in zemlje). Grob upočasni razpadanje.
|
||||
* **Smrt & Dediščina:** Ko zombi dokončno razpade:
|
||||
* Postane **Visokokakovostno Gnojilo** za pridelke.
|
||||
* Spusti XP za igralca, kar pomaga pri levelanju samega sebe.
|
||||
|
||||
**Zgodba:**
|
||||
Svet, kakršnega smo poznali, je propadel. Nisi vojak, nisi heroj – si kmet. Tvoja naloga ni zgolj preživeti, ampak ponovno pognati korenine civilizacije. Prebudiš se na zapuščeni kmetiji sredi opustošene dežele. Čez dan je svet varljiv: sonce sije na ruševine, trava raste in narava si jemlje nazaj, kar je njeno.
|
||||
### 2. 🧠 Hibridna Veščina (Hybrid Skill)
|
||||
Razumevanje "okuženih".
|
||||
* **Level 1:** Zombiji samo godrnjajo ("Hnggg...").
|
||||
* **Level 5:** Razumevanje ključnih besed ("Ruda... Trdno...").
|
||||
* **Level 10 (Max):** Zombiji govorijo celotne stavke in razkrivajo skrivnosti ali opozarjajo na nevarnosti ("Alfa, Zmaj-Volk prihaja!").
|
||||
|
||||
A ko pade noč, pridejo oni. **Prekleti.**
|
||||
### 3. 🌱 Kmetovanje in Širitev
|
||||
* **Micro Farm:** Začetek na parceli 8x8 kock.
|
||||
* **Širitev:** Nova zemljišča so zaklenjena/poraščena. Tja moraš poslati zombije, da "očistijo" cono, preden jo lahko uporabiš.
|
||||
* **Mesojedke (Mario Plants):** Endgame obramba. Hranijo se z mesom (ali deli zombijev) in ne vodo.
|
||||
|
||||
Tvoj cilj je obnoviti kmetijo, pridelati hrano (ki je zdaj najvrednejša valuta) in zgraditi obrambo. Trgovali boste z redkimi preživelimi trgovci, ki si upajo potovati med naselbinami.
|
||||
### 4. 💰 Ekonomija in Obnova
|
||||
* **Kovanje Denarja (Minting):** Zlatniki ne padajo iz pošasti. Izkopati moraš zlato rudo, jo pretopiti in skovati denar.
|
||||
* **Obnova Mesta:** Popravilo hiš NPC-jev (tu so "Projekti" -> rabiš les, kamen, denar).
|
||||
* **Posojanje Zombijev:** Ko imaš dovolj "Srčkov" z NPC-jem (npr. Kovačem), mu lahko posodiš svoje zombije za delo v zameno za denar in boljša orodja.
|
||||
|
||||
**Ključne Mehanike:**
|
||||
* **Farming (Kmetovanje):** Realistična rast pridelkov (koruza, pšenica, itd.). Vsaka rastlina ima svoj cikel.
|
||||
* **Survival (Preživetje):** Lakota, žeja in spanje.
|
||||
* **Combat (Boj):** Brani svojo letino pred nočnimi napadi zombijev.
|
||||
* **Economy (Ekonomija):** Prodajaj pridelke za zlato, kupuj boljša orodja in semena.
|
||||
### 5. 📚 Raziskovanje in Zbirateljstvo (The Album)
|
||||
Igralec ima **Album**, ki beleži vse odkrite stvari. To spodbuja raziskovanje.
|
||||
* **Kategorije:**
|
||||
* **Artefakti:** Stari predmeti, najdeni med kopanjem zemlje (Arheologija).
|
||||
* **Hrana & Pridelki:** Ko prvič vzgojiš ali skuhaš nekaj novega.
|
||||
* **Zombiji:** Beleženje različnih tipov (Defektni, Legendarni, Navadni).
|
||||
* **Rude & Smeti:** Tudi smeti imajo svojo zgodbo!
|
||||
|
||||
### 6. 🌍 Živi Svet in Bitja
|
||||
* **Nočna Sova (NPC Poštar):** Ponoči tiho prileti in prinese **osebna pisma** od NPC-jev (zahvale, darila, quest iteme). Je znak prijateljstva.
|
||||
* **Netopirji (Event Oznanjevalci):** Ko se nebo napolni z netopirji in slišiš njihovo cviljenje, to oznanja **Event** (npr. Invazijo, Krvavo Luno ali Prihod Trgovca).
|
||||
* **Funa:**
|
||||
* **Mutirane Živali:** Dvoglave krave, kure z oklepi. Vir mesa in čudnih surovin.
|
||||
* **Normalne Živali:** Izjemno redke. Če jih najdeš, so vredne bogastvo.
|
||||
### 7. 🐄 Živinoreja: Normalna vs. Mutirana
|
||||
Vsaka žival ima svojo "toksično" različico s posebnimi produkti.
|
||||
* **Krava:** Normalna daje Mleko. **Mutirana** daje **Svetleče Mleko** (za napoje/luči).
|
||||
* **Ovca:** Normalna daje Volno. **Mutirana** daje **Jekleno Volno** (za oklepe/obrambo).
|
||||
* **Pujs:** Normalni daje Meso. **Mutirani** spušča **Magične predmete** (rune, svitke - vir magije).
|
||||
* **Kura:** Normalna daje Jajca. **Mutirana** daje **Kovinsko Perje** (material za izdelavo orožja/puščic).
|
||||
|
||||
### 8. 🌊 Ocean in Otoki
|
||||
Svet se razširi na vodo.
|
||||
* **Potapljanje:** Nabiranje školjk in zakladov ob obali.
|
||||
* **Čolnarjenje:** Potovanje na "Čudne Otoke". Vsak otok ima unikatne biome in naloge.
|
||||
* **Boss Map:** Na otokih iščeš delčke zemljevida, ki vodijo do Glavnega Bossa.
|
||||
|
||||
### 9. ⏳ Generacije in Dediščina (Legacy System)
|
||||
Igra poteka skozi leta.
|
||||
* **Staranje:** Protagonist se stara (Najstnik -> Odrasel -> Starostnik).
|
||||
* **Družina:** Poroka (z NPC ali drugim igralcem) -> Partner se preseli na farmo.
|
||||
* **Otroci:** Možnost imeti do 2 otroka.
|
||||
* **Nadaljevanje:** Ko glavni lik umre, prevzameš vlogo **Otroka ali Partnerja**. Vse lastništvo se prenese. Igra je neskončna.
|
||||
|
||||
### 10. 🤝 Frakcije Mutantov (Lore)
|
||||
Ni vse, kar je mutirano, zlobno.
|
||||
* **Dobri Mutanti:** Obstajajo vasi Vilincev, Gnomov in Trolov, s katerimi lahko trguješ.
|
||||
### 11. 📜 Sistem Znanja (Blueprints)
|
||||
Ne moreš zgraditi vsega takoj.
|
||||
* **Odkrivanje:** Načrte (Blueprints) za nove zgradbe in orodja najdeš redko med **kopanjem zemlje/rude** ali v skrinjah v mestu.
|
||||
* **Workbench:** Osnovna postaja za izdelavo predmetov.
|
||||
* **Pečica (Furnace):** Nujna za predelavo rude v palice (Iron/Gold Ingots) in peko hrane.
|
||||
|
||||
### 12. 🏗️ Gradnja in Strukture
|
||||
Igra ponuja bogat sistem gradnje.
|
||||
* **Bivališča:**
|
||||
* **Starter House:** Začetna koča, nadgradljiva.
|
||||
* **Barn (Hlev):** Za mutirane in normalne živali.
|
||||
* **Grobovi:** Nujni za počitek Zombi delavcev.
|
||||
* **Skladiščenje:**
|
||||
* **Silos/Granary:** Za shranjevanje hrane (da ne zgnije).
|
||||
* **Chest:** Za predmete.
|
||||
* **Mesto:** Obnova porušenih zgradb (Trgovina, Kovačija, Mestna Hiša).
|
||||
|
||||
### 13. ⛈️ Ekstremno Vreme in Letni Časi
|
||||
Preživetje je odvisno od priprave.
|
||||
* **Zima:** Ekstremni mraz. Če nisi **pravilno oblečen** (zimska oblačila), izgubljaš HP. Rastline zunaj pomrznejo -> nujna gradnja **Rastlinjakov** (Steklo iz mivke).
|
||||
* **Poletje:** Nevarnost suše in vročinskega udara. Rastline potrebujejo več vode -> nujni **Avtomatski Zalivalniki**.
|
||||
* **Jesen:** Posebni "Survival" questi za pripravo ozimnice.
|
||||
|
||||
### 14. 🌍 Lokalizacija in Platforme
|
||||
* **Jeziki:** Slovenščina (Primarni) 🇸🇮, EN, DE, IT, CN.
|
||||
* **Platforme:**
|
||||
* **Faza 1:** PC (Steam) + Mac (Apple).
|
||||
* **Faza 2:** Mobilne naprave (Android/iOS).
|
||||
* **Faza 3:** Konsole (Switch/PS5/Xbox).
|
||||
* **Dosežki (Achievements):** Integracija s Steam Achievements (npr. "Master Farmer", "Zombie Tamer").
|
||||
|
||||
### 15. ⏳ Statistika in Dediščina
|
||||
* **Total Playtime:** Igra beleži skupni čas igranja v realnih urah. Ta števec se nikoli ne resetira, tudi če umreš.
|
||||
* **Generacije:** Ko umreš, prevzameš vlogo potomca, a statistika *časa* teče dalje.
|
||||
|
||||
### 16. 🌳 Sadjarstvo in Sezonskost
|
||||
Rastline so vezane na letne čase.
|
||||
* **Sezonske Rastline:** Večina raste le v določeni sezoni (npr. Lubenice poleti, Buče jeseni).
|
||||
* **Trpežne Rastline:** Nekatere (npr. korenje) zdržijo do prve zime.
|
||||
* **Jablana (Apple Tree):** Prvo sadno drevo v igri. Je trajnica (ne rabiš je saditi vsako leto) in daje jabolka vsako jesen.
|
||||
* **Transport:** Osel za prenašanje tovora.
|
||||
|
||||
### 17. ⚒️ Orodja in Rudarjenje
|
||||
* **Bone Tools:** Začetno orodje iz kosti.
|
||||
* **Starter Chest:** Ob vsakem začetku igre dobiš skrinjo z **naključnimi stvarmi** (lahko vrhunsko orodje ali pa samo nekaj hrane).
|
||||
* **Dragi Kamni:** Diamanti, Smaragdi, Kristali. Sprva le za prodajo (visoka cena), kasneje za *Endgame* magijo/nadgradnje.
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Dosedanji Napredek (Feature Log)
|
||||
## 🛠️ Tehnični Log (Development History)
|
||||
|
||||
### Faza 1: Temelji (5. - 6. Dec 2025)
|
||||
- [x] Vzpostavitev projekta (Node.js, Electron).
|
||||
- [x] Implementacija **Antigravity Engine** (modularni sistem).
|
||||
- [x] **Proceduralno Generiranje Sveta:** Uporaba Perlin Noise za ustvarjanje neskončnega, razgibanega terena (trava, voda, pesek).
|
||||
- [x] Izometrična kamera in gibanje igralca.
|
||||
### Faza 4: Konceptualna Eksplozija (8. Dec 2025 - Trenutno)
|
||||
* **Expansion:** Definiran celoten "Zombie Roots" koncept.
|
||||
* Hibridni heroj, Sestra, Maščevanje.
|
||||
* Zombi Delavci (Grobovi, Utrujenost).
|
||||
* Generacije (Poroka, Otroci, Dediščina).
|
||||
* **Survival:** Določeni pogoji za Zimo/Poletje, Oblačila.
|
||||
* **Content:**
|
||||
* Mutirane živali (Jeklena Volna, Svetleče Mleko).
|
||||
* Ocean in Otoki.
|
||||
* Sistem Načrtov (Blueprints).
|
||||
* **Tech:** Pripravljeni Skeleton sistemi (`ZombieWorkerSystem`, `LegacySystem`, `BlueprintSystem`, `ExpansionSystem`).
|
||||
* **Stats:** Implementiran `Global Score` in `Total Playtime`.
|
||||
|
||||
### Faza 2: Sistemi Igre (6. - 7. Dec 2025)
|
||||
- [x] **Farming System:**
|
||||
- Oranje zemlje z motiko.
|
||||
- Sajenje semen.
|
||||
- Faze rasti (seme -> kalček -> rastlina -> zrelo).
|
||||
- Žetev pridelkov.
|
||||
- [x] **Inventory System:**
|
||||
- Delujoč inventar z zlaganjem (stacking).
|
||||
- Drag & Drop (še v delu) / Slot selection.
|
||||
- [x] **Time & Weather System:**
|
||||
- Cikel dan/noč z vizualno zatemnitvijo.
|
||||
- Dež (zvočni in vizualni efekti), ki namaka zemljo.
|
||||
### 19. 🔮 Dolgoročna Vizija (Master Plan)
|
||||
Strategija razvoja serije.
|
||||
* **Krvava Žetev 1 (Trenutno):** Ostaja v **2.5D Izometričnem Pixel/Voxel stilu**.
|
||||
* **Cilj:** Dokončati masivno vsebino (zombiji, otoki, geneacije) na stabilnem enginu.
|
||||
* **Učenje:** Razvoj služi kot "učna pot" za programiranje kompleksnih sistemov.
|
||||
* **Krvava Žetev 2 (Prihodnost):** Načrtovana kot **Polna 3D Igra** (First/Third Person).
|
||||
* Ko bo avtor pridobil dovolj izkušenj, bo drugi del igre "Next-Gen" nadgradnja v 3D svetu.
|
||||
|
||||
### Faza 3: Poliranje in Realizem (8. Dec 2025 - Danes)
|
||||
- [x] **Statistika in XP:**
|
||||
- Dodan sistem izkušenj (XP). Igralec dobiva XP za sekanje dreves, rudarjenje in pobiranje pridelkov.
|
||||
- Prikaz Levela in XP vrstice v HUD-u.
|
||||
- [x] **Novi Pridelki:**
|
||||
- **Pšenica:** Standardni pridelek, raste srednje hitro.
|
||||
- **Koruza:** Visoka rast, počasnejša, a večji donos.
|
||||
- Unikatne teksture za vsako fazo rasti.
|
||||
- [x] **3D Voxel Orodja:**
|
||||
- Proceduralno generirana orodja v 3D "Minecraft" stilu.
|
||||
- Sekira, Kramp, Motika, Meč, Zalivalka - vsa imajo volumen in senčenje.
|
||||
- [x] **Zvok:**
|
||||
- Proceduralno generirani zvočni effekti (kopanje, sekanje, koraki).
|
||||
- Popravek manjkajočih zvokov (`playDig`).
|
||||
### 18. 🖥️ Tehnične Specifikacije in Časovnica (Ocena)
|
||||
Načrt za razvoj in zahteve.
|
||||
|
||||
**Časovnica Razvoja:**
|
||||
* **Kickstarter Demo:** 2-3 mesece.
|
||||
* **Early Access (Beta):** 8-12 mesecev.
|
||||
* **Full Release v1.0:** 1.5 - 2 leti.
|
||||
|
||||
**Velikost Igre:**
|
||||
* **Disk:** cca. **500 MB - 1 GB** (optimizirano, večino zavzame zvok/glasba).
|
||||
|
||||
**Sistemske Zahteve (PC):**
|
||||
* **Minimum:** CPU i3, 4GB RAM, Intel HD Graphics (30 FPS @ 720p).
|
||||
* **Priporočeno:** CPU i5, 8GB RAM, GTX 1050 ali boljše (60 FPS @ 1080p, High Shadows).
|
||||
* **Opomba:** Igra je procesorsko zahtevna zaradi simulacije AI (Zombiji) in proceduralnega sveta.
|
||||
|
||||
---
|
||||
|
||||
## 🔮 Vizija za Naprej (TODO)
|
||||
1. **Napredni NPC-ji:** Trgovci, ki pridejo le ob določenih dnevih.
|
||||
2. **Gradnja Baze:** Postavljanje ograj in stolpov za obrambo.
|
||||
3. **Razširitev Sveta:** Dodajanje novih biomov (gozd, puščava).
|
||||
4. **Save System:** Shranjevanje napredka v datoteko.
|
||||
|
||||
---
|
||||
*Zadnja posodobitev: 8. December 2025 ob 01:55*
|
||||
*Zadnja posodobitev koncepta: 8. December 2025 (Mega Update + Tech Specs)*
|
||||
|
||||
49
KICKSTARTER_PLAN.md
Normal file
49
KICKSTARTER_PLAN.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# 🚀 KICKSTARTER KAMPANJA NAČRT: KRVAVA ŽETEV
|
||||
|
||||
## 🎯 Cilj
|
||||
Pripraviti prepričljiv "Vertical Slice" demo in promocijski material, ki bo prodal unikatno idejo "Zombi Kmetovanja".
|
||||
|
||||
## 📦 1. Potrebni Materiali (Assets)
|
||||
|
||||
### A. Gameplay Trailer (Skripta)
|
||||
1. **Intro (Cinematic):** Kamera drsi čez megleno polje. Vidimo ruševine mesta v daljavi.
|
||||
2. **Hero Reveal:** Protagonist stopi iz hiše. Vidimo dredlokse in unikatna oblačila.
|
||||
3. **Farming:** Hitri rezi (montaža) oranja, sajenja, žetve. Prikaz letnih časov (Zima -> Rastlinjak).
|
||||
4. **THE TWIST (Zombie Workers):**
|
||||
* *Tekst na ekranu:* "Ne moreš preživeti sam..."
|
||||
* *Posnetek:* Igralec vrže "Meso" na tla. Zombi pride, ga poje, se prikloni.
|
||||
* *Posnetek:* Igralec pokaže na njivo. Zombi začne okopavati.
|
||||
* *Posnetek:* 10 zombijev dela v sinhronizaciji.
|
||||
5. **Combat & Exploration:** Prikaz čolna, otokov in bega pred Mutiranimi Kravami.
|
||||
6. **Call to Action:** "Pridruži se revoluciji. Kickstarter Live Now."
|
||||
|
||||
### B. Screenshot Paket
|
||||
1. **"Cozy" Farm:** Sončni zahod, jablana, lepo urejene njive.
|
||||
2. **"Spooky" Night:** Megla, svetleče oči zombijev, igralec z baklo.
|
||||
3. **Inventory/Crafting:** Prikaz UI sistema (mora biti lep!).
|
||||
4. **Boss Tease:** Senca Zmaj-Volka ali Mutiranega Trola.
|
||||
|
||||
## 🛠️ 2. Demo Zahteve (Must-Haves)
|
||||
V demu NE SME biti hroščev.
|
||||
- [ ] **Tutorial:** Kratek in jasen (WASD, "E" za interakcijo).
|
||||
- [ ] **Prolog Zgodbe:** Najdeno pismo sestre ali dnevnik staršev.
|
||||
- [ ] **Day 1 Loop:** Posadiš prvo repo.
|
||||
- [ ] **Night 1 Loop:** Preživiš noč, prvič srečaš zombija.
|
||||
- [ ] **Worker Unlock:** Dobiš prvega delavca pred koncem dema.
|
||||
- [ ] **Konec:** "Hvala za igranje - podprite nas na KS!"
|
||||
|
||||
## 🎨 3. Vizualni Popravki (Polish)
|
||||
Pred snemanjem je treba urediti:
|
||||
- [ ] **UI Skin:** Inventar mora imeti teksturo (star papir, preperel les), ne samo barv.
|
||||
- [ ] **Particle Effects:** Prah pri hoji, listje v vetru, kri pri udarcih.
|
||||
- [ ] **Lighting:** Dinamične sence za igralca in zombije.
|
||||
|
||||
## 💰 4. Stretch Goals (Ideje)
|
||||
* **€10k:** Osnovna igra (PC).
|
||||
* **€25k:** Večja mapa + Otoki.
|
||||
* **€50k:** Multiplayer (Co-op).
|
||||
* **€100k:** Port za Switch in Mobile.
|
||||
* **€200k:** *Dubbing* (Glasovna igra) v 5 jezikih.
|
||||
|
||||
---
|
||||
*Ta dokument služi kot vodič za pripravo marketinških materialov.*
|
||||
96
TASKS.md
96
TASKS.md
@@ -157,11 +157,103 @@ Implementacija arhitekturnih stebrov po zgledu Stardew Valley.
|
||||
- [x] NEAREST Filter enforce
|
||||
- [x] Tile Padding/Extrude (No bleeding)
|
||||
- [x] Pixel-Perfect Math.round positioning
|
||||
- [x] **UI/Drawing Integration**: Združitev UI/Drawing modulov za enoten API.
|
||||
- [x] **Depth Sorting v2.0**
|
||||
- [x] Y-Sorting za vse entitete
|
||||
- [ ] **Concept Integration**
|
||||
- [ ] Poenotenje vseh sistemov pod `Antigravity` namespace (Future Refactor)
|
||||
|
||||
## 🌈 Phase 10: Visual Overhaul & Realism (Current)
|
||||
Ekskluzivni vizualni popravki za potopitveno izkušnjo.
|
||||
|
||||
- [x] **Realistic Tools (3D Voxel)**: Sekira, Kramp, Motika, Meč, Zalivalka (v celoti proceduralno generirano).
|
||||
- [x] **Realistic Crops**:
|
||||
- [x] Pšenica (4 faze, zlati snopi).
|
||||
- [x] Koruza (Visoka rast, 4 faze, regeneracija).
|
||||
- [x] **Inventory Icons Update**: Unikatne ikone za semena in pridelke namesto generičnih krogov.
|
||||
- [x] **Sound Fixes**: Implementacija manjkajočih zvokov (npr. `playDig`).
|
||||
- [ ] **Advanced World Details**:
|
||||
- [ ] Boljša voda (animacija).
|
||||
- [ ] Več dekoracij (ograje, poti).
|
||||
|
||||
## 🧟 Phase 11: Zombie Roots Integration (New Mechanics)
|
||||
Implementacija jedrnih mehanik iz novega koncepta "Krvava Žetev".
|
||||
|
||||
- [ ] **Zombie Worker AI**
|
||||
- [ ] `WORK_FARM`: Zombi avtomatsko zaliva/žanje v določenem radiusu.
|
||||
- [ ] `WORK_MINE`: Zombi koplje kamenje/rudo.
|
||||
- [ ] **Decay System**: Zombi s časom izgublja energijo/HP.
|
||||
- [ ] **Death Drop**: Gnojilo (Fertilizer) + XP ob smrti.
|
||||
- [ ] **Grave System**
|
||||
- [ ] Izdelava Groba (Crafting).
|
||||
- [ ] Počitek: Zombi v grobu se regenerira (počasneje razpada).
|
||||
- [ ] **Expansion System (Micro Farm start)**
|
||||
- [ ] Zaklepanje con (megla/neprehodno).
|
||||
- [ ] Naloga: "Pošlji zombije očistit cono".
|
||||
- [ ] **Hybrid Skill & Language**
|
||||
- [ ] Skill Tree UI za Hibrida.
|
||||
- [ ] Prevajalnik dialogov (Level 1: "...hggh", Level 10: "Nevarnost!").
|
||||
- [ ] **Economy: Minting & Crafting**
|
||||
- [ ] **Blueprint System**: Drop chance pri kopanju (`unlockRecipe(id)`).
|
||||
- [ ] **Workstation Logic**:
|
||||
- [ ] Workbench (Crafting UI v2.0).
|
||||
- [ ] Furnace (Input slot -> Fuel -> Output slot timer).
|
||||
- [ ] Talilnica (Furnace) za rudo -> palice.
|
||||
- [ ] Kovnica (Mint) za palice -> zlatniki.
|
||||
- [ ] **Building Expansion**
|
||||
- [ ] **Barn**: Objekt za shranjevanje živali.
|
||||
- [ ] **Silos**: Objekt za shranjevanje hrane (poveča kapaciteto).
|
||||
- [ ] **Starter House**: Nadgradnje (Level 1 -> Level 2 dodata prostor).
|
||||
- [ ] **Collection Album (Zbirateljstvo)**
|
||||
- [ ] UI Knjiga (z nalepkami/slikami).
|
||||
- [ ] Tracking System: Odklepanje vnosov ob pobiranju itemov.
|
||||
- [ ] **Arheologija**: Naključna možnost za najdbo Artefakta pri kopanju zemlje.
|
||||
- [ ] **World Events & Entities**
|
||||
- [ ] **Nočna Sova**: Dostava Quest Itemov/Daril (vezano na Friendship system).
|
||||
- [ ] **Netopirji**: Vizualni efekt (roji) za napoved eventov.
|
||||
- [ ] **Mutanti**: Troli in Vilinci (AI + Spawn Logic).
|
||||
- [ ] **Živali**: Mutirane (npr. krave) in Normalne živali.
|
||||
|
||||
## 🧬 Phase 12: Exploration & Legacy (Endgame)
|
||||
- [ ] **Livestock System**
|
||||
- [ ] Hlev za živali.
|
||||
- [ ] Loot Tables: Normalno vs. Mutirano (Mleko vs. Svetleče Mleko).
|
||||
- [ ] **Ocean System**
|
||||
- [ ] Potapljanje (animacija, kisik bar).
|
||||
- [ ] Čoln (Vehicle controller).
|
||||
- [ ] Generacija Otokov (Island Nodes).
|
||||
- [ ] **Legacy System (Generacije)**
|
||||
- [ ] Age Counter (Leta/Letni časi).
|
||||
- [ ] Marriage Logic + Child Spawn.
|
||||
- [ ] **Inheritance**: Prenos inventarja/farme na novega lika ob smrti.
|
||||
- [ ] **Fractions**
|
||||
- [ ] Reputation System za Mutante (Dobri/Zlobni).
|
||||
|
||||
## 🌡️ Phase 13: Elements & Survival (Hardcore)
|
||||
- [ ] **Weather System v2.0**
|
||||
- [ ] **Letni Časi:** Zima (Sneg, Mraz), Poletje (Vročina, Suša).
|
||||
- [ ] **Temperature Logic:** Če `Temp < 0` in nimaš `WinterCoat` -> HP pada.
|
||||
- [ ] **Rastlinjak (Greenhouse):** Crafting Stekla (Mivka + Peč). Omogoča rast pozimi.
|
||||
- [ ] **Localization & Platforms**
|
||||
- [ ] JSON prevodi (SLO, EN, DE, IT, CN).
|
||||
- [ ] Language Selector v meniju.
|
||||
- [ ] **Steam Integration**: Achievements & Cloud Save.
|
||||
- [ ] **Entities & Items**
|
||||
- [ ] **Playtime Tracker**: Beleženje ur igranja (Persistent Stats).
|
||||
- [ ] **Osel (Donkey):** Jahanje in Inventory.
|
||||
- [ ] **Jablana (Apple Tree):** Trajnica, daje pridelek jeseni.
|
||||
- [ ] **Seasonal Crops**: Logika rasti (Spring/Summer/Autumn only).
|
||||
- [ ] **Starter Chest**: Naključen loot ob New Game (Seed based).
|
||||
- [ ] **Bone Tools**: Crafting z receptom `Bone + Wood`.
|
||||
- [ ] **Gems:** Diamond/Emerald kot rare drop (za prodajo).
|
||||
|
||||
## 🎬 Phase 14: Kickstarter Prep (Vertical Slice)
|
||||
Priprava poliranega dema za javnost.
|
||||
- [ ] **Demo Mode**: Omejitev igranja na 3 in-game dneve.
|
||||
- [ ] **UI Polish**: Zamenjava placeholder UI z "Rustikalnim/Post-apo" stilom.
|
||||
- [ ] **Trailer Tools**: Skripta za gladko premikanje kamere (za snemanje).
|
||||
- [ ] **Visual Polish**: Dodajanje "Juice" efektov (Particles, Screenshake, Lighting).
|
||||
|
||||
---
|
||||
**PROJECT STATUS: TRANSFORMING...** 🦋
|
||||
*Last Updated: 2025-12-08 (Antigravity Engine Integration)*
|
||||
**PROJECT STATUS: PLANNING COMPLETE SAGA** 🌍
|
||||
*Last Updated: 8.12.2025*
|
||||
|
||||
@@ -89,6 +89,11 @@
|
||||
<script src="src/systems/SoundManager.js"></script>
|
||||
<script src="src/systems/ParallaxSystem.js"></script>
|
||||
<script src="src/systems/ParticleEffects.js"></script>
|
||||
<!-- New Conceptual Systems -->
|
||||
<script src="src/systems/ZombieWorkerSystem.js"></script>
|
||||
<script src="src/systems/LegacySystem.js"></script>
|
||||
<script src="src/systems/ExpansionSystem.js"></script>
|
||||
<script src="src/systems/BlueprintSystem.js"></script>
|
||||
|
||||
<!-- Multiplayer -->
|
||||
<script src="https://cdn.socket.io/4.7.2/socket.io.min.js"></script>
|
||||
|
||||
@@ -15,25 +15,28 @@ Stvari, ki so bile uspešno implementirane in izboljšale delovanje.
|
||||
- NPC-ji daleč od igralca zamrznejo svojo logiko.
|
||||
- [x] **Spatial Hashing (SpatialGrid)**
|
||||
- Implementiran `SpatialGrid.js` za hitrejše iskanje entitet v bližini.
|
||||
- [x] **Code Refactoring**
|
||||
- [x] **Code Refactoring & Systems**
|
||||
- `LootSystem.js`: Centraliziran loot.
|
||||
- `InteractionSystem.js`: Poenostavljena logika.
|
||||
- `TextureGenerator.js`: Volumetric sprite generation.
|
||||
- `StatsSystem.js`: Refaktoriran z `Score` in `Playtime` logiko.
|
||||
- [x] **Save Data Compression**
|
||||
- LZW kompresija za JSON save file (80-90% prihranek).
|
||||
- [x] **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 (Web Worker), da ne blokira glavne zanke.
|
||||
- [x] **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.
|
||||
- Če bo število zombijev naraslo nad 100, premakni iskanje poti (A*) na ločen thread.
|
||||
- [ ] **Asset Loading Screen**
|
||||
- Dodati pravi loading bar, če se poveča število tekstur (trenutno proceduralno generiranje traja nekaj milisekund).
|
||||
- Pravi loading bar za nalaganje tekstur in zvokov.
|
||||
|
||||
## 🔴 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.
|
||||
- **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: 7.12.2025*
|
||||
ddddddd
|
||||
*Zadnja posodobitev: 8.12.2025*
|
||||
@@ -34,6 +34,12 @@ class GameScene extends Phaser.Scene {
|
||||
// Initialize Spatial Grid
|
||||
this.spatialGrid = new SpatialGrid(10);
|
||||
|
||||
// Initialize Concept Systems (Zombie Roots)
|
||||
this.zombieSystem = new ZombieWorkerSystem(this);
|
||||
this.legacySystem = new LegacySystem(this);
|
||||
this.expansionSystem = new ExpansionSystem(this);
|
||||
this.blueprintSystem = new BlueprintSystem(this);
|
||||
|
||||
// Inicializiraj terrain sistem - 100x100 mapa
|
||||
console.log('🌍 Initializing terrain...');
|
||||
try {
|
||||
@@ -301,6 +307,9 @@ class GameScene extends Phaser.Scene {
|
||||
if (this.weatherSystem) {
|
||||
this.weatherSystem.update(delta);
|
||||
|
||||
// Concept Systems Updates
|
||||
if (this.zombieSystem) this.zombieSystem.update(this.time.now, delta);
|
||||
|
||||
// Night Logic
|
||||
if (this.weatherSystem.isNight()) {
|
||||
const isHorde = this.weatherSystem.isHordeNight();
|
||||
|
||||
32
src/systems/BlueprintSystem.js
Normal file
32
src/systems/BlueprintSystem.js
Normal file
@@ -0,0 +1,32 @@
|
||||
class BlueprintSystem {
|
||||
constructor(scene) {
|
||||
this.scene = scene;
|
||||
this.knownRecipes = ['axe', 'pickaxe', 'hoe']; // Default known
|
||||
this.blueprintsFound = []; // Items found but not learned? Or just list
|
||||
console.log('📜 BlueprintSystem: Initialized');
|
||||
}
|
||||
|
||||
// Called when digging/mining
|
||||
tryDropBlueprint() {
|
||||
if (Math.random() < 0.05) { // 5% chance
|
||||
const newBp = 'blueprint_barn'; // Randomize this
|
||||
console.log('✨ BLUEPRINT FOUND:', newBp);
|
||||
return newBp;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
learnBlueprint(id) {
|
||||
if (!this.knownRecipes.includes(id)) {
|
||||
this.knownRecipes.push(id);
|
||||
console.log('🧠 Learned Recipe:', id);
|
||||
// TODO: Add to Crafting Menu
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
hasRecipe(id) {
|
||||
return this.knownRecipes.includes(id);
|
||||
}
|
||||
}
|
||||
27
src/systems/ExpansionSystem.js
Normal file
27
src/systems/ExpansionSystem.js
Normal file
@@ -0,0 +1,27 @@
|
||||
class ExpansionSystem {
|
||||
constructor(scene) {
|
||||
this.scene = scene;
|
||||
this.unlockedZones = ['FARM_START']; // List of IDs
|
||||
this.islandsDiscovered = [];
|
||||
console.log('🌍 ExpansionSystem: Initialized');
|
||||
}
|
||||
|
||||
// Preveri, če je igralec v dovoljeni coni
|
||||
checkAccess(x, y) {
|
||||
// TODO: Map coordinates to Zone ID
|
||||
return true;
|
||||
}
|
||||
|
||||
unlockZone(zoneId) {
|
||||
if (!this.unlockedZones.includes(zoneId)) {
|
||||
this.unlockedZones.push(zoneId);
|
||||
console.log('🔓 Zone Unlocked:', zoneId);
|
||||
// TODO: Remove fog/barrier
|
||||
}
|
||||
}
|
||||
|
||||
travelToIsland(islandId) {
|
||||
console.log('🚤 Traveling to:', islandId);
|
||||
// TODO: Load island map / scene
|
||||
}
|
||||
}
|
||||
44
src/systems/LegacySystem.js
Normal file
44
src/systems/LegacySystem.js
Normal file
@@ -0,0 +1,44 @@
|
||||
class LegacySystem {
|
||||
constructor(scene) {
|
||||
this.scene = scene;
|
||||
this.worldAge = 0; // Days passed
|
||||
this.generation = 1;
|
||||
this.currentAge = 18; // Protagonist age
|
||||
|
||||
this.family = {
|
||||
partner: null,
|
||||
children: []
|
||||
};
|
||||
|
||||
console.log('⏳ LegacySystem: Initialized (Gen ' + this.generation + ')');
|
||||
}
|
||||
|
||||
// Call daily
|
||||
advanceDay() {
|
||||
this.worldAge++;
|
||||
// Age Logic
|
||||
if (this.worldAge % 365 === 0) {
|
||||
this.currentAge++;
|
||||
console.log('🎂 Birthday! Now age:', this.currentAge);
|
||||
}
|
||||
}
|
||||
|
||||
marry(npcId) {
|
||||
this.family.partner = npcId;
|
||||
console.log('💍 Married to:', npcId);
|
||||
}
|
||||
|
||||
haveChild(name) {
|
||||
if (this.family.children.length < 2) {
|
||||
this.family.children.push({ name: name, age: 0 });
|
||||
console.log('👶 New Child:', name);
|
||||
}
|
||||
}
|
||||
|
||||
dieAndInherit(heirIndex) {
|
||||
console.log('⚰️ Character Died. Passing legacy...');
|
||||
this.generation++;
|
||||
this.currentAge = 18; // Reset age for heir
|
||||
// TODO: Transfer inventory and stats
|
||||
}
|
||||
}
|
||||
@@ -12,6 +12,8 @@ class StatsSystem {
|
||||
this.currentLevel = 1;
|
||||
this.currentXP = 0;
|
||||
this.xpToNextLevel = XP_REQUIRED_BASE;
|
||||
this.score = 0; // GLOBAL SCORE (Za Legacy)
|
||||
this.totalPlaytime = 0; // Skupni čas igranja (sekunde)
|
||||
|
||||
// Stats
|
||||
this.health = 100;
|
||||
@@ -39,6 +41,7 @@ class StatsSystem {
|
||||
|
||||
update(delta) {
|
||||
const seconds = delta / 1000;
|
||||
this.totalPlaytime += seconds; // Track playtime
|
||||
|
||||
// Decay
|
||||
if (this.hunger > 0) {
|
||||
@@ -94,9 +97,21 @@ class StatsSystem {
|
||||
this.thirst = Math.min(this.thirst, this.maxThirst);
|
||||
}
|
||||
|
||||
// SCORE & DEATH LOGIC
|
||||
addScore(points) {
|
||||
this.score += points;
|
||||
// console.log(`⭐ Score +${points} (Total: ${this.score})`);
|
||||
}
|
||||
|
||||
die() {
|
||||
console.log('💀 Player died!');
|
||||
|
||||
// SCORE PENALTY (Legacy Cost)
|
||||
// Igralec NE izgubi farme, ampak izgubi del Dediščine (Točk).
|
||||
const penalty = Math.floor(this.score * 0.25); // Izguba 25% točk
|
||||
this.score = Math.max(0, this.score - penalty);
|
||||
console.log(`📉 Dediščina Oškodovana: -${penalty} Točk (Novo stanje: ${this.score})`);
|
||||
|
||||
// Trigger Player Animation
|
||||
if (this.scene.player) {
|
||||
this.scene.player.dieAnimation();
|
||||
@@ -111,16 +126,26 @@ class StatsSystem {
|
||||
|
||||
const bg = uiScene.add.rectangle(width / 2, height / 2, width, height, 0x000000, 0.8);
|
||||
|
||||
const txt = uiScene.add.text(width / 2, height / 2, 'YOU DIED', {
|
||||
const txt = uiScene.add.text(width / 2, height / 2 - 50, 'YOU DIED', {
|
||||
fontSize: '64px', color: '#ff0000', fontStyle: 'bold'
|
||||
}).setOrigin(0.5);
|
||||
|
||||
const sub = uiScene.add.text(width / 2, height / 2 + 20, `Legacy Lost: -${penalty} Score pts`, {
|
||||
fontSize: '24px', color: '#ffffff'
|
||||
}).setOrigin(0.5);
|
||||
|
||||
const sub2 = uiScene.add.text(width / 2, height / 2 + 60, '(Farm Preserved)', {
|
||||
fontSize: '18px', color: '#aaaaaa', fontStyle: 'italic'
|
||||
}).setOrigin(0.5);
|
||||
|
||||
// Wait and Respawn
|
||||
uiScene.time.delayedCall(3000, () => {
|
||||
if (bg) bg.destroy();
|
||||
if (txt) txt.destroy();
|
||||
if (sub) sub.destroy();
|
||||
if (sub2) sub2.destroy();
|
||||
|
||||
// Reset Stats
|
||||
// Reset Stats (but keep Score penalty)
|
||||
this.health = 100;
|
||||
this.hunger = 100;
|
||||
this.thirst = 100;
|
||||
|
||||
39
src/systems/ZombieWorkerSystem.js
Normal file
39
src/systems/ZombieWorkerSystem.js
Normal file
@@ -0,0 +1,39 @@
|
||||
class ZombieWorkerSystem {
|
||||
constructor(scene) {
|
||||
this.scene = scene;
|
||||
this.workers = []; // Array of tames zombies
|
||||
this.graves = []; // Array of grave locations
|
||||
console.log('🧟 ZombieWorkerSystem: Initialized');
|
||||
}
|
||||
|
||||
// Dodaj zombija med delavce
|
||||
addWorker(zombieEntity) {
|
||||
this.workers.push({
|
||||
entity: zombieEntity,
|
||||
task: 'IDLE', // FARM, MINE, GUARD, REST
|
||||
energy: 100, // Decay meter
|
||||
xp: 0
|
||||
});
|
||||
console.log('🧟 New Worker Assigned!');
|
||||
}
|
||||
|
||||
// Dodelitev naloge
|
||||
assignTask(workerIndex, taskType, location) {
|
||||
if (this.workers[workerIndex]) {
|
||||
this.workers[workerIndex].task = taskType;
|
||||
this.workers[workerIndex].targetLocation = location;
|
||||
}
|
||||
}
|
||||
|
||||
update(time, delta) {
|
||||
// Logic for worker AI, decay, and farming automation
|
||||
this.workers.forEach(worker => {
|
||||
if (worker.energy > 0) {
|
||||
worker.energy -= 0.01; // Decay over time
|
||||
// TODO: Execute Task Logic
|
||||
} else {
|
||||
// TODO: Rot / Die logic
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user