FINAL DOCS
This commit is contained in:
468
IMPLEMENTATION_ROADMAP.md
Normal file
468
IMPLEMENTATION_ROADMAP.md
Normal file
@@ -0,0 +1,468 @@
|
|||||||
|
# 🗺️ IMPLEMENTATION ROADMAP
|
||||||
|
**12-Week Plan for Complete Game Systems Integration**
|
||||||
|
**Start Date:** January 6, 2026
|
||||||
|
**Target Completion:** March 30, 2026
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📅 TIMELINE OVERVIEW
|
||||||
|
|
||||||
|
| Week | Phase | Focus | Systems |
|
||||||
|
|------|-------|-------|---------|
|
||||||
|
| 1-2 | Phase 1 | Core Foundation | Sleep, Time, Energy |
|
||||||
|
| 3-4 | Phase 2 | Crafting & Building | Crafting Tables, Bakery |
|
||||||
|
| 5-6 | Phase 3 | Character & Town | Barber, Lawyer, Town Growth |
|
||||||
|
| 7-8 | Phase 4 | Automation | Mining, Zombie Miners |
|
||||||
|
| 9-10 | Phase 5 | Social Systems | NPC Privacy, Relationships |
|
||||||
|
| 11-12 | Phase 6 | Polish & Testing | Bug fixes, Balancing, QA |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 PHASE 1: CORE FOUNDATION (Week 1-2)
|
||||||
|
|
||||||
|
### **Week 1: Sleep & Time Systems**
|
||||||
|
|
||||||
|
#### **Day 1-2: Sleep System Integration**
|
||||||
|
- [ ] Import SleepSystem into MainGameScene
|
||||||
|
- [ ] Create bed placement system
|
||||||
|
- [ ] Implement sleep UI (menu, confirmation)
|
||||||
|
- [ ] Add sleep animation/fade transition
|
||||||
|
- [ ] Test energy regeneration
|
||||||
|
- [ ] Test dream/nightmare mechanics
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Working sleep mechanic
|
||||||
|
- All 3 bed types functional
|
||||||
|
- Dream sequences working
|
||||||
|
|
||||||
|
#### **Day 3-4: Time System Hook-ins**
|
||||||
|
- [ ] Connect SleepSystem to TimeSystem
|
||||||
|
- [ ] Implement 8-hour time skip
|
||||||
|
- [ ] Add "Can Sleep Now" time check (8 PM - 2 AM)
|
||||||
|
- [ ] Test day/night cycle integration
|
||||||
|
- [ ] Add wake-up time calculation
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Time properly advances during sleep
|
||||||
|
- Correct wake-up time (always morning)
|
||||||
|
|
||||||
|
#### **Day 5-7: Energy & UI Polish**
|
||||||
|
- [ ] Create energy bar UI
|
||||||
|
- [ ] Add "Tired" status indicator
|
||||||
|
- [ ] Implement energy decay over time
|
||||||
|
- [ ] Add low energy warnings
|
||||||
|
- [ ] Polish sleep UI animations
|
||||||
|
- [ ] Test partner bonus (if married)
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Complete energy management
|
||||||
|
- Polished UI
|
||||||
|
- Marriage integration working
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔨 PHASE 2: CRAFTING & BUILDING (Week 3-4)
|
||||||
|
|
||||||
|
### **Week 3: Crafting Tables System**
|
||||||
|
|
||||||
|
#### **Day 1-2: Basic Crafting**
|
||||||
|
- [ ] Import CraftingTablesSystem
|
||||||
|
- [ ] Create crafting table placement
|
||||||
|
- [ ] Build crafting UI (recipe list)
|
||||||
|
- [ ] Implement "Can Craft" validation
|
||||||
|
- [ ] Add ingredient checking
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Small crafting table working
|
||||||
|
- Basic recipes craftable
|
||||||
|
|
||||||
|
#### **Day 3-4: Advanced Crafting**
|
||||||
|
- [ ] Implement crafting queue
|
||||||
|
- [ ] Add progress bar UI
|
||||||
|
- [ ] Create batch crafting
|
||||||
|
- [ ] Test skill/relationship requirements
|
||||||
|
- [ ] Add Large Planning Table purchase
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Queue system working
|
||||||
|
- All recipe types functional
|
||||||
|
- Gronk integration tested
|
||||||
|
|
||||||
|
#### **Day 5-7: Crafting Polish**
|
||||||
|
- [ ] Add crafting sound effects
|
||||||
|
- [ ] Create item-gained animations
|
||||||
|
- [ ] Polish recipe UI (icons, descriptions)
|
||||||
|
- [ ] Test all 50+ recipes
|
||||||
|
- [ ] Balance crafting times
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Polished crafting experience
|
||||||
|
- All recipes tested
|
||||||
|
|
||||||
|
### **Week 4: Bakery Shop System**
|
||||||
|
|
||||||
|
#### **Day 1-2: Shop Foundation**
|
||||||
|
- [ ] Import BakeryShopSystem
|
||||||
|
- [ ] Create bakery building on map
|
||||||
|
- [ ] Build shop UI (item list, prices)
|
||||||
|
- [ ] Implement purchase logic
|
||||||
|
- [ ] Add NPC baker (Maria)
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Bakery shop functional
|
||||||
|
- Can buy items
|
||||||
|
|
||||||
|
#### **Day 3-4: Gift & Competition**
|
||||||
|
- [ ] Implement gift system
|
||||||
|
- [ ] Test 2x hearts for favored items
|
||||||
|
- [ ] Create baking competition UI
|
||||||
|
- [ ] Add recipe submission
|
||||||
|
- [ ] Implement scoring system
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Gifting working
|
||||||
|
- Competition functional
|
||||||
|
|
||||||
|
#### **Day 5-7: Events & Polish**
|
||||||
|
- [ ] Add birthday cake ordering
|
||||||
|
- [ ] Implement auto-delivery system
|
||||||
|
- [ ] Create seasonal items (autumn/winter)
|
||||||
|
- [ ] Test bulk discounts
|
||||||
|
- [ ] Polish shop UI
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- All bakery features complete
|
||||||
|
- Birthday system working
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💈 PHASE 3: CHARACTER & TOWN (Week 5-6)
|
||||||
|
|
||||||
|
### **Week 5: Barber Shop System**
|
||||||
|
|
||||||
|
#### **Day 1-2: Character Customization**
|
||||||
|
- [ ] Import BarberShopSystem
|
||||||
|
- [ ] Create barber building
|
||||||
|
- [ ] Build customization UI
|
||||||
|
- [ ] Implement hairstyle changes
|
||||||
|
- [ ] Update player sprite system
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Hairstyle changes working
|
||||||
|
- Player sprite updates correctly
|
||||||
|
|
||||||
|
#### **Day 3-4: Piercings & Dyes**
|
||||||
|
- [ ] Add piercing system
|
||||||
|
- [ ] Create hair dye color picker
|
||||||
|
- [ ] Implement clothing dye
|
||||||
|
- [ ] Add saved looks slots (5)
|
||||||
|
- [ ] Test load/save looks
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Complete customization working
|
||||||
|
- Saved looks functional
|
||||||
|
|
||||||
|
#### **Day 5-7: Zombie Makeover & Polish**
|
||||||
|
- [ ] Implement zombie makeover
|
||||||
|
- [ ] Add NPC customization (5+ hearts)
|
||||||
|
- [ ] Create barber NPC (Razor)
|
||||||
|
- [ ] Test repeat customer discount
|
||||||
|
- [ ] Polish customization UI
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- All barber features complete
|
||||||
|
- Zombie makeover working
|
||||||
|
|
||||||
|
### **Week 6: Lawyer & Town Growth**
|
||||||
|
|
||||||
|
#### **Day 1-3: Lawyer Office System**
|
||||||
|
- [ ] Import LawyerOfficeSystem
|
||||||
|
- [ ] Create lawyer building (auto-build on crisis)
|
||||||
|
- [ ] Build divorce UI (confirmation, warnings)
|
||||||
|
- [ ] Implement prenup purchase
|
||||||
|
- [ ] Test divorce processing
|
||||||
|
- [ ] Add marriage counseling
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Divorce system complete
|
||||||
|
- Counseling functional
|
||||||
|
- Auto-unlock working
|
||||||
|
|
||||||
|
#### **Day 4-7: Town Growth System**
|
||||||
|
- [ ] Import TownGrowthSystem
|
||||||
|
- [ ] Create town sign sprite & UI
|
||||||
|
- [ ] Implement population slot unlocks
|
||||||
|
- [ ] Add NPC invitation system
|
||||||
|
- [ ] Create 5 village maps
|
||||||
|
- [ ] Test village discovery
|
||||||
|
- [ ] Add town services unlocks
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Town growth working
|
||||||
|
- Villages discoverable
|
||||||
|
- Town sign updating live
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⛏️ PHASE 4: AUTOMATION (Week 7-8)
|
||||||
|
|
||||||
|
### **Week 7-8: Mining & Zombie Automation**
|
||||||
|
|
||||||
|
#### **Day 1-2: Zombie Miner Integration**
|
||||||
|
- [ ] Import ZombieMinerAutomationSystem
|
||||||
|
- [ ] Create hire UI
|
||||||
|
- [ ] Implement assignment UI (mine selector)
|
||||||
|
- [ ] Add depth assignment validation
|
||||||
|
- [ ] Connect to existing MiningSystem
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Hiring working
|
||||||
|
- Assignment functional
|
||||||
|
|
||||||
|
#### **Day 3-4: Automation Yield**
|
||||||
|
- [ ] Implement passive generation
|
||||||
|
- [ ] Create collection UI
|
||||||
|
- [ ] Add yield calculation display
|
||||||
|
- [ ] Test multi-zombie automation
|
||||||
|
- [ ] Add collection reminders
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Automation generating resources
|
||||||
|
- Collection working correctly
|
||||||
|
|
||||||
|
#### **Day 5-7: Loyalty & Equipment**
|
||||||
|
- [ ] Implement loyalty decay
|
||||||
|
- [ ] Create feed zombie UI
|
||||||
|
- [ ] Add equipment upgrade shop
|
||||||
|
- [ ] Test leveling system
|
||||||
|
- [ ] Balance yield rates
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Complete automation system
|
||||||
|
- Balanced yield rates
|
||||||
|
|
||||||
|
#### **Day 8-10: Mining System Polish**
|
||||||
|
- [ ] Polish mine entrance
|
||||||
|
- [ ] Add depth hazard UI (oxygen, temp, darkness)
|
||||||
|
- [ ] Create boss encounter screens
|
||||||
|
- [ ] Test all 100 levels
|
||||||
|
- [ ] Balance difficulty curve
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Complete mining experience
|
||||||
|
- All levels playable
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 👥 PHASE 5: SOCIAL SYSTEMS (Week 9-10)
|
||||||
|
|
||||||
|
### **Week 9-10: NPC Privacy & Relationships**
|
||||||
|
|
||||||
|
#### **Day 1-3: NPC Home Generation**
|
||||||
|
- [ ] Import NPCPrivacySystem
|
||||||
|
- [ ] Create 8 hobby-based interior templates
|
||||||
|
- [ ] Generate homes for all NPCs
|
||||||
|
- [ ] Test hobby room variations
|
||||||
|
- [ ] Add interior object placement
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- All NPC homes generated
|
||||||
|
- Hobby rooms unique
|
||||||
|
|
||||||
|
#### **Day 4-5: Privacy Locks**
|
||||||
|
- [ ] Implement heart-based door checks
|
||||||
|
- [ ] Create "locked door" UI message
|
||||||
|
- [ ] Add privacy violation handling
|
||||||
|
- [ ] Test relationship penalties
|
||||||
|
- [ ] Add NPC angry reactions
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Privacy system working
|
||||||
|
- Violations have consequences
|
||||||
|
|
||||||
|
#### **Day 6-7: Visit Effects**
|
||||||
|
- [ ] Implement visit tracking
|
||||||
|
- [ ] Add time-of-day effects
|
||||||
|
- [ ] Test frequency checking (3+ daily)
|
||||||
|
- [ ] Add visit statistics UI
|
||||||
|
- [ ] Balance relationship effects
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Visit system complete
|
||||||
|
- Relationship effects balanced
|
||||||
|
|
||||||
|
#### **Day 8-10: Relationship Polish**
|
||||||
|
- [ ] Create relationship UI panel
|
||||||
|
- [ ] Add heart display for all NPCs
|
||||||
|
- [ ] Implement relationship milestones
|
||||||
|
- [ ] Polish dialogue reactions
|
||||||
|
- [ ] Test marriage → lawyer integration
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Complete social system
|
||||||
|
- All NPC interactions polished
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎨 PHASE 6: POLISH & TESTING (Week 11-12)
|
||||||
|
|
||||||
|
### **Week 11: Bug Fixes & Balancing**
|
||||||
|
|
||||||
|
#### **Day 1-2: Bug Sweep**
|
||||||
|
- [ ] Test all systems end-to-end
|
||||||
|
- [ ] Fix critical bugs
|
||||||
|
- [ ] Fix UI bugs
|
||||||
|
- [ ] Fix save/load issues
|
||||||
|
- [ ] Test cross-system interactions
|
||||||
|
|
||||||
|
#### **Day 3-4: Balance Pass**
|
||||||
|
- [ ] Balance all costs (buildings, items)
|
||||||
|
- [ ] Balance crafting times
|
||||||
|
- [ ] Balance automation yields
|
||||||
|
- [ ] Balance relationship point values
|
||||||
|
- [ ] Test economy (money flow)
|
||||||
|
|
||||||
|
#### **Day 5-7: Performance Optimization**
|
||||||
|
- [ ] Profile system performance
|
||||||
|
- [ ] Optimize update loops
|
||||||
|
- [ ] Optimize sprite loading
|
||||||
|
- [ ] Reduce memory usage
|
||||||
|
- [ ] Test on low-end devices
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- All major bugs fixed
|
||||||
|
- Balanced economy
|
||||||
|
- Smooth performance
|
||||||
|
|
||||||
|
### **Week 12: Final Polish & QA**
|
||||||
|
|
||||||
|
#### **Day 1-2: UI/UX Refinement**
|
||||||
|
- [ ] Polish all UI screens
|
||||||
|
- [ ] Add UI animations
|
||||||
|
- [ ] Improve button feedback
|
||||||
|
- [ ] Add UI sound effects
|
||||||
|
- [ ] Test UI on mobile
|
||||||
|
|
||||||
|
#### **Day 3-4: Content Verification**
|
||||||
|
- [ ] Test all quests
|
||||||
|
- [ ] Verify all NPCs working
|
||||||
|
- [ ] Check all recipes
|
||||||
|
- [ ] Test all buildings
|
||||||
|
- [ ] Verify all items
|
||||||
|
|
||||||
|
#### **Day 5-7: Final QA**
|
||||||
|
- [ ] Full playthrough test
|
||||||
|
- [ ] Test save/load multiple times
|
||||||
|
- [ ] Test edge cases
|
||||||
|
- [ ] Create bug report
|
||||||
|
- [ ] Final code review
|
||||||
|
|
||||||
|
**Deliverables:**
|
||||||
|
- Production-ready build
|
||||||
|
- Complete QA report
|
||||||
|
- Zero critical bugs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 SUCCESS CRITERIA
|
||||||
|
|
||||||
|
### **Phase 1 Complete When:**
|
||||||
|
- [ ] Player can sleep in all 3 bed types
|
||||||
|
- [ ] Energy system fully functional
|
||||||
|
- [ ] Time advances correctly during sleep
|
||||||
|
- [ ] Dreams/nightmares trigger properly
|
||||||
|
|
||||||
|
### **Phase 2 Complete When:**
|
||||||
|
- [ ] All 50+ recipes craftable
|
||||||
|
- [ ] Large Planning Table purchasable
|
||||||
|
- [ ] Bakery shop fully functional
|
||||||
|
- [ ] Gift system working
|
||||||
|
- [ ] Baking competition runs
|
||||||
|
|
||||||
|
### **Phase 3 Complete When:**
|
||||||
|
- [ ] Complete character customization
|
||||||
|
- [ ] Divorce system functional
|
||||||
|
- [ ] Town population can grow to 20
|
||||||
|
- [ ] All 5 villages discoverable
|
||||||
|
- [ ] Town services unlock
|
||||||
|
|
||||||
|
### **Phase 4 Complete When:**
|
||||||
|
- [ ] 10 zombie miners hireable
|
||||||
|
- [ ] Automation generates resources
|
||||||
|
- [ ] Equipment upgrades working
|
||||||
|
- [ ] All 100 mine levels playable
|
||||||
|
|
||||||
|
### **Phase 5 Complete When:**
|
||||||
|
- [ ] All NPC homes generated
|
||||||
|
- [ ] Privacy locks functional
|
||||||
|
- [ ] Visit effects apply correctly
|
||||||
|
- [ ] Relationship system complete
|
||||||
|
|
||||||
|
### **Phase 6 Complete When:**
|
||||||
|
- [ ] Zero critical bugs
|
||||||
|
- [ ] Balanced economy
|
||||||
|
- [ ] Smooth 60 FPS performance
|
||||||
|
- [ ] All systems tested end-to-end
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚨 RISK MITIGATION
|
||||||
|
|
||||||
|
### **High-Risk Areas**
|
||||||
|
1. **Save/Load System**
|
||||||
|
- Risk: Data corruption, lost progress
|
||||||
|
- Mitigation: Extensive testing, backup saves, versioning
|
||||||
|
|
||||||
|
2. **Cross-System Events**
|
||||||
|
- Risk: Event loops, missed events
|
||||||
|
- Mitigation: Event logging, unit tests
|
||||||
|
|
||||||
|
3. **Performance**
|
||||||
|
- Risk: Frame drops with many systems
|
||||||
|
- Mitigation: Profiling, optimization passes
|
||||||
|
|
||||||
|
4. **Zombie Automation**
|
||||||
|
- Risk: Exploit for infinite resources
|
||||||
|
- Mitigation: Cap yields, balance costs
|
||||||
|
|
||||||
|
### **Contingency Plans**
|
||||||
|
- **Behind Schedule:** Cut non-essential features (e.g., baking competition)
|
||||||
|
- **Major Bug:** Rollback to previous stable version
|
||||||
|
- **Performance Issues:** Reduce visual effects, optimize update loops
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 PROGRESS TRACKING
|
||||||
|
|
||||||
|
Use this checklist to track progress:
|
||||||
|
|
||||||
|
```
|
||||||
|
Phase 1: [ ] Week 1 [ ] Week 2
|
||||||
|
Phase 2: [ ] Week 3 [ ] Week 4
|
||||||
|
Phase 3: [ ] Week 5 [ ] Week 6
|
||||||
|
Phase 4: [ ] Week 7 [ ] Week 8
|
||||||
|
Phase 5: [ ] Week 9 [ ] Week 10
|
||||||
|
Phase 6: [ ] Week 11 [ ] Week 12
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎉 LAUNCH CHECKLIST
|
||||||
|
|
||||||
|
Before final release:
|
||||||
|
- [ ] All 9 systems functional
|
||||||
|
- [ ] Complete playthrough tested
|
||||||
|
- [ ] No critical bugs
|
||||||
|
- [ ] Performance >55 FPS average
|
||||||
|
- [ ] Save/load tested 50+ times
|
||||||
|
- [ ] All UI polished
|
||||||
|
- [ ] Sound effects added
|
||||||
|
- [ ] Tutorial complete
|
||||||
|
- [ ] README updated
|
||||||
|
- [ ] Documentation complete
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Created:** January 4, 2026
|
||||||
|
**Version:** 1.0
|
||||||
|
**Status:** Ready for Implementation ✅
|
||||||
319
README.md
319
README.md
@@ -1,96 +1,283 @@
|
|||||||
# 🎮 Dolina Smrti (Valley of Death)
|
# 💀 KRVAVA ŽETEV / BLOODY HARVEST
|
||||||
|
## Dolina Smrti - Dark Gothic Farming Simulation
|
||||||
|
|
||||||
**2.5D izometrični survival game** zgrajen z Phaser 3, Electron in Socket.io.
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
## 📖 Opis
|
**A dark, gothic farming simulator where you rebuild your life after tragedy, manage zombie workers, and uncover the mystery of your missing wife Ana.**
|
||||||
|
|
||||||
Dolina Smrti je post-apokaliptični survival game, kjer igralci gradijo svojo farmo, preživijo napad zombijev in raziskujejo skrivnosti zapuščene doline.
|
---
|
||||||
|
|
||||||
## 🚀 Zagon Igre
|
## 🎮 GAME OVERVIEW
|
||||||
|
|
||||||
### Namestitev
|
**Genre:** Dark Gothic Farming Simulation RPG
|
||||||
|
**Platform:** Web (Desktop & Mobile)
|
||||||
|
**Engine:** Phaser 3
|
||||||
|
**Art Style:** Style 32 (Dark-Chibi Noir)
|
||||||
|
**Language:** Slovenian (EN translation planned)
|
||||||
|
**Target Release:** Q2 2026
|
||||||
|
|
||||||
|
### **Core Concept**
|
||||||
|
You are Kai, a grieving farmer whose wife Ana vanished during the mysterious "2084 Incident" that turned the world upside down. Rebuild your farm, manage undead workers, restore 27 abandoned towns, and piece together clues about what really happened to Ana.
|
||||||
|
|
||||||
|
### **Key Features**
|
||||||
|
- 🧟 **Zombie Worker Management** - Hire, upgrade, and manage undead farm workers
|
||||||
|
- 💀 **Dark Gothic Atmosphere** - Noir aesthetic with purple/pink accents
|
||||||
|
- 🏚️ **Town Restoration** - Rebuild 27 abandoned Slovenian towns
|
||||||
|
- 💑 **Deep NPC Relationships** - Romance, marriage, divorce, and drama
|
||||||
|
- ⛏️ **100-Level Mining System** - Automated mining with zombie miners
|
||||||
|
- 🏠 **Home Customization** - Beds, crafting tables, decorations
|
||||||
|
- 💈 **Character Customization** - Hairstyles, piercings, clothing dyes
|
||||||
|
- 🎂 **Town Buildings** - Bakery, barber, lawyer office, and more
|
||||||
|
- 🎭 **Dual Protagonist** - Switch between Kai and Gronk
|
||||||
|
- 📖 **Mystery Narrative** - Uncover Ana's fate through clues and quests
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📦 PROJECT STRUCTURE
|
||||||
|
|
||||||
|
```
|
||||||
|
novafarma/
|
||||||
|
├── src/
|
||||||
|
│ ├── scenes/ # Phaser 3 game scenes
|
||||||
|
│ ├── systems/ # Game systems (9 major systems)
|
||||||
|
│ ├── entities/ # Player, NPCs, zombies
|
||||||
|
│ ├── ui/ # UI components
|
||||||
|
│ └── utils/ # Helper functions
|
||||||
|
├── assets/
|
||||||
|
│ ├── images/ # Sprites (322 Style 32 assets)
|
||||||
|
│ │ └── STYLE_32_SESSION_JAN_04/
|
||||||
|
│ ├── maps/ # Tiled TMX maps
|
||||||
|
│ ├── audio/ # Music & SFX
|
||||||
|
│ └── fonts/ # Custom fonts
|
||||||
|
├── docs/ # Documentation
|
||||||
|
│ ├── GAME_BIBLE_COMPLETE.md
|
||||||
|
│ ├── SYSTEMS_INTEGRATION_GUIDE.md
|
||||||
|
│ └── ASSET_NAMING_STANDARDS.md
|
||||||
|
└── config/ # Build & deployment configs
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 QUICK START
|
||||||
|
|
||||||
|
### **Prerequisites**
|
||||||
|
- Node.js 16+
|
||||||
|
- npm or yarn
|
||||||
|
- Modern web browser
|
||||||
|
|
||||||
|
### **Installation**
|
||||||
```bash
|
```bash
|
||||||
|
# Clone repository
|
||||||
|
git clone https://github.com/davidkotnik/novafarma.git
|
||||||
|
cd novafarma
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
npm install
|
npm install
|
||||||
|
|
||||||
|
# Start development server
|
||||||
|
npm run dev
|
||||||
```
|
```
|
||||||
|
|
||||||
### Zagon (Desktop - Electron)
|
### **Build for Production**
|
||||||
```bash
|
```bash
|
||||||
npm start
|
npm run build
|
||||||
```
|
```
|
||||||
|
|
||||||
### Multiplayer Server
|
### **Run Tests**
|
||||||
```bash
|
```bash
|
||||||
node server.js
|
npm test
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🎯 Trenutno Stanje
|
---
|
||||||
|
|
||||||
**Dokončanost**: ~55% sistemov je pripravljenih
|
## 🎨 GAME SYSTEMS
|
||||||
|
|
||||||
### ✅ Dokončani Sistemi
|
### **Implemented Systems (Jan 4, 2026)**
|
||||||
- Phase 35: ZombieSystem (100%)
|
|
||||||
- BreedingSystem - kompleksen sistem za vzrejo
|
|
||||||
- RecipeSystem - crafting sistem
|
|
||||||
- ProgressionSystem - sistem napredovanja
|
|
||||||
- Automated Tileset Pipeline - 122+ sprite sheets
|
|
||||||
|
|
||||||
### ⚙️ V Razvoju
|
#### **1. Sleep System** ✅
|
||||||
- Phase 40: Minting (95%)
|
- 3-tier bed system (sleeping bag → wooden → king-size)
|
||||||
- Phase 37: Micro Farm (80%)
|
- Energy regeneration (50% → 90% → 100%)
|
||||||
- Phase 43: Boss Battles (60%)
|
- Dream/nightmare mechanics with effects
|
||||||
- Phase 44: Invasion (70%)
|
- Partner bonuses for married players (+50 relationship)
|
||||||
|
- Time-skip functionality (8 hours)
|
||||||
|
|
||||||
## 📁 Struktura Projekta
|
#### **2. Crafting Tables System** ✅
|
||||||
|
- Small table: 50 basic recipes, 1.0x speed
|
||||||
|
- Large planning table: 100+ recipes, 1.5x speed (5,000g)
|
||||||
|
- Categories: tools, repairs, food, potions, expeditions
|
||||||
|
- Skill/relationship/quest requirements
|
||||||
|
- Batch crafting with queue system
|
||||||
|
|
||||||
```
|
#### **3. Bakery Shop System** ✅
|
||||||
dolinasmrti/
|
- 7 baked goods (bread, cake, pie, cookies, etc.)
|
||||||
├── src/ # Izvorna koda igre
|
- Gift system (2x hearts if favored by NPC)
|
||||||
│ ├── systems/ # 130+ game sistemov
|
- Bulk discounts (5+ items: 10% off, 10+: 20% off)
|
||||||
│ ├── scenes/ # Phaser scene
|
- Weekly baking competition
|
||||||
│ └── entities/ # Igralne entitete
|
- Birthday cake auto-orders
|
||||||
├── assets/ # Sredstva igre
|
|
||||||
│ ├── sprites/ # Sprite slike
|
|
||||||
│ ├── maps/ # Tiled mape
|
|
||||||
│ └── tilesets/ # Tileset definicije (3093 datotek)
|
|
||||||
├── Slike_za_Tiled/ # Organizirane slike za Tiled (4513 slik)
|
|
||||||
│ ├── 01_characters/ # Liki, NPC-ji, zombiji
|
|
||||||
│ ├── 02_creatures/ # Živali, pošasti
|
|
||||||
│ ├── 03_terrain/ # Teren in tla
|
|
||||||
│ ├── 04_buildings/ # Zgradbe in ruševine
|
|
||||||
│ ├── 05_objects/ # Predmeti in oprema
|
|
||||||
│ ├── 06_vegetation/ # Drevesa in rastline
|
|
||||||
│ └── 08_misc/ # Ostalo
|
|
||||||
├── docs/ # Dokumentacija (205 datotek)
|
|
||||||
├── tools/ # Pomožna orodja
|
|
||||||
└── server.js # Multiplayer server
|
|
||||||
|
|
||||||
## 🛠️ Tehnologije
|
#### **4. Barber Shop System** ✅
|
||||||
|
- 7 hairstyles (dreadlocks, mohawks, long hair, bald)
|
||||||
|
- 5 piercing types (ear gauges, nose ring, eyebrow, lip)
|
||||||
|
- 9 hair dye colors + clothing dyes
|
||||||
|
- Zombie makeover (+20 loyalty)
|
||||||
|
- 5 saved look slots
|
||||||
|
|
||||||
- **Phaser 3** (v3.80.1) - Game engine
|
#### **5. Lawyer Office System** ✅
|
||||||
- **Electron** (v33.2.1) - Desktop runtime
|
- Divorce processing (50,000g + 25% money loss)
|
||||||
- **Express** (v5.2.1) - Backend server
|
- Prenup system (10,000g, reduces loss to 10%)
|
||||||
- **Socket.io** (v4.8.1) - Multiplayer
|
- Marriage counseling (5,000g, 3 tasks to save marriage)
|
||||||
- **Tiled Map Editor** - Urejanje map
|
- Relationship crisis detection
|
||||||
- **Python 3** - Asset processing
|
- 28-day remarriage cooldown
|
||||||
|
|
||||||
## 📝 Dokumentacija
|
#### **6. Zombie Miner Automation** ✅
|
||||||
|
- Hire zombie miners (5,000g each, max 10)
|
||||||
|
- Assign to mine depths (0-100 levels)
|
||||||
|
- Passive resource generation
|
||||||
|
- Efficiency & loyalty mechanics
|
||||||
|
- Equipment upgrades (pickaxe tiers, lamps, oxygen, carts)
|
||||||
|
|
||||||
Podrobna dokumentacija je na voljo v:
|
#### **7. Town Growth System** ✅
|
||||||
- `DNEVNIK.md` - Razvojni dnevnik
|
- Population expansion (4 → 20 NPCs)
|
||||||
- `TASKS.md` - Sledenje nalog
|
- 20 unlock requirements
|
||||||
- `docs/` - Dodatna dokumentacija
|
- 5 discoverable villages (35 total NPCs)
|
||||||
|
- Town services (market, hospital, school, bank, museum, theater)
|
||||||
|
- Dynamic town sign
|
||||||
|
|
||||||
## 🎨 Asset Pipeline
|
#### **8. NPC Privacy System** ✅
|
||||||
|
- Hobby-based auto-generated interiors
|
||||||
|
- Heart-based door locks (0-10 hearts required)
|
||||||
|
- Visit tracking & relationship effects
|
||||||
|
- Privacy violation penalties
|
||||||
|
- Time-of-day visit effects
|
||||||
|
|
||||||
Projekt uporablja avtomatizirano procesiranje sredstev:
|
#### **9. Mining System** ✅
|
||||||
- Odstranjevanje zelenega ozadja
|
- 100-level depth progression
|
||||||
- Ekstrakcija objektov iz spritesheet-ov
|
- 4 ore zones (Copper, Iron, Gold, Diamond)
|
||||||
- Avtomatska generacija TSX tileset datotek
|
- Depth hazards (darkness, temperature, oxygen)
|
||||||
|
- Boss encounters
|
||||||
|
- Hazmat system
|
||||||
|
|
||||||
## 🔧 Razvoj
|
---
|
||||||
|
|
||||||
Glej `NEXT_STEPS.md` za načrt nadaljnjega razvoja.
|
## 📊 PROJECT STATS
|
||||||
|
|
||||||
## 📜 Licenca
|
### **Development**
|
||||||
|
- **Start Date:** December 2025
|
||||||
|
- **Current Version:** 0.6.0 Alpha
|
||||||
|
- **Development Hours:** ~250+ hours
|
||||||
|
- **Lines of Code:** 15,000+ (Jan 4: +5,600)
|
||||||
|
- **Systems Implemented:** 9/14 major systems
|
||||||
|
|
||||||
© 2024-2025 Dolina Smrti / Valley of Death
|
### **Assets**
|
||||||
|
- **Total Assets:** 322 Style 32 sprites
|
||||||
|
- **Buildings:** 61 sprites (42 buildings)
|
||||||
|
- **UI Elements:** 41 components
|
||||||
|
- **Gear:** 44 pieces (Base + V2)
|
||||||
|
- **NPCs:** 33 variants
|
||||||
|
- **Interior Objects:** 48 sprites (Jan 4)
|
||||||
|
- **Crops:** 16 sprites
|
||||||
|
- **Terrain:** 30 seamless tiles
|
||||||
|
|
||||||
|
### **Content**
|
||||||
|
- **Map Size:** 8,000 x 6,000 tiles
|
||||||
|
- **Biomes:** 18 unique biomes
|
||||||
|
- **Towns:** 27 Slovenian towns
|
||||||
|
- **NPCs:** 50+ unique characters
|
||||||
|
- **Quests:** 100+ quests planned
|
||||||
|
- **Recipes:** 100+ crafting recipes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🗺️ DEVELOPMENT ROADMAP
|
||||||
|
|
||||||
|
### **Phase 1: Foundation** ✅ (Dec 2025 - Jan 2026)
|
||||||
|
- [x] Core engine setup (Phaser 3)
|
||||||
|
- [x] Basic player movement & controls
|
||||||
|
- [x] Tiled map integration
|
||||||
|
- [x] NPC system foundation
|
||||||
|
- [x] Quest system framework
|
||||||
|
- [x] Inventory system
|
||||||
|
- [x] Time & weather system
|
||||||
|
|
||||||
|
### **Phase 2: Core Systems** ✅ (Jan 2026)
|
||||||
|
- [x] Sleep system
|
||||||
|
- [x] Crafting system
|
||||||
|
- [x] Town buildings (Bakery, Barber, Lawyer)
|
||||||
|
- [x] Zombie automation
|
||||||
|
- [x] Town growth
|
||||||
|
- [x] NPC privacy
|
||||||
|
|
||||||
|
### **Phase 3: Content Expansion** 🔄 (Jan - Feb 2026)
|
||||||
|
- [ ] All 18 biomes
|
||||||
|
- [ ] 27 town maps
|
||||||
|
- [ ] 100+ quests
|
||||||
|
- [ ] 50+ NPCs
|
||||||
|
- [ ] Complete narrative
|
||||||
|
|
||||||
|
### **Phase 4: Polish & Balance** ⏳ (Feb - Mar 2026)
|
||||||
|
- [ ] UI/UX refinement
|
||||||
|
- [ ] Performance optimization
|
||||||
|
- [ ] Bug fixes
|
||||||
|
- [ ] Difficulty balancing
|
||||||
|
- [ ] Sound & music
|
||||||
|
|
||||||
|
### **Phase 5: Beta Testing** ⏳ (Mar - Apr 2026)
|
||||||
|
- [ ] Closed beta
|
||||||
|
- [ ] Community feedback
|
||||||
|
- [ ] Final adjustments
|
||||||
|
- [ ] Localization (EN)
|
||||||
|
|
||||||
|
### **Phase 6: Launch** ⏳ (Q2 2026)
|
||||||
|
- [ ] Public release
|
||||||
|
- [ ] Marketing campaign
|
||||||
|
- [ ] Post-launch support
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 👥 TEAM
|
||||||
|
|
||||||
|
**David Kotnik** - Solo Developer
|
||||||
|
- Game Design
|
||||||
|
- Programming
|
||||||
|
- Art Direction
|
||||||
|
- Writing
|
||||||
|
|
||||||
|
**AI Assistant (Gemini)** - Development Support
|
||||||
|
- Code Architecture
|
||||||
|
- System Design
|
||||||
|
- Asset Generation
|
||||||
|
- Documentation
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📄 LICENSE
|
||||||
|
|
||||||
|
Copyright © 2026 David Kotnik. All rights reserved.
|
||||||
|
|
||||||
|
This project is proprietary. Unauthorized copying, distribution, or modification is prohibited.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 LINKS
|
||||||
|
|
||||||
|
- **Documentation:** [docs/](docs/)
|
||||||
|
- **Game Bible:** [GAME_BIBLE_COMPLETE.md](GAME_BIBLE_COMPLETE.md)
|
||||||
|
- **Systems Guide:** [SYSTEMS_INTEGRATION_GUIDE.md](SYSTEMS_INTEGRATION_GUIDE.md)
|
||||||
|
- **Asset Standards:** [ASSET_NAMING_STANDARDS.md](ASSET_NAMING_STANDARDS.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📞 CONTACT
|
||||||
|
|
||||||
|
**Email:** [Your Email]
|
||||||
|
**Discord:** [Your Discord]
|
||||||
|
**Twitter:** [Your Twitter]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Made with 💀 in Slovenia**
|
||||||
|
|
||||||
|
*"To those we've lost, and those we'll find again."*
|
||||||
|
|||||||
526
SYSTEMS_OVERVIEW.md
Normal file
526
SYSTEMS_OVERVIEW.md
Normal file
@@ -0,0 +1,526 @@
|
|||||||
|
# 🎮 GAME SYSTEMS OVERVIEW
|
||||||
|
**Complete Technical Breakdown of All Game Systems**
|
||||||
|
**Last Updated:** January 4, 2026
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 TABLE OF CONTENTS
|
||||||
|
|
||||||
|
1. [System Architecture](#system-architecture)
|
||||||
|
2. [Core Systems](#core-systems)
|
||||||
|
3. [Town Buildings](#town-buildings)
|
||||||
|
4. [Automation Systems](#automation-systems)
|
||||||
|
5. [Social Systems](#social-systems)
|
||||||
|
6. [Integration Guide](#integration-guide)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏗️ SYSTEM ARCHITECTURE
|
||||||
|
|
||||||
|
### **Master Game Systems Manager**
|
||||||
|
Central coordinator for all game systems.
|
||||||
|
|
||||||
|
**Location:** `src/systems/MasterGameSystemsManager.js`
|
||||||
|
|
||||||
|
**Responsibilities:**
|
||||||
|
- Initialize all systems on game start
|
||||||
|
- Coordinate cross-system events
|
||||||
|
- Manage save/load for all systems
|
||||||
|
- Orchestrate hourly/daily updates
|
||||||
|
- Monitor system status
|
||||||
|
|
||||||
|
**Key Methods:**
|
||||||
|
```javascript
|
||||||
|
initializeSystems() // Initialize all 9 systems
|
||||||
|
setupEventListeners() // Configure cross-system events
|
||||||
|
update(time, delta) // Per-frame update loop
|
||||||
|
onHourChange(hour) // Hourly update
|
||||||
|
onDayChange(day) // Daily update
|
||||||
|
saveAllSystems() // Save all system states
|
||||||
|
loadAllSystems(data) // Load all system states
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💤 1. SLEEP SYSTEM
|
||||||
|
|
||||||
|
**File:** `src/systems/SleepSystem.js`
|
||||||
|
**Purpose:** Energy regeneration and time management
|
||||||
|
|
||||||
|
### **Features**
|
||||||
|
- **3-Tier Bed System:**
|
||||||
|
- Sleeping Bag: 50% energy, 10% nightmare chance
|
||||||
|
- Wooden Bed: 90% energy, 20% dream chance
|
||||||
|
- King-size Bed: 100% energy, 30% dream chance, partner bonus
|
||||||
|
|
||||||
|
- **Dream Mechanics:**
|
||||||
|
- 3 positive dreams (+10 mood, +50 XP, +5 loyalty)
|
||||||
|
- 3 nightmares (-20 mood, -10 energy, -10 mood)
|
||||||
|
|
||||||
|
- **Partner Bonuses:**
|
||||||
|
- +50 relationship points when sleeping with spouse
|
||||||
|
- King-size bed required for bonus
|
||||||
|
|
||||||
|
### **Key Methods**
|
||||||
|
```javascript
|
||||||
|
canUseBed(bedType) // Check requirements
|
||||||
|
purchaseBed(bedType) // Buy bed upgrade
|
||||||
|
sleep() // Initiate sleep
|
||||||
|
wakeUp() // Apply effects & restore energy
|
||||||
|
canSleepNow() // Check time (8 PM - 2 AM)
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Events**
|
||||||
|
- `sleepStarted` - Player begins sleeping
|
||||||
|
- `wakeUp` - Player wakes up, energy restored
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔨 2. CRAFTING TABLES SYSTEM
|
||||||
|
|
||||||
|
**File:** `src/systems/CraftingTablesSystem.js`
|
||||||
|
**Purpose:** Recipe management and item creation
|
||||||
|
|
||||||
|
### **Features**
|
||||||
|
- **Small Crafting Table:**
|
||||||
|
- Cost: Free (starter)
|
||||||
|
- Recipes: 50 basic
|
||||||
|
- Speed: 1.0x
|
||||||
|
- Categories: tools_wooden, repairs, food_basic, potions_beginner
|
||||||
|
|
||||||
|
- **Large Planning Table:**
|
||||||
|
- Cost: 5,000g
|
||||||
|
- Requires: Met Gronk + "Builder's Vision" quest
|
||||||
|
- Recipes: 100+ advanced
|
||||||
|
- Speed: 1.5x
|
||||||
|
- Categories: All small + expedition_planning, mechanisms, weapons_advanced, gronk_special
|
||||||
|
|
||||||
|
### **Recipe Types**
|
||||||
|
1. **Tools** - Wooden Hoe, Pickaxe, etc.
|
||||||
|
2. **Repairs** - Ana's Locket cleaning
|
||||||
|
3. **Food** - Sandwich, Salad
|
||||||
|
4. **Potions** - Basic Healing (requires alchemy level 1)
|
||||||
|
5. **Expeditions** - Maps, Supplies (Gronk required)
|
||||||
|
6. **Mechanisms** - Automated Sprinkler (engineering 3)
|
||||||
|
7. **Weapons** - Steel Sword (combat 5)
|
||||||
|
8. **Gronk Special** - Explosives (7+ hearts with Gronk)
|
||||||
|
|
||||||
|
### **Key Methods**
|
||||||
|
```javascript
|
||||||
|
purchaseLargeTable() // Unlock advanced crafting
|
||||||
|
canCraft(recipeId) // Check requirements
|
||||||
|
craft(recipeId, quantity) // Start crafting
|
||||||
|
update(deltaTime) // Progress crafting
|
||||||
|
completeCraft() // Finish & grant item
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Events**
|
||||||
|
- `craftingStarted` - Crafting begins
|
||||||
|
- `craftingCompleted` - Item crafted
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🥖 3. BAKERY SHOP SYSTEM
|
||||||
|
|
||||||
|
**File:** `src/systems/BakeryShopSystem.js`
|
||||||
|
**Purpose:** Food shop and gift purchasing
|
||||||
|
|
||||||
|
### **Features**
|
||||||
|
- **Products:**
|
||||||
|
- Fresh Bread: 50g, +20 energy, +1 heart (everyone)
|
||||||
|
- Cake: 200g, +50 energy, +5 hearts
|
||||||
|
- Pie: 150g, +40 energy, +3 hearts
|
||||||
|
- Cookies: 25g, +10 energy, +1 heart
|
||||||
|
- Croissants: 75g, +25 energy, +2 hearts
|
||||||
|
- Seasonal: Pumpkin Pie (autumn), Gingerbread (winter)
|
||||||
|
|
||||||
|
- **Gift System:**
|
||||||
|
- Items can be gifted to NPCs
|
||||||
|
- 2x hearts if NPC favors the item
|
||||||
|
- Different NPCs favor different foods
|
||||||
|
|
||||||
|
- **Bulk Discounts:**
|
||||||
|
- 5-9 items: 10% off
|
||||||
|
- 10+ items: 20% off
|
||||||
|
|
||||||
|
- **Special Events:**
|
||||||
|
- Weekly Baking Competition (prizes!)
|
||||||
|
- Birthday cake orders (auto-delivery)
|
||||||
|
|
||||||
|
### **Key Methods**
|
||||||
|
```javascript
|
||||||
|
unlockBakery() // Build bakery (8,000g)
|
||||||
|
buyItem(itemId, quantity) // Purchase item
|
||||||
|
giftItem(itemId, npcId) // Gift to NPC
|
||||||
|
orderBirthdayCake(npcId) // Order special cake
|
||||||
|
startBakingCompetition() // Weekly event
|
||||||
|
restockInventory() // Time-based restock
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Schedule**
|
||||||
|
- **Open Hours:** 6 AM - 8 PM
|
||||||
|
- **Morning Restock (6 AM):** Bread, Pie, Croissants
|
||||||
|
- **Afternoon Restock (2 PM):** Cake
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💈 4. BARBER SHOP SYSTEM
|
||||||
|
|
||||||
|
**File:** `src/systems/BarberShopSystem.js`
|
||||||
|
**Purpose:** Character customization and styling
|
||||||
|
|
||||||
|
### **Features**
|
||||||
|
- **Hairstyles (7):**
|
||||||
|
- Default Hair (free)
|
||||||
|
- Pink & Green Dreadlocks (500g) - Kai's signature
|
||||||
|
- Blue/Purple/Red Mohawk (300g each)
|
||||||
|
- Long Hair (400g) - dyeable
|
||||||
|
- Ponytail (250g) - dyeable
|
||||||
|
- Bald (100g) - reversible for FREE!
|
||||||
|
|
||||||
|
- **Piercings (5):**
|
||||||
|
- Ear Gauges (200g) - Kai's trademark
|
||||||
|
- Nose Ring (150g)
|
||||||
|
- Eyebrow Piercing (100g)
|
||||||
|
- Lip Ring (150g)
|
||||||
|
- Multiple Ear Piercings (50g each, stackable)
|
||||||
|
|
||||||
|
- **Hair Dye Colors (9):**
|
||||||
|
- Brown (free), Black, Blonde, Red, Blue, Purple, Pink, Green, White
|
||||||
|
- Price: 100-250g
|
||||||
|
|
||||||
|
- **Special Services:**
|
||||||
|
- Zombie Makeover: 1,000g, +20 loyalty
|
||||||
|
- NPC Customization: 500g, requires 5+ hearts
|
||||||
|
- Saved Looks: 5 slots
|
||||||
|
|
||||||
|
### **Key Methods**
|
||||||
|
```javascript
|
||||||
|
unlockBarberShop() // Build shop (6,000g)
|
||||||
|
changeHairstyle(id) // Change hair
|
||||||
|
addPiercing(id) // Add piercing
|
||||||
|
removePiercing(id) // Remove (free)
|
||||||
|
dyeHair(colorId) // Dye hair
|
||||||
|
dyeClothing(part, color) // Dye clothes (half price)
|
||||||
|
zombieMakeover(zombieId) // Style zombie
|
||||||
|
saveLook(slotIndex) // Save current appearance
|
||||||
|
loadLook(slotIndex) // Load saved look
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Discounts**
|
||||||
|
- 5+ visits: 10% off all services
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚖️ 5. LAWYER OFFICE SYSTEM
|
||||||
|
|
||||||
|
**File:** `src/systems/LawyerOfficeSystem.js`
|
||||||
|
**Purpose:** Marriage legal services and drama
|
||||||
|
|
||||||
|
### **Features**
|
||||||
|
- **Divorce:**
|
||||||
|
- Cost: 50,000g + 25% of remaining money
|
||||||
|
- With Prenup: 50,000g + 10% of money
|
||||||
|
- Consequences:
|
||||||
|
- Spouse relationship reset to 0 hearts
|
||||||
|
- Spouse moves out
|
||||||
|
- Lose married status
|
||||||
|
- King-size bed reverts to single
|
||||||
|
|
||||||
|
- **Prenuptial Agreement:**
|
||||||
|
- Cost: 10,000g
|
||||||
|
- Must be purchased BEFORE marriage
|
||||||
|
- Reduces divorce money loss from 25% to 10%
|
||||||
|
|
||||||
|
- **Marriage Counseling:**
|
||||||
|
- Cost: 5,000g
|
||||||
|
- Alternative to divorce
|
||||||
|
- Complete 3 tasks to save marriage:
|
||||||
|
1. Give favorite gift
|
||||||
|
2. Date night at favorite location
|
||||||
|
3. Deep conversation
|
||||||
|
- Success: +5 hearts
|
||||||
|
- Failure: -2 hearts
|
||||||
|
|
||||||
|
### **Auto-Unlock Trigger**
|
||||||
|
Office automatically builds when:
|
||||||
|
- Player is married AND
|
||||||
|
- Spouse has ≤3 hearts
|
||||||
|
|
||||||
|
### **Key Methods**
|
||||||
|
```javascript
|
||||||
|
purchasePrenup() // Buy prenup (before marriage)
|
||||||
|
initiateDivorce() // Start divorce process
|
||||||
|
processDivorce() // Complete divorce (after confirmation)
|
||||||
|
startCounseling() // Begin counseling
|
||||||
|
completeCounselingTask(id) // Complete task
|
||||||
|
canRemarry() // Check 28-day cooldown
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Relationship Crisis Warnings**
|
||||||
|
- **Critical (≤3 hearts):** "Marriage in CRISIS!"
|
||||||
|
- **Warning (≤5 hearts):** "Marriage struggling..."
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⛏️ 6. ZOMBIE MINER AUTOMATION
|
||||||
|
|
||||||
|
**File:** `src/systems/ZombieMinerAutomationSystem.js`
|
||||||
|
**Purpose:** Passive resource generation through zombie workers
|
||||||
|
|
||||||
|
### **Features**
|
||||||
|
- **Hire Zombie Miners:**
|
||||||
|
- Cost: 5,000g each
|
||||||
|
- Max: 10 zombies
|
||||||
|
- Random names (e.g., "Grumpy Zed", "Dusty Bones")
|
||||||
|
|
||||||
|
- **Assignment:**
|
||||||
|
- Assign to specific mine (iron_mine, crystal_cavern, etc.)
|
||||||
|
- Assign to depth (must have explored that depth first)
|
||||||
|
- Each zombie has efficiency (0.5 - 2.0)
|
||||||
|
|
||||||
|
- **Loyalty System:**
|
||||||
|
- Starts at 50%
|
||||||
|
- Decays slowly while working (-1 per hour)
|
||||||
|
- Feed zombies to restore loyalty (brain +20, meat +15)
|
||||||
|
- Loyalty affects yield (50% loyalty = 0.5x yield, 100% = 1.5x)
|
||||||
|
|
||||||
|
- **Leveling:**
|
||||||
|
- Gain XP from mining
|
||||||
|
- Level up: +1 yield/hour, +0.05 efficiency
|
||||||
|
- Max level: unlimited
|
||||||
|
|
||||||
|
- **Equipment Upgrades:**
|
||||||
|
- Pickaxe Tier (1-5): 3,000g per tier, +25% yield
|
||||||
|
- Helmet Lamp: 2,000g, better visibility
|
||||||
|
- Oxygen Tank: 2,500g, deeper mining
|
||||||
|
- Cart: 4,000g, +50% collection speed
|
||||||
|
|
||||||
|
### **Yield Calculation**
|
||||||
|
```
|
||||||
|
Base Yield = 5 per hour
|
||||||
|
+ Depth Bonus (10% per 10 levels)
|
||||||
|
× Efficiency (0.5 - 2.0)
|
||||||
|
× Loyalty Factor (0.5 - 1.5)
|
||||||
|
× Equipment Bonuses
|
||||||
|
= Final Yield per Hour
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Key Methods**
|
||||||
|
```javascript
|
||||||
|
hireZombieMiner() // Hire new miner
|
||||||
|
assignZombieMiner(id, mine, depth) // Assign to mine
|
||||||
|
unassignZombieMiner(id) // Return to surface
|
||||||
|
collectAutomatedYield() // Collect resources
|
||||||
|
feedZombieMiner(id, food) // Restore loyalty
|
||||||
|
upgradeEquipment(type) // Upgrade gear
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Automation Collection**
|
||||||
|
- Passive generation runs in background
|
||||||
|
- Collect manually (no auto-collection)
|
||||||
|
- Reminder every 4 hours if 8+ hours uncollected
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏘️ 7. TOWN GROWTH SYSTEM
|
||||||
|
|
||||||
|
**File:** `src/systems/TownGrowthSystem.js`
|
||||||
|
**Purpose:** Population expansion and town development
|
||||||
|
|
||||||
|
### **Features**
|
||||||
|
- **Population Slots (20):**
|
||||||
|
- Start: 4 NPCs (Kai, Ana, Gronk, Baker)
|
||||||
|
- Max: 20 NPCs
|
||||||
|
- Each slot has unlock requirement
|
||||||
|
|
||||||
|
- **Unlock Requirements (examples):**
|
||||||
|
- Slot 5: Farm Level 2
|
||||||
|
- Slot 6: 10,000g
|
||||||
|
- Slot 7: Quest "Expand Town 1"
|
||||||
|
- Slot 9: Build Bakery
|
||||||
|
- Slot 10: Build Barbershop
|
||||||
|
- Slot 17: Get married
|
||||||
|
- Slot 20: Complete "Town Master" quest
|
||||||
|
|
||||||
|
- **Town Services:**
|
||||||
|
- Market (6 pop)
|
||||||
|
- Hospital (8 pop)
|
||||||
|
- School (10 pop)
|
||||||
|
- Bank (12 pop)
|
||||||
|
- Museum (15 pop)
|
||||||
|
- Theater (18 pop)
|
||||||
|
|
||||||
|
- **5 Discoverable Villages:**
|
||||||
|
1. **Severna Vas** (North Village) - 7 NPCs
|
||||||
|
- NPCs: Old Fisher, Hunter, Hermit
|
||||||
|
- Items: Ancient fishing rod, hunter bow
|
||||||
|
|
||||||
|
2. **Vzhodna Stran** (East Village) - 5 NPCs
|
||||||
|
- NPCs: Master Smith, Alchemist
|
||||||
|
- Items: Master anvil, philosopher stone
|
||||||
|
|
||||||
|
3. **Južno Naselje** (South Village) - 6 NPCs
|
||||||
|
- NPCs: Trader, Bard
|
||||||
|
- Items: Exotic seeds, rare instruments
|
||||||
|
|
||||||
|
4. **Zahodna Dolina** (West Village) - 8 NPCs
|
||||||
|
- NPCs: Chef, Librarian, Artist
|
||||||
|
- Items: Master cookbook, ancient tome
|
||||||
|
|
||||||
|
5. **Mystery Village** (Hidden) - 10 NPCs
|
||||||
|
- NPCs: Time Keeper, Oracle
|
||||||
|
- Items: Time crystal, prophecy scroll
|
||||||
|
- Requires special quest to discover
|
||||||
|
|
||||||
|
### **Town Status**
|
||||||
|
- 4-5: Village
|
||||||
|
- 6-9: Small Town
|
||||||
|
- 10-14: Growing Town
|
||||||
|
- 15-17: Prosperous Town
|
||||||
|
- 18-20: Thriving City
|
||||||
|
|
||||||
|
### **Key Methods**
|
||||||
|
```javascript
|
||||||
|
checkPopulationUnlocks() // Check for new slot unlocks
|
||||||
|
inviteNPC(npcId) // Invite NPC to town
|
||||||
|
discoverVillage(villageId) // Discover village
|
||||||
|
getTravelDistance(villageId) // Calculate distance
|
||||||
|
updateTownServices() // Check service unlocks
|
||||||
|
updateTownSign() // Update sign display
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Events**
|
||||||
|
- `serviceUnlocked` - New service available
|
||||||
|
- `townSignUpdate` - Town sign needs update
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏠 8. NPC PRIVACY SYSTEM
|
||||||
|
|
||||||
|
**File:** `src/systems/NPCPrivacySystem.js`
|
||||||
|
**Purpose:** NPC home interiors and visit mechanics
|
||||||
|
|
||||||
|
### **Features**
|
||||||
|
- **Hobby-Based Home Generation:**
|
||||||
|
Each NPC's home is auto-generated based on their hobby:
|
||||||
|
- Fisherman: Mounted fish, fishing net, tackle box
|
||||||
|
- Baker: Flour workspace, mixing bowls, bread storage
|
||||||
|
- Zombie Worker: Brain jar, work bench, miner equipment
|
||||||
|
- Alchemist: Alchemy bottles, brewing cauldron, potion shelf
|
||||||
|
- Crafter: Workshop, tool rack, blueprint table
|
||||||
|
- Reader: Bookshelves, reading chair, writing desk
|
||||||
|
|
||||||
|
- **4 Room Types:**
|
||||||
|
1. **Living Room** (PUBLIC - 0 hearts)
|
||||||
|
2. **Kitchen** (PUBLIC - 0 hearts)
|
||||||
|
3. **Bedroom** (PRIVATE - 5 hearts)
|
||||||
|
4. **Hobby Room** (FRIENDLY - 3 hearts)
|
||||||
|
|
||||||
|
- **Privacy Levels:**
|
||||||
|
- PUBLIC (0 hearts): Anyone can enter
|
||||||
|
- FRIENDLY (3 hearts): Friends can enter
|
||||||
|
- PRIVATE (5 hearts): Close friends only
|
||||||
|
- INTIMATE (8 hearts): Very close relationship
|
||||||
|
- LOCKED (10 hearts or marriage): Spouse only
|
||||||
|
|
||||||
|
- **Visit Effects:**
|
||||||
|
- **Frequency:** 3+ visits per day = annoying (-10 points)
|
||||||
|
- **Time of Day:**
|
||||||
|
- Morning kitchen visit = breakfast together (+5 points)
|
||||||
|
- Night bedroom visit = awkward (-5 points)
|
||||||
|
- **Room Interest:**
|
||||||
|
- Visiting hobby room = shows interest (+10 points)
|
||||||
|
|
||||||
|
- **Privacy Violations:**
|
||||||
|
- Entering without enough hearts
|
||||||
|
- Penalty: -20 to -100 relationship points
|
||||||
|
- Player gets kicked out
|
||||||
|
- NPC reacts angrily
|
||||||
|
|
||||||
|
### **Key Methods**
|
||||||
|
```javascript
|
||||||
|
generateNPCHome(npcId) // Auto-generate home
|
||||||
|
attemptEntry(npcId, roomId) // Try to enter room
|
||||||
|
canAccessSpecialRoom(npcId, roomId) // Check hearts
|
||||||
|
getVisitStats(npcId) // Get visit history
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 CROSS-SYSTEM INTEGRATION
|
||||||
|
|
||||||
|
### **Event Flow**
|
||||||
|
|
||||||
|
```
|
||||||
|
Marriage Complete
|
||||||
|
↓
|
||||||
|
Lawyer System: Check Auto-Unlock
|
||||||
|
↓
|
||||||
|
Town Growth: Check Population Unlocks
|
||||||
|
↓
|
||||||
|
Service Unlocked Event
|
||||||
|
↓
|
||||||
|
Master Manager: Initialize Service
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Save/Load Flow**
|
||||||
|
|
||||||
|
```
|
||||||
|
Player Saves Game
|
||||||
|
↓
|
||||||
|
Master Manager: saveAllSystems()
|
||||||
|
↓
|
||||||
|
Each System: Return state object
|
||||||
|
↓
|
||||||
|
Master Manager: Combine all states
|
||||||
|
↓
|
||||||
|
Save to localStorage/server
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Update Loop**
|
||||||
|
|
||||||
|
```
|
||||||
|
Every Frame (60 FPS)
|
||||||
|
↓
|
||||||
|
Master Manager: update(delta)
|
||||||
|
↓
|
||||||
|
Sleep System: update(deltaSeconds)
|
||||||
|
Crafting System: update(deltaSeconds)
|
||||||
|
Zombie Miners: update(deltaSeconds)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 SYSTEM DEPENDENCIES
|
||||||
|
|
||||||
|
```
|
||||||
|
MasterGameSystemsManager
|
||||||
|
├─── SleepSystem (no dependencies)
|
||||||
|
├─── CraftingTablesSystem
|
||||||
|
│ └─── Requires: Player.inventory
|
||||||
|
├─── BakeryShopSystem
|
||||||
|
│ ├─── Requires: TimeSystem
|
||||||
|
│ └─── Requires: NPCSystem
|
||||||
|
├─── BarberShopSystem
|
||||||
|
│ ├─── Requires: Player.appearance
|
||||||
|
│ └─── Requires: ZombieWorkers (for makeover)
|
||||||
|
├─── LawyerOfficeSystem
|
||||||
|
│ ├─── Requires: NPCSystem
|
||||||
|
│ └─── Requires: QuestSystem
|
||||||
|
├─── ZombieMinerAutomationSystem
|
||||||
|
│ ├─── Requires: MiningSystem
|
||||||
|
│ └─── Requires: TimeSystem
|
||||||
|
├─── TownGrowthSystem
|
||||||
|
│ ├─── Requires: NPCSystem
|
||||||
|
│ ├─── Requires: BuildingSystem
|
||||||
|
│ └─── Requires: QuestSystem
|
||||||
|
└─── NPCPrivacySystem
|
||||||
|
└─── Requires: NPCSystem
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Created:** January 4, 2026
|
||||||
|
**Version:** 1.0
|
||||||
|
**Status:** Complete ✅
|
||||||
Reference in New Issue
Block a user