Files
novafarma/docs/TODO_TASKS.md

12 KiB

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

<!-- 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 COMPLETE!

Lokacija: Vsi novi sistemi
Čas: 20 min
Status: DONE (23.12.2025, 22:10)

Sistemi za check:

  • MiningSystem.js - FIXED
  • CharacterCustomizationSystem.js - FIXED
  • TownRestorationSystem.js - FIXED
  • PortalRepairSystem.js - FIXED
  • SmartZombieSystem.js - OK (no export)
  • ToolSystem.js - OK (no export)
  • AnaClueSystem.js - OK (no export)
  • PyramidSystem.js - OK (no export)
  • SlimesDogsSystem.js - OK (no export)
  • AnimalsSeedsSystem.js - OK (no export)
  • AutomationSystem.js - OK (no export)
  • InventorySystemExpanded.js - OK (no export)

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)

// ========================================================
// 🆕 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:

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

// V create(), po init SmartZombies:
if (this.smartZombies && this.zombieSystem) {
    this.smartZombies.baseZombieSystem = this.zombieSystem;
}

B. ToolSystem ↔ InventorySystem

// V create(), po init ToolSystem:
if (this.toolSystem && this.inventorySystem) {
    this.toolSystem.inventorySystem = this.inventorySystem;
}

C. AnaClues ↔ TwinBondSystem

// V create(), po init AnaClues:
if (this.anaClues && this.twinBondSystem) {
    this.anaClues.onClueFound = (clueId) => {
        this.twinBondSystem.triggerMemory(clueId);
    };
}

D. Automation ↔ Multiple Systems

// 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

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

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)