✅ COMPLETED: - Updated SESSION_DNEVNIK with full 12-hour timeline - Created TODO_JAN_9_2026_IMPLEMENTATION.md - Session reports saved 📋 TOMORROW'S FOCUS: - NPC system integration (4 NPCs, 32 sprites) - Dialogue system - Interactive props - Building restoration system - Weather effects 🎯 Quick Win: Load 1 NPC (Luka) + basic dialogue Status: Ready for implementation! 🚀
8.0 KiB
8.0 KiB
🎯 TODO ZA JUTRI - JAN 9, 2026
Implementacija Faza 2 Asset v Igro
Status: FAZA 2 - 100% ASSETS COMPLETE! ✅
Next: Dodati sisteme v igro za uporabo assetov
🚀 PRIORITY SISTEMI ZA IMPLEMENTACIJO
1. NPC SISTEM (HIGHEST PRIORITY!)
Kar imaš:
- 4 NPCji s polnimi 8-directional animations (32 sprites total)
- Guard Captain Luka, Innkeeper Janez, Store Owner Novak, Elder Marta
- Vsak ima: portrait, idle (left/right/back), walk (left/right/back), custom action
Kar rabiš dodati v kodo:
A. NPC Movement System:
// src/entities/NPC.js
class NPC extends Phaser.GameObjects.Sprite {
constructor(scene, x, y, npcData) {
// npcData = { name, spriteKey, dialogues, schedule }
super(scene, x, y, npcData.spriteKey);
this.npcData = npcData;
this.direction = 'down'; // front, left, right, back
this.state = 'idle'; // idle, walk, action
this.loadAnimations();
this.setupBehavior();
}
loadAnimations() {
// Naloži vse 8 animacij za ta NPC
// idle_left, idle_right, idle_back, idle_front
// walk_left, walk_right, walk_back, walk_front
// action (custom za vsakega)
}
setupBehavior() {
// Integracija z NPCIdleBehavior.js (že obstaja!)
// Random idle animations every 3-8 seconds
}
}
B. NPC Dialogue System:
// src/ui/DialogueBox.js
class DialogueBox {
showDialogue(npcName, text, portrait) {
// Uporabi NPC portrait sprite
// Display text with typewriter effect
// Allow player choices if quest-related
}
}
C. NPC Schedule System (Optional for later):
// NPCs move around town based on time
// Luka - patrols streets
// Janez - stays at inn, serves during evening
// Novak - at store during day
// Marta - sits at square, walks slowly
2. BUILDING RESTORATION SYSTEM
Kar imaš:
- 50 building sprites (40 main + 10 decorations)
- Progression states: broken → repaired
- Windows, doors, signs, decorations
Kar rabiš dodati v kodo:
A. Building State Manager:
// src/systems/BuildingStateManager.js
class BuildingStateManager {
constructor(scene) {
this.buildings = new Map();
// Each building has: id, currentStage, maxStages
}
upgradeBuilding(buildingId) {
const building = this.buildings.get(buildingId);
if (building.currentStage < building.maxStages) {
building.currentStage++;
this.updateBuildingSprite(buildingId);
return true;
}
return false;
}
updateBuildingSprite(buildingId) {
// Switch sprite to next stage
// Update collision if needed
}
}
B. Restoration Quest System:
// Player collects resources → brings to building
// Building upgrades visually
// Town looks better as player progresses
3. PROP INTERACTION SYSTEM
Kar imaš:
- 67 infrastructure props (wells, benches, signs, tools, etc.)
- Interactive elements (bulletin board, tool rack, water well)
Kar rabiš dodati v kodo:
A. Interactive Props:
// src/entities/InteractiveProp.js
class InteractiveProp extends Phaser.GameObjects.Sprite {
constructor(scene, x, y, propType) {
super(scene, x, y, propType);
this.interactionType = this.getInteractionType(propType);
}
interact(player) {
switch(this.interactionType) {
case 'bulletin_board':
// Show quest board
break;
case 'water_well':
// Fill water can
break;
case 'tool_rack':
// Access community tools
break;
case 'bench':
// Sit and rest (heal?)
break;
}
}
}
4. WEATHER & LIGHTING SYSTEM
Kar imaš:
- Fog overlay
- Rain animation
- Lit lanterns
- Wall torches
Kar rabiš dodati v kodo:
A. Weather System:
// src/systems/WeatherSystem.js
class WeatherSystem {
setWeather(type) {
switch(type) {
case 'fog':
this.addFogOverlay();
break;
case 'rain':
this.addRainParticles();
break;
case 'clear':
this.clearWeather();
break;
}
}
}
B. Lighting System:
// Street lamps turn on at night
// Torches flicker
// Player flashlight interacts with darkness
5. CEMETERY SYSTEM
Kar imaš:
- 20 cemetery sprites (mausoleum, gates, crypts, plaques)
- Broken → restored progression
Kar rabiš dodati v kodo:
A. Cemetery Interaction:
// Memorial plaques - read inscriptions
// Mausoleum - quest location?
// Crypt door - dungeon entrance?
// Gates - unlock with quest progression
📋 IMPLEMENTATION PRIORITY
DAY 1 (TOMORROW):
-
NPC Basic Movement ✅
- Load 4 NPCs into town
- Idle animations working
- Can walk (simple patrol?)
-
NPC Dialogue ✅
- Click NPC → show dialogue
- Portrait display
- Text system
DAY 2:
-
Interactive Props ✅
- Bulletin board quest system
- Water well interaction
- Bench sitting
-
Building States ✅
- Load broken buildings
- Simple upgrade system (test 1 building)
DAY 3:
-
Weather Effects ✅
- Fog overlay test
- Rain particles
-
Lighting System ✅
- Night/day cycle basic
- Lanterns light up
🔧 TECHNICAL INTEGRATION CHECKLIST
A. Sprite Loading:
// In GameScene preload():
this.load.spritesheet('luka_idle_left', 'assets/references/faza2_npcs/guard_luka/idle_left.png', {
frameWidth: ???, // Check actual sprite size
frameHeight: ???
});
// ... repeat for all 32 NPC sprites
B. Animation Creation:
// In GameScene create():
this.anims.create({
key: 'luka_idle_left',
frames: this.anims.generateFrameNumbers('luka_idle_left'),
frameRate: 8,
repeat: -1
});
C. NPC Spawning:
// Create NPCs in town
this.luka = new NPC(this, 400, 300, {
name: 'Guard Captain Luka',
spriteKey: 'luka',
dialogues: LUKA_DIALOGUES
});
📁 FILES TO CREATE/UPDATE
Create:
src/entities/NPC.js- NPC classsrc/ui/DialogueBox.js- Dialogue systemsrc/entities/InteractiveProp.js- Propssrc/systems/BuildingStateManager.js- Buildingssrc/systems/WeatherSystem.js- Weather
Update:
src/scenes/GameScene.js- Add NPCs, props, weathersrc/ai/NPCIdleBehavior.js- Already exists! Just integratesrc/config/NPCData.js- Create NPC definitions
🎯 QUICK WIN FOR TOMORROW
NAJLAŽJI START:
- Naloži 1 NPC (Luka) v GameScene
- Dodaj idle_left animation
- Klik na njega → show "Hello, I'm Luka!"
- DONE - NPC sistem dela! ✅
Potem expand:
- Dodaj ostale 3 NPCje
- Dodaj walk animations
- Dodaj dialogue choices
- Dodaj quest system
💡 POMEMBNO ZA JUTRI
ŠE RABIŠ VEDETI:
- Sprite Sizes? - Preveri dejanske dimenzije sprite-ov
- Frame Counts? - Koliko framov ima vsaka animacija?
- Tiled Integration? - Ali boš dodajal v obstoječi map ali nov?
QUICK CHECK:
# Check sprite dimensions
cd assets/references/faza2_npcs/guard_luka
file idle_left.png
# Output will show: PNG image data, 128 x 128 (example)
🚀 JUTRI ZAČNI Z:
- Open
src/scenes/GameScene.js - Preload 1 NPC sprite (Luka idle_left)
- Create simple NPC sprite
- Add click interaction
- Test - če dela → expand!
📊 OČAKOVAN PROGRESS JUTRI
Realistično:
- 1 NPC working (Luka) ✅
- Basic dialogue ✅
- 1-2 interactive props ✅
Če gre smooth:
- All 4 NPCs ✅
- Full dialogue system ✅
- Quest board working ✅
Če gre EPIC:
- NPCs patrol ✅
- Building restoration ✅
- Weather system ✅
🎊 MOTIVACIJA
Danes si naredil:
- 255 sprites v 12 urah! 🔥
- 100% Faza 2 complete! 🏆
Jutri boš naredil:
- Assets LIVE in game! 🎮
- NPCs hodijo po town! 👥
- Players lahko interactajo! 🎯
IT'S ALL COMING TOGETHER! 💎
Sleep well, legend! Jutri se nadaljuje! 😴🌙