dodelani dnevnik

This commit is contained in:
2025-12-08 03:15:53 +01:00
parent 860a10a5c3
commit 4c3ee03007
11 changed files with 488 additions and 72 deletions

View File

@@ -1,75 +1,166 @@
# 📔 DNEVNIK RAZVOJA: KRVAVA ŽETEV (NOVA FARMA) # 📔 DNEVNIK RAZVOJA: KRVAVA ŽETEV (ZOMBIE ROOTS)
## 📅 Začetek Projekta ## 📖 Zgodba in Lore
**Datum začetka:** 5. December 2025 **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.
**Lokacija:** Nova Farma (c:\novafarma)
**Engine:** Phaser 3 + Custom Antigravity Engine **Glavni Quest:**
**Stil:** 2.5D Izometrični Pixel Art / Voxel 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:** ### 2. 🧠 Hibridna Veščina (Hybrid Skill)
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. 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:** ### 5. 📚 Raziskovanje in Zbirateljstvo (The Album)
* **Farming (Kmetovanje):** Realistična rast pridelkov (koruza, pšenica, itd.). Vsaka rastlina ima svoj cikel. Igralec ima **Album**, ki beleži vse odkrite stvari. To spodbuja raziskovanje.
* **Survival (Preživetje):** Lakota, žeja in spanje. * **Kategorije:**
* **Combat (Boj):** Brani svojo letino pred nočnimi napadi zombijev. * **Artefakti:** Stari predmeti, najdeni med kopanjem zemlje (Arheologija).
* **Economy (Ekonomija):** Prodajaj pridelke za zlato, kupuj boljša orodja in semena. * **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) ### Faza 4: Konceptualna Eksplozija (8. Dec 2025 - Trenutno)
- [x] Vzpostavitev projekta (Node.js, Electron). * **Expansion:** Definiran celoten "Zombie Roots" koncept.
- [x] Implementacija **Antigravity Engine** (modularni sistem). * Hibridni heroj, Sestra, Maščevanje.
- [x] **Proceduralno Generiranje Sveta:** Uporaba Perlin Noise za ustvarjanje neskončnega, razgibanega terena (trava, voda, pesek). * Zombi Delavci (Grobovi, Utrujenost).
- [x] Izometrična kamera in gibanje igralca. * 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) ### 19. 🔮 Dolgoročna Vizija (Master Plan)
- [x] **Farming System:** Strategija razvoja serije.
- Oranje zemlje z motiko. * **Krvava Žetev 1 (Trenutno):** Ostaja v **2.5D Izometričnem Pixel/Voxel stilu**.
- Sajenje semen. * **Cilj:** Dokončati masivno vsebino (zombiji, otoki, geneacije) na stabilnem enginu.
- Faze rasti (seme -> kalček -> rastlina -> zrelo). * **Učenje:** Razvoj služi kot "učna pot" za programiranje kompleksnih sistemov.
- Žetev pridelkov. * **Krvava Žetev 2 (Prihodnost):** Načrtovana kot **Polna 3D Igra** (First/Third Person).
- [x] **Inventory System:** * Ko bo avtor pridobil dovolj izkušenj, bo drugi del igre "Next-Gen" nadgradnja v 3D svetu.
- 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.
### Faza 3: Poliranje in Realizem (8. Dec 2025 - Danes) ### 18. 🖥️ Tehnične Specifikacije in Časovnica (Ocena)
- [x] **Statistika in XP:** Načrt za razvoj in zahteve.
- Dodan sistem izkušenj (XP). Igralec dobiva XP za sekanje dreves, rudarjenje in pobiranje pridelkov.
- Prikaz Levela in XP vrstice v HUD-u. **Časovnica Razvoja:**
- [x] **Novi Pridelki:** * **Kickstarter Demo:** 2-3 mesece.
- **Pšenica:** Standardni pridelek, raste srednje hitro. * **Early Access (Beta):** 8-12 mesecev.
- **Koruza:** Visoka rast, počasnejša, a večji donos. * **Full Release v1.0:** 1.5 - 2 leti.
- Unikatne teksture za vsako fazo rasti.
- [x] **3D Voxel Orodja:** **Velikost Igre:**
- Proceduralno generirana orodja v 3D "Minecraft" stilu. * **Disk:** cca. **500 MB - 1 GB** (optimizirano, večino zavzame zvok/glasba).
- Sekira, Kramp, Motika, Meč, Zalivalka - vsa imajo volumen in senčenje.
- [x] **Zvok:** **Sistemske Zahteve (PC):**
- Proceduralno generirani zvočni effekti (kopanje, sekanje, koraki). * **Minimum:** CPU i3, 4GB RAM, Intel HD Graphics (30 FPS @ 720p).
- Popravek manjkajočih zvokov (`playDig`). * **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.
--- ---
*Zadnja posodobitev koncepta: 8. December 2025 (Mega Update + Tech Specs)*
## 🔮 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*

49
KICKSTARTER_PLAN.md Normal file
View 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.*

View File

@@ -157,11 +157,103 @@ Implementacija arhitekturnih stebrov po zgledu Stardew Valley.
- [x] NEAREST Filter enforce - [x] NEAREST Filter enforce
- [x] Tile Padding/Extrude (No bleeding) - [x] Tile Padding/Extrude (No bleeding)
- [x] Pixel-Perfect Math.round positioning - [x] Pixel-Perfect Math.round positioning
- [x] **UI/Drawing Integration**: Združitev UI/Drawing modulov za enoten API.
- [x] **Depth Sorting v2.0** - [x] **Depth Sorting v2.0**
- [x] Y-Sorting za vse entitete - [x] Y-Sorting za vse entitete
- [ ] **Concept Integration** - [ ] **Concept Integration**
- [ ] Poenotenje vseh sistemov pod `Antigravity` namespace (Future Refactor) - [ ] 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...** 🦋 **PROJECT STATUS: PLANNING COMPLETE SAGA** 🌍
*Last Updated: 2025-12-08 (Antigravity Engine Integration)* *Last Updated: 8.12.2025*

View File

@@ -89,6 +89,11 @@
<script src="src/systems/SoundManager.js"></script> <script src="src/systems/SoundManager.js"></script>
<script src="src/systems/ParallaxSystem.js"></script> <script src="src/systems/ParallaxSystem.js"></script>
<script src="src/systems/ParticleEffects.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 --> <!-- Multiplayer -->
<script src="https://cdn.socket.io/4.7.2/socket.io.min.js"></script> <script src="https://cdn.socket.io/4.7.2/socket.io.min.js"></script>

View File

@@ -15,25 +15,28 @@ Stvari, ki so bile uspešno implementirane in izboljšale delovanje.
- NPC-ji daleč od igralca zamrznejo svojo logiko. - NPC-ji daleč od igralca zamrznejo svojo logiko.
- [x] **Spatial Hashing (SpatialGrid)** - [x] **Spatial Hashing (SpatialGrid)**
- Implementiran `SpatialGrid.js` za hitrejše iskanje entitet v bližini. - Implementiran `SpatialGrid.js` za hitrejše iskanje entitet v bližini.
- [x] **Code Refactoring** - [x] **Code Refactoring & Systems**
- `LootSystem.js`: Centraliziran loot. - `LootSystem.js`: Centraliziran loot.
- `InteractionSystem.js`: Poenostavljena logika. - `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) ## 🟡 2. Odprte / Potencialne Tehnične Naloge (To-Do)
Stvari, ki še niso kritične, a bi lahko izboljšale igro. 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** - [ ] **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. - Če bo število zombijev naraslo nad 100, premakni iskanje poti (A*) na ločen thread.
- [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.
- [ ] **Asset Loading Screen** - [ ] **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 ## 🔴 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). - **WebGL Context Loss:** Pri preklapljanju med tabi brskalnika se lahko zgodi izguba konteksta.
- **Mobile Performance:** Igra še ni optimizirana za touch/mobile kontrole. - **Mobile Performance:** Igra ima osnovne touch kontrole, a UI še ni prilagojen manjšim ekranom.
--- ---
*Zadnja posodobitev: 7.12.2025* *Zadnja posodobitev: 8.12.2025*
ddddddd

View File

@@ -34,6 +34,12 @@ class GameScene extends Phaser.Scene {
// Initialize Spatial Grid // Initialize Spatial Grid
this.spatialGrid = new SpatialGrid(10); 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 // Inicializiraj terrain sistem - 100x100 mapa
console.log('🌍 Initializing terrain...'); console.log('🌍 Initializing terrain...');
try { try {
@@ -301,6 +307,9 @@ class GameScene extends Phaser.Scene {
if (this.weatherSystem) { if (this.weatherSystem) {
this.weatherSystem.update(delta); this.weatherSystem.update(delta);
// Concept Systems Updates
if (this.zombieSystem) this.zombieSystem.update(this.time.now, delta);
// Night Logic // Night Logic
if (this.weatherSystem.isNight()) { if (this.weatherSystem.isNight()) {
const isHorde = this.weatherSystem.isHordeNight(); const isHorde = this.weatherSystem.isHordeNight();

View 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);
}
}

View 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
}
}

View 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
}
}

View File

@@ -12,6 +12,8 @@ class StatsSystem {
this.currentLevel = 1; this.currentLevel = 1;
this.currentXP = 0; this.currentXP = 0;
this.xpToNextLevel = XP_REQUIRED_BASE; this.xpToNextLevel = XP_REQUIRED_BASE;
this.score = 0; // GLOBAL SCORE (Za Legacy)
this.totalPlaytime = 0; // Skupni čas igranja (sekunde)
// Stats // Stats
this.health = 100; this.health = 100;
@@ -39,6 +41,7 @@ class StatsSystem {
update(delta) { update(delta) {
const seconds = delta / 1000; const seconds = delta / 1000;
this.totalPlaytime += seconds; // Track playtime
// Decay // Decay
if (this.hunger > 0) { if (this.hunger > 0) {
@@ -94,9 +97,21 @@ class StatsSystem {
this.thirst = Math.min(this.thirst, this.maxThirst); this.thirst = Math.min(this.thirst, this.maxThirst);
} }
// SCORE & DEATH LOGIC
addScore(points) {
this.score += points;
// console.log(`⭐ Score +${points} (Total: ${this.score})`);
}
die() { die() {
console.log('💀 Player died!'); 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 // Trigger Player Animation
if (this.scene.player) { if (this.scene.player) {
this.scene.player.dieAnimation(); 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 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' fontSize: '64px', color: '#ff0000', fontStyle: 'bold'
}).setOrigin(0.5); }).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 // Wait and Respawn
uiScene.time.delayedCall(3000, () => { uiScene.time.delayedCall(3000, () => {
if (bg) bg.destroy(); if (bg) bg.destroy();
if (txt) txt.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.health = 100;
this.hunger = 100; this.hunger = 100;
this.thirst = 100; this.thirst = 100;

View 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
}
});
}
}