Created Implementation Guide & TODO Tasks - Complete roadmap for integration & UI creation
This commit is contained in:
523
docs/TODO_TASKS.md
Normal file
523
docs/TODO_TASKS.md
Normal file
@@ -0,0 +1,523 @@
|
||||
# KRVAVA ŽETEV - TODO Task List
|
||||
## Naslednji Koraki za Integracijo
|
||||
|
||||
**Datum:** 23.12.2025
|
||||
**Status:** Systems Complete (46/46), Ready for Integration
|
||||
|
||||
---
|
||||
|
||||
## 🚀 PRIORITETA 1: QUICK WINS (1-2 uri)
|
||||
|
||||
### ✅ Task 1.1: Add Missing Systems to index.html
|
||||
**Lokacija:** `index.html` (pred line 212 - GameScene.js)
|
||||
**Čas:** 15 min
|
||||
|
||||
```html
|
||||
<!-- Dodaj pred <script src="src/scenes/GameScene.js"></script> -->
|
||||
<script src="src/systems/MiningSystem.js"></script>
|
||||
<script src="src/systems/CharacterCustomizationSystem.js"></script>
|
||||
<script src="src/systems/TownRestorationSystem.js"></script>
|
||||
<script src="src/systems/PortalRepairSystem.js"></script>
|
||||
<script src="src/systems/SmartZombieSystem.js"></script>
|
||||
<script src="src/systems/ToolSystem.js"></script>
|
||||
<script src="src/systems/AnaClueSystem.js"></script>
|
||||
<script src="src/systems/PyramidSystem.js"></script>
|
||||
<script src="src/systems/SlimesDogsSystem.js"></script>
|
||||
<script src="src/systems/AnimalsSeedsSystem.js"></script>
|
||||
<script src="src/systems/AutomationSystem.js"></script>
|
||||
<script src="src/systems/InventorySystemExpanded.js"></script>
|
||||
```
|
||||
|
||||
**Checklist:**
|
||||
- [ ] Odpri `index.html`
|
||||
- [ ] Najdi line 212 (`<script src="src/scenes/GameScene.js"></script>`)
|
||||
- [ ] Dodaj zgoraj navedene script tag-e PRED GameScene.js
|
||||
- [ ] Shrani
|
||||
- [ ] Test: Hard reload (Ctrl+Shift+R)
|
||||
- [ ] Preveri console za napake
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 1.2: Check for Export Statements
|
||||
**Lokacija:** Vsi novi sistemi
|
||||
**Čas:** 20 min
|
||||
|
||||
**Sistemi za check:**
|
||||
- [ ] MiningSystem.js
|
||||
- [ ] CharacterCustomizationSystem.js
|
||||
- [ ] TownRestorationSystem.js
|
||||
- [ ] PortalRepairSystem.js
|
||||
- [ ] SmartZombieSystem.js
|
||||
- [ ] ToolSystem.js
|
||||
- [ ] AnaClueSystem.js
|
||||
- [ ] PyramidSystem.js
|
||||
- [ ] SlimesDogsSystem.js
|
||||
- [ ] AnimalsSeedsSystem.js
|
||||
- [ ] AutomationSystem.js
|
||||
- [ ] InventorySystemExpanded.js
|
||||
|
||||
**Action:**
|
||||
1. Odpri vsak file
|
||||
2. Preveri za `export default class` ali `export class`
|
||||
3. Če najdeš, zamenjaj z samo `class`
|
||||
4. Shrani
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 1.3: Basic Smoke Test
|
||||
**Čas:** 10 min
|
||||
|
||||
**Test:**
|
||||
- [ ] Igra se zažene brez napak
|
||||
- [ ] Console nima critical errors
|
||||
- [ ] Player spawna
|
||||
- [ ] Basic movement dela (WASD)
|
||||
- [ ] Inventory dela (I key)
|
||||
|
||||
---
|
||||
|
||||
## 🔧 PRIORITETA 2: SYSTEM INTEGRATION (4-6 ur)
|
||||
|
||||
### ✅ Task 2.1: Initialize New Systems in GameScene
|
||||
**Lokacija:** `src/scenes/GameScene.js` - `create()` function
|
||||
**Čas:** 1 ura
|
||||
|
||||
**Kje dodati:** Po line ~800 (po inicializaciji DialogueSystem/TwinBondSystem)
|
||||
|
||||
```javascript
|
||||
// ========================================================
|
||||
// 🆕 NEW SYSTEMS (P16-P30) - 23.12.2025
|
||||
// ========================================================
|
||||
console.log('🆕 Initializing New Systems (P16-P30)...');
|
||||
|
||||
// P16: Mining System
|
||||
console.log('⛏️ Initializing Mining System...');
|
||||
this.miningSystem = new MiningSystem(this);
|
||||
|
||||
// P17: Character Customization
|
||||
console.log('👤 Initializing Character Customization...');
|
||||
this.characterCustomization = new CharacterCustomizationSystem(this);
|
||||
|
||||
// P19: Town Restoration
|
||||
console.log('🏘️ Initializing Town Restoration...');
|
||||
this.townRestoration = new TownRestorationSystem(this);
|
||||
|
||||
// P20: Portal Repair
|
||||
console.log('🌀 Initializing Portal Repair...');
|
||||
this.portalRepair = new PortalRepairSystem(this);
|
||||
|
||||
// P22: Smart Zombies
|
||||
console.log('🧠 Initializing Smart Zombies...');
|
||||
this.smartZombies = new SmartZombieSystem(this);
|
||||
|
||||
// P23: Tool System
|
||||
console.log('🔧 Initializing Tool System...');
|
||||
this.toolSystem = new ToolSystem(this);
|
||||
|
||||
// P25: Ana's Clues
|
||||
console.log('💜 Initializing Ana Clues...');
|
||||
this.anaClues = new AnaClueSystem(this);
|
||||
|
||||
// P26: Pyramids
|
||||
console.log('🏜️ Initializing Pyramid System...');
|
||||
this.pyramids = new PyramidSystem(this);
|
||||
|
||||
// P27: Slimes & Dogs
|
||||
console.log('🟢🐶 Initializing Slimes & Dogs...');
|
||||
this.slimesDogs = new SlimesDogsSystem(this);
|
||||
|
||||
// P28: Animals & Seeds
|
||||
console.log('🐄🌱 Initializing Animals & Seeds...');
|
||||
this.animalsSeeds = new AnimalsSeedsSystem(this);
|
||||
|
||||
// P29: Automation
|
||||
console.log('⚙️ Initializing Automation...');
|
||||
this.automation = new AutomationSystem(this);
|
||||
|
||||
// P30: Inventory Expanded
|
||||
console.log('🎒 Initializing Inventory Expansion...');
|
||||
this.inventoryExpanded = new InventorySystemExpanded(this, this.inventorySystem);
|
||||
|
||||
console.log('✅ All New Systems Initialized!');
|
||||
```
|
||||
|
||||
**Checklist:**
|
||||
- [ ] Odpri `src/scenes/GameScene.js`
|
||||
- [ ] Najdi `create()` function
|
||||
- [ ] Najdi line kjer so inicializirani DialogueSystem & TwinBondSystem
|
||||
- [ ] Dodaj zgoraj navedeno kodo PO tem
|
||||
- [ ] Shrani
|
||||
- [ ] Test reload
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 2.2: Add System Updates to update() Loop
|
||||
**Lokacija:** `src/scenes/GameScene.js` - `update()` function
|
||||
**Čas:** 30 min
|
||||
|
||||
**Najdi update() in dodaj:**
|
||||
|
||||
```javascript
|
||||
update(time, delta) {
|
||||
// ... existing update code ...
|
||||
|
||||
// NEW: Daily automation
|
||||
if (this.automation) {
|
||||
// Check if new day (runs once per day)
|
||||
const currentDay = Math.floor(time / 86400000); // ms to days
|
||||
if (currentDay !== this.lastDay) {
|
||||
this.automation.runDailyAutomation();
|
||||
this.lastDay = currentDay;
|
||||
}
|
||||
}
|
||||
|
||||
// NEW: Animal updates
|
||||
if (this.animalsSeeds) {
|
||||
this.animalsSeeds.updateLivestock();
|
||||
}
|
||||
|
||||
// NEW: Smart zombie updates
|
||||
if (this.smartZombies) {
|
||||
this.smartZombies.updateZombies(delta);
|
||||
}
|
||||
|
||||
// NEW: Town construction
|
||||
if (this.townRestoration) {
|
||||
this.townRestoration.updateConstruction(delta);
|
||||
}
|
||||
|
||||
// NEW: Portal construction
|
||||
if (this.portalRepair) {
|
||||
this.portalRepair.updateConstruction(delta);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Checklist:**
|
||||
- [ ] Najdi `update(time, delta)` function
|
||||
- [ ] Dodaj zgoraj navedeno kodo
|
||||
- [ ] Shrani
|
||||
- [ ] Test: Check console za update logs
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 2.3: Connect System Communications
|
||||
**Lokacija:** `src/scenes/GameScene.js`
|
||||
**Čas:** 1 ura
|
||||
|
||||
**A. SmartZombies ↔ ZombieSystem**
|
||||
```javascript
|
||||
// V create(), po init SmartZombies:
|
||||
if (this.smartZombies && this.zombieSystem) {
|
||||
this.smartZombies.baseZombieSystem = this.zombieSystem;
|
||||
}
|
||||
```
|
||||
|
||||
**B. ToolSystem ↔ InventorySystem**
|
||||
```javascript
|
||||
// V create(), po init ToolSystem:
|
||||
if (this.toolSystem && this.inventorySystem) {
|
||||
this.toolSystem.inventorySystem = this.inventorySystem;
|
||||
}
|
||||
```
|
||||
|
||||
**C. AnaClues ↔ TwinBondSystem**
|
||||
```javascript
|
||||
// V create(), po init AnaClues:
|
||||
if (this.anaClues && this.twinBondSystem) {
|
||||
this.anaClues.onClueFound = (clueId) => {
|
||||
this.twinBondSystem.triggerMemory(clueId);
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
**D. Automation ↔ Multiple Systems**
|
||||
```javascript
|
||||
// V create(), po init Automation:
|
||||
if (this.automation) {
|
||||
this.automation.farmingSystem = this.farmingSystem;
|
||||
this.automation.smartZombies = this.smartZombies;
|
||||
this.automation.inventoryExpanded = this.inventoryExpanded;
|
||||
}
|
||||
```
|
||||
|
||||
**Checklist:**
|
||||
- [ ] Dodaj vse zgoraj navedene povezave
|
||||
- [ ] Test: Preveri da sistemi lahko komunicirajo
|
||||
|
||||
---
|
||||
|
||||
## 🎨 PRIORITETA 3: UI CREATION (4-6 ur)
|
||||
|
||||
### ✅ Task 3.1: Character Creation Scene
|
||||
**File:** `src/scenes/CharacterCreationScene.js` (CREATE NEW)
|
||||
**Čas:** 1 ura
|
||||
**Prioriteta:** CRITICAL (game start)
|
||||
|
||||
**Potrebno:**
|
||||
- Gender selection (Kai/Ana)
|
||||
- RGB hair color picker
|
||||
- Body customization
|
||||
- Outfit selection
|
||||
- Preview window
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 3.2: Smart Zombie Command UI
|
||||
**File:** `src/ui/SmartZombieUI.js` (CREATE NEW)
|
||||
**Čas:** 45 min
|
||||
**Prioriteta:** HIGH
|
||||
|
||||
**Potrebno:**
|
||||
- Zombie list
|
||||
- Command buttons (Stop, Help, Attack, Home)
|
||||
- Follower management
|
||||
- XP display
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 3.3: Inventory Upgrade UI
|
||||
**File:** `src/ui/InventoryUpgradeUI.js` (CREATE NEW)
|
||||
**Čas:** 30 min
|
||||
**Prioriteta:** HIGH
|
||||
|
||||
**Potrebno:**
|
||||
- Tier upgrade menu
|
||||
- Tool Belt unlock button
|
||||
- Dog Backpack unlock button
|
||||
- Quick Sort/Stack/Deposit buttons
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 3.4: Ana's Clue Collection UI
|
||||
**File:** `src/ui/AnaClueUI.js` (CREATE NEW)
|
||||
**Čas:** 1 ura
|
||||
**Prioriteta:** HIGH (story)
|
||||
|
||||
**Potrebno:**
|
||||
- Progress tracker (15/12/23)
|
||||
- Gallery view
|
||||
- Story milestone indicators
|
||||
- Clue descriptions
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 3.5: Mining UI
|
||||
**File:** `src/ui/MiningUI.js` (CREATE NEW)
|
||||
**Čas:** 30 min
|
||||
**Prioriteta:** MEDIUM
|
||||
|
||||
**Potrebno:**
|
||||
- Mine selection
|
||||
- Depth indicator
|
||||
- Oxygen warning
|
||||
- Elevator button
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 3.6: Town Restoration UI
|
||||
**File:** `src/ui/TownRestorationUI.js` (CREATE NEW)
|
||||
**Čas:** 45 min
|
||||
**Prioriteta:** MEDIUM
|
||||
|
||||
**Potrebno:**
|
||||
- Town list (27)
|
||||
- Building progress
|
||||
- NPC count
|
||||
- Zombie assignment
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 3.7: Portal Repair UI
|
||||
**File:** `src/ui/PortalRepairUI.js` (CREATE NEW)
|
||||
**Čas:** 30 min
|
||||
**Prioriteta:** MEDIUM
|
||||
|
||||
**Potrebno:**
|
||||
- Portal list (18)
|
||||
- Material requirements
|
||||
- Construction progress
|
||||
- Teleport button
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 3.8: Tool Management UI
|
||||
**File:** `src/ui/ToolUI.js` (CREATE NEW)
|
||||
**Čas:** 30 min
|
||||
**Prioriteta:** MEDIUM
|
||||
|
||||
**Potrebno:**
|
||||
- Durability bars
|
||||
- Repair options
|
||||
- Upgrade menu
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 3.9: Blueprint Gallery UI
|
||||
**File:** `src/ui/BlueprintGalleryUI.js` (CREATE NEW)
|
||||
**Čas:** 45 min
|
||||
**Prioriteta:** MEDIUM
|
||||
|
||||
**Potrebno:**
|
||||
- Collection progress
|
||||
- Category tabs
|
||||
- Discovery indicators
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 3.10: Animal Shop UI
|
||||
**File:** `src/ui/AnimalShopUI.js` (CREATE NEW)
|
||||
**Čas:** 45 min
|
||||
**Prioriteta:** MEDIUM
|
||||
|
||||
**Potrebno:**
|
||||
- Animal Rescue progress
|
||||
- Livestock shop
|
||||
- Breeding interface
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 3.11: Seed Shop UI
|
||||
**File:** `src/ui/SeedShopUI.js` (CREATE NEW)
|
||||
**Čas:** 30 min
|
||||
**Prioriteta:** MEDIUM
|
||||
|
||||
**Potrebno:**
|
||||
- Season tabs
|
||||
- 100+ seeds
|
||||
- Growth time display
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 3.12: Automation Control Panel
|
||||
**File:** `src/ui/AutomationUI.js` (CREATE NEW)
|
||||
**Čas:** 45 min
|
||||
**Prioriteta:** LOW (endgame)
|
||||
|
||||
**Potrebno:**
|
||||
- Sprinkler management
|
||||
- Water tower status
|
||||
- Minting controls
|
||||
- Full automation checklist
|
||||
|
||||
---
|
||||
|
||||
## 🗺️ PRIORITETA 4: TILED MAPS (30 min)
|
||||
|
||||
### ✅ Task 4.1: Import TSX Files
|
||||
**Čas:** 10 min
|
||||
|
||||
**Action:**
|
||||
1. Odpri Tiled Map Editor
|
||||
2. Import → External Tilesets
|
||||
3. Dodaj vse 61 TSX iz `assets/tilesets/`
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 4.2: Create Starter Map
|
||||
**Čas:** 15 min
|
||||
|
||||
**Action:**
|
||||
1. New Map → 16x16
|
||||
2. Dodaj Base Ground layer
|
||||
3. Dodaj Decoration layer
|
||||
4. Paint basic starter area
|
||||
5. Save as `starter_farm_16x16.tmx`
|
||||
|
||||
---
|
||||
|
||||
### ✅ Task 4.3: Export to JSON
|
||||
**Čas:** 5 min
|
||||
|
||||
**Action:**
|
||||
1. File → Export As → JSON
|
||||
2. Save v `assets/maps/starter_farm_16x16.json`
|
||||
3. Test load v `TiledTestScene.js`
|
||||
|
||||
---
|
||||
|
||||
## ✅ TESTING CHECKLIST
|
||||
|
||||
### After Quick Wins:
|
||||
- [ ] Game launches
|
||||
- [ ] No console errors
|
||||
- [ ] All systems load
|
||||
|
||||
### After Integration:
|
||||
- [ ] All 46 systems initialize
|
||||
- [ ] Systems communicate
|
||||
- [ ] No memory leaks
|
||||
- [ ] 60 FPS maintained
|
||||
|
||||
### After UI:
|
||||
- [ ] All UIs open/close
|
||||
- [ ] Buttons work
|
||||
- [ ] Data displays correctly
|
||||
|
||||
### Full Gameplay:
|
||||
- [ ] New game → Character creation
|
||||
- [ ] Mining works
|
||||
- [ ] Zombie commands work
|
||||
- [ ] Tools break/repair
|
||||
- [ ] Clues found
|
||||
- [ ] Towns restored
|
||||
- [ ] Portals repaired
|
||||
- [ ] Animals breed
|
||||
- [ ] Seeds grow
|
||||
- [ ] Automation works
|
||||
- [ ] Inventory expands
|
||||
|
||||
---
|
||||
|
||||
## 📅 ČASOVNI PLAN (Recommended)
|
||||
|
||||
**Session 1 (1-2h):** Quick Wins
|
||||
- Add systems to HTML
|
||||
- Check exports
|
||||
- Basic testing
|
||||
|
||||
**Session 2 (2-3h):** Integration Part 1
|
||||
- Initialize systems
|
||||
- Add updates
|
||||
- Basic connections
|
||||
|
||||
**Session 3 (2-3h):** Integration Part 2
|
||||
- Full system communications
|
||||
- Testing
|
||||
- Bug fixes
|
||||
|
||||
**Session 4 (2h):** High Priority UIs
|
||||
- Character Creation
|
||||
- Smart Zombie UI
|
||||
- Inventory Upgrade UI
|
||||
- Ana Clue UI
|
||||
|
||||
**Session 5 (2-3h):** Medium Priority UIs
|
||||
- Mining, Town, Portal, Tool UIs
|
||||
- Blueprint Gallery
|
||||
- Animal/Seed Shops
|
||||
|
||||
**Session 6 (1h):** Low Priority UIs
|
||||
- Automation Panel
|
||||
- Final polish
|
||||
|
||||
**Session 7 (1h):** Tiled Maps
|
||||
- Import, create, export
|
||||
|
||||
**TOTAL:** ~12-15 hours split across multiple sessions
|
||||
|
||||
---
|
||||
|
||||
## 💡 PRIPOROČILA
|
||||
|
||||
1. **Ne delaj vsega naenkrat!** Razdeli na seje
|
||||
2. **Testiraj pogosto** po vsakem task-u
|
||||
3. **Commit pogosto** za vsak večji milestone
|
||||
4. **Odpočij med sesjami** za boljšo produktivnost
|
||||
5. **Prioritize** - začni najprej s HIGH priority task-i
|
||||
|
||||
---
|
||||
|
||||
**Created:** 23.12.2025, 22:00
|
||||
**Status:** Ready to Execute
|
||||
**Next Step:** Start with Task 1.1 (Add Systems to HTML)
|
||||
Reference in New Issue
Block a user