# ๐ŸŽฏ 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:** ```javascript // 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:** ```javascript // 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:** ```javascript // 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:** ```javascript // 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:** ```javascript // 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:** ```javascript // 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:** ```javascript // 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:** 1. Tent (starter) 2. Wooden Shack (10 wood, 5 stone) 3. Small House (50 wood, 20 stone, 10 iron) 4. 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:** ```javascript // 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:** ```javascript // 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:** ```javascript // 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:** ```javascript // 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:** 1. Player clicks "Expand" button 2. Draws area to clear 3. Assigns zombie crew 4. Zombies path to debris 5. Debris removal animation 6. Farmland tile appears 7. 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:** ```javascript // 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 ```glsl // 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 ```glsl // 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:** ```javascript // 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:** ```javascript // 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:** 1. **Kai's Dad Memory:** Find his old toolbox in ruins 2. **Kai's Mom Memory:** Discover family photo in debris 3. **Ana's Dad Memory:** Uncover his diary/research notes 4. **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:** ```javascript // 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:** ```javascript 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:** 1. Flashback: 10 years before apocalypse 2. Young Kai (8 years old) with dad in garden 3. Dad teaches how to plant wheat 4. Mini-game: Plant 5 seeds correctly 5. Dad's praise: "Good job, son! You're a natural farmer." 6. Flash forward to present: Kai plants same crop, tears in eyes 7. Achievement unlocked: "Father's Legacy" **Implementation:** ```javascript // 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):** 1. โœ… Audio system (45 DEMO files) 2. โœ… Resource auto-pickup 3. โœ… Zombie workers 4. โœ… Storage building 5. โœ… Crafting table 6. โœ… House upgrades 7. โœ… Basic controller support ### **๐ŸŸก IMPORTANT (Adds depth):** 1. โœ… Population board 2. โœ… Electric system 3. โœ… Basement farming 4. โœ… Procedural mine 5. โœ… Parent memories (static) 6. โœ… Visual shaders ### **๐ŸŸข NICE TO HAVE (Polish):** 1. โšช Interactive memories with mini-games 2. โšช Full Faza 1 audio (+60 files) 3. โšช Advanced rumble effects 4. โšช Land expansion visuals 5. โšช 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! ๐Ÿš€