📊 FULL GAME PRODUCTION PLAN (76-99 hours, 2-4 weeks) 🎵 AUDIO (129 files total): - DEMO: 45 files (music + SFX + ambient + UI) - Faza 1: +60 files (biomes, animals, combat, crafting) - Faza 2: +24 files (town, NPCs, buildings) 🎮 MECHANICS (8 major systems): 1. Resource Logistics (8-10h) - Kai auto-pickup radius - Zombie Lumberjack (chops trees) - Zombie Carrier (transports to storage) - Storage building - Working Table crafting 2. HIPODEVIL666CITY Management (6-8h) - Neon population board (Total/F/NF) - Zombie Statistician (1 coin/day) - City Generator (electricity) - Power grid → lamps + UV lights 3. House Upgrades & Basement (5-6h) - Tent → Shack → House → +Basement - Illegal basement farming (Cannabis, Mushrooms) - UV lights = 2.3x faster growth - Raid risk mechanics 4. Procedural Mine (6-8h) - Infinite generation (new each visit) - Deeper floors = better ores - Iron, Coal, Blood Ore - Zombie land expansion 5. Visual Effects (4-5h) - 20px blur-to-clear intro - Vertex shader (hair/wheat sway) - Displacement shader (water ripples) 6. Controller Support (3-4h) - Full Xbox analog control - Rumble feedback - Button prompts 7. Parent Memories System (8-10h) ⭐ NEW! - 4 static memories (photos + narration) - 4 interactive flashbacks (playable) - Parent character sprites - Mini-games with emotional payoff 8. Early Access Features - Gronk auto-unlock (first 20 buyers) - Twitch tester keys 🎨 ASSETS NEEDED (~133 sprites): - Mechanics: 35 sprites - Buildings: 15 sprites - Mine: 8 sprites - Controller UI: 10 sprites - Parent Memories: 65 sprites (biggest addition!) 📅 TIMELINE: - Week 1: Audio + Core Mechanics - Week 2: Buildings + Visuals - Week 3: Parent Memories + Assets - Week 4: Polish + Launch ⚡ QUICK WIN (1 week MVP): 1. Audio (45 files) - Days 1-2 2. Auto-pickup + Zombies - Day 3 3. Storage + Crafting - Day 4 4. House upgrade - Day 5 5. Controller + Intro - Day 6-7 = Playable demo in 7 days! 🎯 PRIORITIES: 🔥 Critical: Audio, Resource system, Crafting, House 🟡 Important: City, Electric, Basement, Mine, Memories 🟢 Nice: Interactive memories, Faza 1 audio, Advanced polish Full breakdown with code examples, asset specs, and step-by-step guide!
30 KiB
🎯 ULTIMATE MASTER IMPLEMENTATION PLAN
Complete Roadmap: DEMO + Faza 1 + Faza 2 (Audio + Mechanics + Features)
Created: January 9, 2026, 14:41 CET
Purpose: Complete implementation plan for playable game
Includes: Audio, Mechanics, Parent Memories, Assets
Timeline: 2-4 weeks to full Alpha v2.5
📊 EXECUTIVE SUMMARY
What Needs to Be Done:
| Category | Items | Est. Time | Priority |
|---|---|---|---|
| Audio | 129 files | 3-4 hours | 🔥 HIGH |
| Core Mechanics | 8 systems | 40-50 hours | 🔥 HIGH |
| Parent Memories | Story system | 8-10 hours | 🟡 MED |
| Missing Assets | ~150 sprites | 10-15 hours | 🟡 MED |
| Polish & Testing | QA + bugs | 15-20 hours | 🟢 LOW |
| TOTAL | - | 76-99 hours | (~2-3 weeks) |
🎵 PART 1: AUDIO IMPLEMENTATION
Phase 1: DEMO Audio (45 files) - 3-4 hours
Step 1: Acquire Audio (2-3 hours)
✅ Download guide ready: AUDIO_DOWNLOAD_QUICK_GUIDE.md
Tasks:
- Convert 8 .wav music tracks to .ogg (15 min)
- Download Kenney packs (30 min)
- RPG Audio, Impact Sounds, Interface, Digital Audio
- Download Freesound.org specific sounds (1 hour)
- Farming, combat, zombies, animals
- Download OpenGameArt ambient loops (15 min)
- Organize into
/assets/audio/structure (30 min)
Step 2: Integration (1 hour)
Tasks:
- Test all 45 files load in Phaser
- Configure AudioManager.js
- Set up music transitions
- Test SFX triggers
- Volume balancing
Result: DEMO audio 100% functional ✅
Phase 2: Faza 1 Audio (+60 files) - 2-3 hours
When: After implementing Faza 1 biomes/combat
Tasks:
- Download biome music (desert, swamp, cave, boss)
- Get animal sounds (10 farm animals)
- Get advanced combat SFX (15 files)
- Get crafting sounds (5 files)
- Get environment sounds (5 files)
- Integrate into AudioManager
Phase 3: Faza 2 Audio (+24 files) - 1-2 hours
When: After implementing town restoration
Tasks:
- Download town music (busy, church, tavern)
- Get town SFX (bells, market, NPCs)
- Get building completion stingers
- Integrate into town systems
🎮 PART 2: CORE MECHANICS IMPLEMENTATION
🌲 MECHANIC 1: Resource Logistics & Automation (8-10 hours)
System Overview:
Implement full resource gathering → storage → crafting pipeline
Components:
A. Kai Auto-Pickup System (2 hours)
Features:
- Radius-based auto-collection (5-tile radius)
- Resources fly to inventory with animation
- Satisfying "pop" SFX on pickup
- UI counter updates
Implementation:
// src/systems/ResourceAutoPickup.js
class ResourceAutoPickup {
constructor(player, radius = 5) {
this.player = player;
this.radius = radius * 32; // tiles to pixels
this.pickupDelay = 200; // ms between pickups
}
update() {
// Check for resources in radius
// Auto-collect with animation
// Update inventory
// Play SFX
}
}
Assets Needed:
- ✅ Have: Kai sprite, inventory UI
- ❌ Need: Pickup particle effect (1 sprite)
B. Zombie Worker AI (4 hours)
Zombie Types:
1. Zombie Lumberjack (Gozdar)
- Path to nearest tree
- Chop animation (use axe swing)
- Drop wood on ground
- Find next tree
2. Zombie Carrier (Nosilec)
- Detect items on ground
- Pick up item (carry animation)
- Path to storage
- Deposit item
- Return to patrol
Implementation:
// src/entities/ZombieWorker.js
class ZombieWorker extends Phaser.GameObjects.Sprite {
constructor(scene, x, y, type) {
this.type = type; // 'lumberjack' or 'carrier'
this.state = 'idle'; // idle, working, carrying, depositing
this.assignedTask = null;
this.carryingItem = null;
}
update() {
switch(this.state) {
case 'idle': this.findWork(); break;
case 'working': this.doWork(); break;
case 'carrying': this.deliverItem(); break;
}
}
}
Assets Needed:
- ✅ Have: Zombie sprites (50 frames)
- ❌ Need: Carrying animation variant (8 frames)
- ❌ Need: Axe tool sprite for zombie (1 sprite)
C. Storage Building (1 hour)
Features:
- Small shed sprite (3x3 tiles)
- Capacity: 500 items (upgradable)
- Visual fill indicator
- Deposit/withdraw UI
Implementation:
// src/buildings/Storage.js
class Storage extends Building {
constructor(scene, x, y) {
this.capacity = 500;
this.contents = new Map(); // resource -> count
this.fullness = 0; // 0-1 for visual
}
deposit(resource, amount) {
// Add to storage
// Update UI
// Play SFX
}
}
Assets Needed:
- ✅ Have: Building sprites from Faza 1 infrastructure
- ❌ Need: Small storage shed sprite (1 sprite)
D. Working Table / Crafting (1 hour)
Features:
- First buildable structure
- Opens crafting UI
- Recipes for basic tools
Crafting Recipes:
- Wooden Hoe: 10 wood
- Wooden Axe: 5 wood
- Wooden Pickaxe: 10 wood + 5 stone
- Watering Can: 10 wood + 5 iron
Implementation:
// src/ui/CraftingUI.js
class CraftingUI {
constructor(scene) {
this.recipes = CRAFTING_RECIPES;
this.selectedRecipe = null;
}
canCraft(recipe) {
// Check if player has resources
return recipe.materials.every(mat =>
this.player.inventory.has(mat.id, mat.amount)
);
}
craft(recipe) {
// Deduct materials
// Create item
// Play animation + SFX
}
}
Assets Needed:
- ✅ Have: Tool sprites (8 tools)
- ❌ Need: Crafting table sprite (1 sprite)
- ❌ Need: Crafting UI panel (1 sprite)
🏙️ MECHANIC 2: HIPODEVIL666CITY Management (6-8 hours)
System Overview:
Dynamic city with population tracking, electricity, and NPC workers
Components:
A. Neon Population Board (2 hours)
Features:
- Neon noir aesthetic sign
- Real-time population counter
- Categories: Total, Functional, Non-functional
- Flicker effect for broken bulbs
Display:
╔═══════════════════════════════╗
║ HIPODEVIL666CITY POPULATION ║
║ ║
║ TOTAL: [###] citizens ║
║ F: [###] functional ║
║ NF: [###] non-functional║
╚═══════════════════════════════╝
Implementation:
// src/entities/PopulationBoard.js
class PopulationBoard extends Phaser.GameObjects.Container {
constructor(scene, x, y) {
this.totalText = scene.add.text(x, y, '0', neonStyle);
this.functionalText = scene.add.text(x, y+20, '0', neonStyle);
this.nonFunctionalText = scene.add.text(x, y+40, '0', neonStyle);
this.needsUpdate = false;
}
update(cityData) {
if (!cityData.statisticianPaid) {
this.needsUpdate = true;
return; // No updates without payment!
}
this.refresh(cityData);
}
}
Assets Needed:
- ❌ Need: Neon board background (1 sprite)
- ❌ Need: Neon number sprites (0-9, 10 sprites)
- ✅ Have: Neon glow shader (can create)
B. Zombie Statistician NPC (2 hours)
Features:
- Office worker zombie
- Updates board daily
- Requires 1 Coin/day payment
- Grumbles if not paid
- Board freezes without updates
Dialogue:
- Paid: "Numbers are current, boss!"
- Unpaid: "No pay, no work. Board stays old."
- Hire: "I'll keep your stats updated. 1 coin per day."
Implementation:
// src/npcs/ZombieStatistician.js
class ZombieStatistician extends NPC {
constructor(scene, x, y) {
this.salaryPerDay = 1; // coins
this.lastPaidDay = 0;
this.isPaid = false;
}
dailyUpdate(currentDay) {
if (this.lastPaidDay < currentDay) {
this.isPaid = false;
this.showUnhappy();
}
}
payWage() {
if (player.coins >= this.salaryPerDay) {
player.coins -= this.salaryPerDay;
this.isPaid = true;
this.updateBoard();
}
}
}
Assets Needed:
- ❌ Need: Office zombie sprite (11 sprites: idle, walk, action, portrait)
- ✅ Have: Zombie base (can recolor/add suit)
C. City Generator (Electric System) (2-3 hours)
Features:
- Central power building
- Powers street lamps
- Powers basement UV lights
- Requires fuel (coal/oil)
- Visual: Lights on/off based on power
Power Grid:
Generator (Fuel) → Power Lines → Consumers
├─ Street Lamps
├─ UV Lights (basement)
└─ Future: Other buildings
Implementation:
// src/systems/ElectricitySystem.js
class ElectricitySystem {
constructor(scene) {
this.generator = null;
this.powerGrid = [];
this.isPowered = false;
}
update() {
if (!this.generator.hasFuel()) {
this.isPowered = false;
this.turnOffAll();
return;
}
this.generator.consumeFuel();
this.isPowered = true;
this.powerAllDevices();
}
powerAllDevices() {
this.powerGrid.forEach(device => {
device.turnOn();
device.playHumSound();
});
}
}
Assets Needed:
- ❌ Need: Generator building sprite (1 sprite)
- ❌ Need: Power line poles (2 variations)
- ✅ Have: Street lamp sprites (from Faza 2)
- ❌ Need: UV light strip for basement (1 sprite)
🏠 MECHANIC 3: Building Upgrades & Basement Economy (5-6 hours)
System Overview:
House progression unlocks hidden basement farming
Components:
A. House Upgrade System (2 hours)
Progression:
- Tent (starter)
- Wooden Shack (10 wood, 5 stone)
- Small House (50 wood, 20 stone, 10 iron)
- House with Basement (100 wood, 50 stone, 25 iron, 10 glass)
Features:
- Visual upgrade on map
- Interior changes
- Basement unlocks at level 4
- Ladder/stairs to basement
Implementation:
// src/buildings/PlayerHouse.js
class PlayerHouse extends Building {
constructor(scene, x, y) {
this.level = 1; // Tent
this.hasBasement = false;
}
upgrade() {
if (!this.canAffordUpgrade()) return false;
this.level++;
this.updateSprite();
if (this.level >= 4) {
this.unlockBasement();
}
return true;
}
unlockBasement() {
this.hasBasement = true;
this.createBasementEntrance();
// Show tutorial about basement farming
}
}
Assets Needed:
- ❌ Need: Tent sprite (1 sprite)
- ❌ Need: Wooden shack sprite (1 sprite)
- ✅ Have: House sprites (from Kai house references)
- ❌ Need: Basement entrance/ladder (1 sprite)
B. Basement Farming System (3-4 hours)
Features:
- Hidden underground room
- Grow illegal crops (Cannabis, Magic Mushrooms)
- UV lights speed up growth (if powered)
- Secret income source
- Risk: Raids can discover it
Crop Growth:
- Without UV: 7 days
- With UV (powered): 3 days
- Cannabis: High value (50 coins/harvest)
- Magic Mushrooms: Very high value (100 coins/harvest)
Implementation:
// src/systems/BasementFarm.js
class BasementFarm {
constructor(scene) {
this.plots = []; // max 10 plots
this.uvLights = [];
this.isPowered = false;
}
update(delta) {
if (!this.isPowered) {
// Normal growth rate
this.growCrops(delta, 1.0);
} else {
// 2.3x faster with UV
this.growCrops(delta, 2.3);
this.playUVHumSound();
}
}
checkForRaid() {
if (this.hasVisibleCrops() && Math.random() < 0.01) {
// Guards might discover!
triggerRaidEvent();
}
}
}
Assets Needed:
- ✅ Have: Cannabis growth sprites (6 stages)
- ❌ Need: Magic Mushroom growth sprites (6 stages)
- ❌ Need: Basement room tile set (floor, walls)
- ❌ Need: UV light fixture sprite (1 sprite)
- ✅ Have: Crop plot tiles
⛏️ MECHANIC 4: Procedural Mine & Land Expansion (6-8 hours)
System Overview:
Infinite procedural mine + zombie-powered land clearing
Components:
A. Procedural Mine Generation (4 hours)
Features:
- New layout each visit
- Multiple floors (deeper = better ores)
- Resources: Iron, Coal, Blood Ore
- Enemies increase with depth
- Ladder to go deeper
Generation Algorithm:
// src/procedural/MineGenerator.js
class MineGenerator {
generate(floor, seed) {
const rng = new SeededRandom(seed + floor);
// Generate cave layout
const layout = this.generateCaveLayout(rng);
// Place resources based on floor
const oreSpawns = {
iron: floor >= 1 ? rng.int(10, 20) : 0,
coal: floor >= 2 ? rng.int(5, 15) : 0,
bloodOre: floor >= 5 ? rng.int(1, 5) : 0
};
this.placeOres(layout, oreSpawns, rng);
// Place enemies (more on deeper floors)
const enemyCount = 5 + (floor * 2);
this.placeEnemies(layout, enemyCount, rng);
return layout;
}
}
Assets Needed:
- ❌ Need: Cave wall tiles (4 variations)
- ❌ Need: Cave floor tiles (3 variations)
- ❌ Need: Iron ore sprite (1 sprite)
- ❌ Need: Coal ore sprite (1 sprite)
- ❌ Need: Blood ore sprite (1 sprite, glowing red)
- ❌ Need: Ladder sprite (1 sprite)
- ✅ Have: Mining animation (player swing pickaxe)
B. Land Expansion System (2-3 hours)
Features:
- Zombies clear ruins/trees on command
- Expands usable farm area
- Costs resources to assign zombies
- Visual progress (debris → clear land)
Command System:
// src/systems/LandExpansion.js
class LandExpansion {
constructor(scene) {
this.clearableObjects = []; // trees, ruins, rocks
this.activeWorkers = [];
}
assignClearingCrew(area) {
// Cost: 3 zombies + 10 coins
if (!player.hasZombies(3)) return false;
if (!player.hasCoins(10)) return false;
const crew = player.assignZombies(3);
crew.forEach(zombie => {
zombie.startClearing(area);
});
this.trackProgress(area);
}
onClearComplete(area) {
// Convert to usable farmland
this.expandFarmBoundary(area);
returnZombies();
}
}
Implementation Steps:
- Player clicks "Expand" button
- Draws area to clear
- Assigns zombie crew
- Zombies path to debris
- Debris removal animation
- Farmland tile appears
- Boundary expands
Assets Needed:
- ✅ Have: Zombie worker sprites
- ✅ Have: Ruin/debris sprites (from Faza 2 buildings)
- ❌ Need: Clearing progress overlay (1 sprite)
🎨 MECHANIC 5: Visual Effects & Shaders (4-5 hours)
System Overview:
Professional visual polish
Components:
A. 20px Blur Intro (1 hour)
Features:
- Game starts with 20px blur
- Gradually clears over 5 seconds
- Kai waking up dialogue
- First-time player experience
Implementation:
// src/scenes/IntroScene.js
class IntroScene extends Phaser.Scene {
create() {
// Start with blur
this.cameras.main.setPostPipeline('BlurPostFX');
this.cameras.main.getPostPipeline('BlurPostFX').blurStrength = 20;
// Tween to clear
this.tweens.add({
targets: this.cameras.main.getPostPipeline('BlurPostFX'),
blurStrength: 0,
duration: 5000,
ease: 'Sine.easeOut',
onComplete: () => {
this.startDialogue("Where... where am I?");
}
});
}
}
Assets Needed:
- ✅ Have: Kai sprite
- ✅ Have: Dialogue system
- ❌ No new assets needed
B. Physics Shaders (2-3 hours)
Shaders:
1. Vertex Shader (Hair/Wheat Sway)
- Kai's dreads sway with movement
- Wheat field waves in wind
- Gentle, natural movement
// vertex_sway.glsl
uniform float time;
uniform float windStrength;
void main() {
vec4 pos = gl_Position;
// Sway based on vertex height + time
float sway = sin(time + pos.y) * windStrength;
pos.x += sway;
gl_Position = pos;
}
2. Displacement Shader (Water)
- Water surface ripples
- Reflects sky
- Interactive splashes
// water_displacement.glsl
uniform sampler2D uDisplacementMap;
uniform float time;
void main() {
vec2 uv = gl_FragCoord.xy / resolution.xy;
// Sample displacement
float displacement = texture2D(uDisplacementMap, uv + time).r;
// Apply to water surface
vec2 distortedUV = uv + (displacement * 0.05);
vec3 color = texture2D(uWaterTexture, distortedUV).rgb;
gl_FragColor = vec4(color, 1.0);
}
Implementation:
// src/shaders/ShaderManager.js
class ShaderManager {
constructor(scene) {
this.vertexShader = this.loadVertexShader();
this.waterShader = this.loadWaterShader();
}
applyToSprite(sprite, shaderType) {
const pipeline = scene.renderer.pipelines.add(shaderType, shader);
sprite.setPipeline(pipeline);
}
}
Assets Needed:
- ❌ Need: Displacement map texture (1 grayscale image)
- ✅ Have: Wheat/water sprites
🎮 MECHANIC 6: Xbox Controller Support (3-4 hours)
System Overview:
Full analog controller support with rumble
Features:
Button Layout:
- Left Stick: Move Kai
- Right Stick: Camera pan
- A Button: Interact / Confirm
- B Button: Cancel / Back
- X Button: Command zombies
- Y Button: Quick menu
- LB/RB: Cycle tools
- LT/RT: Sprint / Sneak
- D-Pad: Quick inventory
- Start: Pause menu
- Back: Map
Rumble Events:
- Light rumble: Harvest crop
- Medium rumble: Zombie attack
- Heavy rumble: Explosion/death
Implementation:
// src/input/GamepadManager.js
class GamepadManager {
constructor(scene) {
this.gamepad = scene.input.gamepad.getPad(0);
this.vibrationEnabled = true;
}
update() {
if (!this.gamepad) return;
// Movement
const leftStick = {
x: this.gamepad.leftStick.x,
y: this.gamepad.leftStick.y
};
if (Math.abs(leftStick.x) > 0.1 || Math.abs(leftStick.y) > 0.1) {
player.move(leftStick.x, leftStick.y);
}
// Buttons
if (this.gamepad.A) this.handleInteract();
if (this.gamepad.X) this.handleCommandZombies();
if (this.gamepad.LB) this.cycleToolPrevious();
if (this.gamepad.RB) this.cycleToolNext();
}
rumble(intensity, duration) {
if (!this.vibrationEnabled) return;
this.gamepad.vibration.playEffect('dual-rumble', {
startDelay: 0,
duration: duration,
weakMagnitude: intensity * 0.5,
strongMagnitude: intensity
});
}
}
Assets Needed:
- ❌ Need: Controller button prompt sprites (A, B, X, Y, etc.) (10 sprites)
- ❌ No new game assets needed
💬 MECHANIC 7: Parent Memories System (8-10 hours)
System Overview:
Flashback sequences showing Kai and Ana's parents before apocalypse
Story Integration:
Trigger Points:
- Kai's Dad Memory: Find his old toolbox in ruins
- Kai's Mom Memory: Discover family photo in debris
- Ana's Dad Memory: Uncover his diary/research notes
- Ana's Mom Memory: Find her pendant in cemetery
Memory Types:
A. Static Memories (4 hours)
Sepia-toned photo flashbacks:
- Family photo analysis
- Kai examining old photo
- Ana's voice-over narration
- Emotional music
- Returns to present
Implementation:
// src/systems/MemorySystem.js
class MemorySystem {
constructor(scene) {
this.memories = [];
this.activeMemory = null;
}
triggerMemory(memoryId) {
const memory = MEMORIES[memoryId];
// Fade to sepia
this.scene.cameras.main.fade(1000, 139, 121, 94);
// Show memory image
this.showMemoryImage(memory.photo);
// Play narration
this.playNarration(memory.audioFile);
// Wait for completion
this.scene.time.delayedCall(memory.duration, () => {
this.endMemory();
});
}
endMemory() {
// Fade back to present
this.scene.cameras.main.fade(1000, 0, 0, 0, true);
// Mark as viewed
this.activeMemory.viewed = true;
// Grant emotional reward (optional stat boost)
player.addMoraleBoost(10);
}
}
Memory Data:
const MEMORIES = {
kai_dad_toolbox: {
id: 'kai_dad_toolbox',
photo: 'kai_dad_workshop.png',
audioFile: 'memory_kai_dad.mp3',
duration: 15000, // 15 seconds
narration: {
en: "Dad always said... 'Take care of your tools, they'll take care of you.'",
sl: "Oče je vedno govoril... 'Skrbi za svoja orodja, skrbela bodo zate.'"
}
},
ana_mom_pendant: {
id: 'ana_mom_pendant',
photo: 'ana_mom_cemetery.png',
audioFile: 'memory_ana_mom.mp3',
duration: 20000,
narration: {
en: "Mom... she was the strongest person I knew. Until...",
sl: "Mama... bila je najmočnejša oseba, ki sem jo poznal. Dokler..."
}
}
// ... more memories
};
Assets Needed:
- ❌ Need: Parent character sprites (4 characters × 2 poses = 8 sprites)
- Kai's Dad (workshop clothes)
- Kai's Mom (casual clothes)
- Ana's Dad (scientist coat)
- Ana's Mom (elegant dress)
- ❌ Need: Sepia-toned photo frames (4 images)
- ❌ Need: Memory trigger items (4 sprites):
- Old toolbox
- Family photo frame
- Research diary
- Silver pendant
B. Interactive Memories (4-6 hours)
Playable flashback sequences:
- Control Kai as child
- Learn farming from dad
- Simple mini-game (plant seeds)
- Emotional payoff
Example: "Dad's Lesson" Memory
Sequence:
- Flashback: 10 years before apocalypse
- Young Kai (8 years old) with dad in garden
- Dad teaches how to plant wheat
- Mini-game: Plant 5 seeds correctly
- Dad's praise: "Good job, son! You're a natural farmer."
- Flash forward to present: Kai plants same crop, tears in eyes
- Achievement unlocked: "Father's Legacy"
Implementation:
// src/scenes/MemoryFlashbackScene.js
class MemoryFlashbackScene extends Phaser.Scene {
create(data) {
const memory = data.memoryConfig;
// Set up flashback environment
this.createFlashbackWorld(memory.setting);
// Spawn young Kai sprite
this.youngKai = new YoungKai(this, 400, 300);
// Spawn parent NPC
this.parent = new ParentNPC(this, 450, 300, memory.parentId);
// Start dialogue
this.startDialogue(memory.dialogue);
// Setup mini-game
this.setupMiniGame(memory.miniGame);
}
onMiniGameComplete() {
// Parent praises
this.parent.speak("Proud of you, kid!");
// Grant reward
player.unlockSkill(memory.rewardSkill);
// Return to present
this.scene.start('GameScene');
}
}
Mini-Game Examples:
1. Planting Seeds (Dad's Lesson)
- Plant 5 wheat seeds in correct spots
- Dad guides: "Not too close together!"
- Success: +5% farming speed bonus
2. First Aid (Mom's Lesson)
- Bandage injured animal
- Follow mom's instructions
- Success: +10 max health
3. Lab Safety (Ana's Dad)
- Identify dangerous chemicals
- Ana learns as child
- Success: Unlock alchemy recipes
4. Cooking (Ana's Mom)
- Follow recipe steps
- Make family meal
- Success: +20% food effectiveness
Assets Needed:
- ❌ Need: Young Kai sprite (chibi version, 11 sprites)
- ❌ Need: Young Ana sprite (chibi version, 11 sprites)
- ❌ Need: Parent NPC full sprites (4 parents × 11 sprites = 44 sprites)
- ❌ Need: Flashback environment tiles (garden, kitchen, lab, cemetery)
- ❌ Need: Mini-game UI elements (5-10 sprites)
📦 PART 3: MISSING ASSETS SUMMARY
Audio Assets:
- ✅ Plan complete:
AUDIO_DOWNLOAD_QUICK_GUIDE.md - Total: 129 files (45 DEMO + 60 Faza 1 + 24 Faza 2)
Visual Assets Needed:
Mechanics Assets (35 sprites):
- Pickup particle effect (1)
- Zombie carrying animation variant (8)
- Zombie with axe sprite (1)
- Small storage shed (1)
- Crafting table (1)
- Crafting UI panel (1)
- Neon population board (1)
- Neon number sprites 0-9 (10)
- Office zombie sprite set (11)
Building Assets (15 sprites):
- Generator building (1)
- Power line poles (2)
- UV light strip (1)
- Tent sprite (1)
- Wooden shack (1)
- Basement entrance/ladder (1)
- Magic Mushroom growth cycle (6)
- Basement room tileset (2)
- UV light fixture (1)
Mine Assets (8 sprites):
- Cave wall tiles (4)
- Cave floor tiles (3)
- Ladder sprite (1)
- Iron ore sprite (1)
- Coal ore sprite (1)
- Blood ore sprite (1)
- Clearing progress overlay (1)
Parent Memory Assets (65 sprites):
- Parent character designs (8)
- Sepia photo frames (4)
- Memory trigger items (4)
- Young Kai chibi sprites (11)
- Young Ana chibi sprites (11)
- Parent NPC full sets (44)
- Flashback environment tiles (varies)
- Mini-game UI elements (10)
Controller Assets (10 sprites):
- Xbox button prompts A, B, X, Y, LB, RB, LT, RT, Start, Back (10)
TOTAL NEW ASSETS NEEDED: ~133 sprites
📅 IMPLEMENTATION TIMELINE
Week 1: Audio + Core Mechanics
Days 1-2: Audio Setup (6-8 hours)
- Acquire DEMO audio (45 files)
- Integrate into Phaser
- Test all SFX/music
- Volume balancing
Days 3-4: Resource Logistics (10-12 hours)
- Kai auto-pickup system
- Zombie worker AI (lumberjack + carrier)
- Storage building
- Working table crafting
Days 5-7: City Management (12-15 hours)
- Population board
- Zombie statistician NPC
- Electric generator system
- Power grid + lights
Week 2: Buildings + Visuals
Days 8-10: House & Basement (10-12 hours)
- House upgrade progression
- Basement unlock
- Basement farming system
- UV light mechanics
Days 11-12: Mine System (8-10 hours)
- Procedural generation
- Ore placement
- Mining mechanics
- Land expansion zombies
Days 13-14: Visual Polish (6-8 hours)
- 20px blur intro
- Vertex shader (hair/wheat)
- Displacement shader (water)
- Controller support
Week 3: Parent Memories + Assets
Days 15-17: Generate Assets (12-15 hours)
- Mechanics sprites (35)
- Building sprites (15)
- Mine sprites (8)
- Controller UI (10)
Days 18-20: Memory System (12-15 hours)
- Static memory implementation
- Parent sprites (65 total)
- Interactive flashbacks
- Mini-games
Day 21: Integration Testing
- Test all systems together
- Bug fixes
- Performance optimization
Week 4: Polish & Launch
Days 22-24: Final Polish (10-15 hours)
- UI/UX improvements
- Tutorial sequences
- Balance testing
- Achievement system
Days 25-26: QA Testing (8-10 hours)
- Full gameplay test
- Bug hunt
- Performance profiling
- Controller testing
Days 27-28: Launch Prep (6-8 hours)
- Documentation
- Early Access setup (Gronk for first 20)
- Twitch tester keys
- Marketing materials
🎯 PRIORITY LEVELS
🔥 CRITICAL (Must have for playable demo):
- ✅ Audio system (45 DEMO files)
- ✅ Resource auto-pickup
- ✅ Zombie workers
- ✅ Storage building
- ✅ Crafting table
- ✅ House upgrades
- ✅ Basic controller support
🟡 IMPORTANT (Adds depth):
- ✅ Population board
- ✅ Electric system
- ✅ Basement farming
- ✅ Procedural mine
- ✅ Parent memories (static)
- ✅ Visual shaders
🟢 NICE TO HAVE (Polish):
- ⚪ Interactive memories with mini-games
- ⚪ Full Faza 1 audio (+60 files)
- ⚪ Advanced rumble effects
- ⚪ Land expansion visuals
- ⚪ Achievement system
✅ COMPLETION CHECKLIST
DEMO Readiness:
- Audio: 45 files integrated
- Kai auto-pickup works
- Zombie workers functional
- Storage + crafting implemented
- House can be upgraded
- Controller support basic
- 20px blur intro
- = Playable demo ready!
Faza 1 Readiness:
- Population board live
- Electric system working
- Basement farming complete
- Procedural mine playable
- Parent static memories (4)
- Faza 1 audio (+60 files)
- = Full Alpha v2.5!
Faza 2 Readiness:
- Town restoration mechanics
- NPC full integration
- Faza 2 audio (+24 files)
- Interactive parent memories
- Achievement system
- = Complete experience!
💡 QUICK WIN PATH (Minimal Viable Product)
If time is limited, implement THIS FIRST (1 week):
Day 1-2: Audio (45 files) Day 3: Kai auto-pickup + Zombie lumberjack Day 4: Storage building Day 5: Crafting table Day 6: House upgrade to level 4 Day 7: Controller support + blur intro
= PLAYABLE DEMO in 1 week! 🚀
Then add:
- Week 2: City management + basement
- Week 3: Mine + parent memories
- Week 4: Polish + launch
📊 RESOURCE REQUIREMENTS
Development Time:
- Minimum: 76 hours (~2 weeks full-time)
- Recommended: 99 hours (~2.5 weeks with polish)
- Maximum: 120 hours (3 weeks with full features)
Asset Generation:
- Audio: 129 files (3-4 hours to acquire)
- Visual: ~133 new sprites (10-15 hours to generate)
- Total asset time: ~15-20 hours
Team Size:
- 1 developer: 3-4 weeks
- 2 developers: 2 weeks
- 3 developers: 1.5 weeks
🎉 FINAL DELIVERABLE
Alpha v2.5 "HIPODEVIL666CITY" Features:
✅ Complete DEMO audio (45 files)
✅ Resource logistics automation
✅ Zombie worker AI
✅ City management systems
✅ Dynamic population tracking
✅ Electric power grid
✅ House progression & basement
✅ Underground illegal farming
✅ Procedural infinite mine
✅ Land expansion mechanics
✅ Parent memory story system
✅ 20px blur intro
✅ Hair/wheat/water shaders
✅ Xbox controller support with rumble
✅ Early Access Gronk reward
= Complete, polished, playable game! 🎮🎉
Status: ✅ ULTIMATE MASTER PLAN COMPLETE!
Next Step: Choose starting point or begin audio acquisition!
Estimated Completion: 2-4 weeks to full Alpha v2.5! 🚀