Added comprehensive documentation for 5 major new systems: 1. 🏠 Home Upgrade System: - 3-tier sleep system (sleeping bag → wooden → king-size) - Crafting tables (small → large for expeditions) - House extensions (kitchen + basement w/ alchemy lab) - Home customization & furniture placement 2. 🏪 New Town Buildings: - Bakery (food shop, gifts, baking competitions) - Barber Shop (hairstyles, piercings, dreadlocks, zombie makeover) - Lawyer Office (divorce mechanics, 50k cost, 25% money loss) 3. ⛏️ Functional Mines: - 100 levels deep with difficulty scaling - Zombie miner automation (auto-collect ore) - Mine machines (elevators, crushers, ventilation) - Boss at level 100 (The Deep One) 4. 🏘️ Town Growth: - Dynamic town sign (auto-updates population count) - NPC limit system (starts 4, expands to 20) - Small villages scattered across map (2-3 houses each) 5. 🔒 NPC Privacy & Decoration: - Hobby-based auto-decoration (fisherman, baker, barber themes) - Heart-locked doors (bedroom requires 5+ hearts) - Visit tracking & relationship effects Documentation files: - GAME_BIBLE_COMPLETE.md (updated) - GAME_SYSTEMS_JAN_04_EXPANSION.md (new) - GAME_SYSTEMS_EXPANSION_PLAN.md (implementation plan) Total new content: ~400 lines of game mechanics Asset requirements: ~170 interior PNG sprites
835 lines
20 KiB
Markdown
835 lines
20 KiB
Markdown
# 🏗️ DOLINASMRTI - GAME SYSTEMS EXPANSION PLAN
|
|
|
|
## 📅 Created: January 4, 2026
|
|
## 🎯 Status: PLANNING PHASE
|
|
|
|
---
|
|
|
|
## 📋 OVERVIEW
|
|
|
|
This document outlines the implementation plan for major game systems expansion including:
|
|
- Home customization & upgrades
|
|
- New town buildings (bakery, barber, lawyer)
|
|
- Functional mines with zombie workers
|
|
- Town growth & NPC privacy systems
|
|
- Interior decoration for all building types
|
|
|
|
---
|
|
|
|
## 🎯 CORE SYSTEMS TO IMPLEMENT
|
|
|
|
### 1. HOME UPGRADE SYSTEM 🏠
|
|
|
|
#### Sleep System (3 Tiers)
|
|
**Priority:** HIGH
|
|
**Dependencies:** Player stats, time system
|
|
|
|
**Implementation:**
|
|
- Level 1: Sleeping Bag
|
|
- Quick sleep animation
|
|
- Low energy regeneration (30%)
|
|
- Asset: `bed_tier1_sleepingbag.png`
|
|
|
|
- Level 2: Wooden Bed
|
|
- Medium sleep duration
|
|
- Good energy regeneration (70%)
|
|
- Mood boost (+5)
|
|
- Asset: `bed_tier2_wooden.png`
|
|
|
|
- Level 3: King-Size Bed
|
|
- Full energy regeneration (100%)
|
|
- Two-person capacity (Kai + Ana when married)
|
|
- Romance scene trigger
|
|
- Asset: `bed_tier3_kingsize.png`
|
|
|
|
**Code Tasks:**
|
|
```javascript
|
|
// PlayerStats.js
|
|
class SleepSystem {
|
|
constructor(bedLevel) {
|
|
this.bedLevel = bedLevel;
|
|
this.sleepDuration = [3000, 5000, 7000][bedLevel - 1];
|
|
this.energyRegen = [30, 70, 100][bedLevel - 1];
|
|
}
|
|
|
|
async sleep(player) {
|
|
// Fade to black
|
|
// Play sleep animation
|
|
// Regenerate energy based on bed tier
|
|
// Advance time
|
|
// Trigger morning events
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
#### Crafting Tables (2 Types)
|
|
**Priority:** HIGH
|
|
**Dependencies:** Crafting system, inventory
|
|
|
|
**Implementation:**
|
|
- Small Table
|
|
- Basic recipes (tools, simple repairs)
|
|
- Asset: `table_small_crafting.png`
|
|
- Unlock: Available from start
|
|
|
|
- Large Table
|
|
- Advanced recipes (expedition planning, complex items)
|
|
- Required for Gronk's expedition system
|
|
- Asset: `table_large_planning.png`
|
|
- Unlock: After completing "Meet Gronk" quest
|
|
|
|
**Code Tasks:**
|
|
```javascript
|
|
// CraftingStation.js
|
|
class CraftingTable {
|
|
constructor(tier, recipes) {
|
|
this.tier = tier; // 'small' | 'large'
|
|
this.availableRecipes = recipes;
|
|
}
|
|
|
|
canCraft(recipeId) {
|
|
const recipe = this.availableRecipes[recipeId];
|
|
return recipe && recipe.requiredTable <= this.tier;
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
#### House Extensions
|
|
**Priority:** MEDIUM
|
|
**Dependencies:** Building system, currency
|
|
|
|
**Implementation:**
|
|
- Kitchen Extension
|
|
- Enables cooking 200+ recipes
|
|
- Multiple cooking stations
|
|
- Asset: `house_extension_kitchen.png`
|
|
- Cost: 5,000g
|
|
|
|
- Basement Extension
|
|
- Alchemy lab access
|
|
- Memory item storage
|
|
- Secret passage to bunker
|
|
- Asset: `house_extension_basement.png`
|
|
- Cost: 10,000g
|
|
|
|
**Code Tasks:**
|
|
```javascript
|
|
// HouseExtension.js
|
|
class HouseExtension {
|
|
static extensions = {
|
|
kitchen: {
|
|
cost: 5000,
|
|
unlocks: ['cooking_recipes', 'food_processor'],
|
|
asset: 'house_extension_kitchen'
|
|
},
|
|
basement: {
|
|
cost: 10000,
|
|
unlocks: ['alchemy_lab', 'memory_storage'],
|
|
asset: 'house_extension_basement'
|
|
}
|
|
};
|
|
|
|
static purchase(extensionType, player) {
|
|
const ext = this.extensions[extensionType];
|
|
if (player.money >= ext.cost) {
|
|
player.money -= ext.cost;
|
|
player.house.addExtension(extensionType);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 2. NEW TOWN BUILDINGS 🏪
|
|
|
|
#### Bakery (Pekarna)
|
|
**Priority:** HIGH
|
|
**Dependencies:** NPC system, shop interface
|
|
|
|
**Assets Needed:**
|
|
- `building_bakery_exterior.png` (already generated)
|
|
- `interior_bakery_oven.png`
|
|
- `interior_bakery_counter.png`
|
|
- `interior_bakery_bread_shelf.png`
|
|
- `npc_baker.png`
|
|
|
|
**Functionality:**
|
|
- Buy food items for energy
|
|
- Buy gifts for NPCs (heart system)
|
|
- Special baked goods for quests
|
|
- Warm lighting (Style 32: orange glow in dark world)
|
|
|
|
**Code Tasks:**
|
|
```javascript
|
|
// BakeryShop.js
|
|
class BakeryShop extends Shop {
|
|
constructor() {
|
|
super('bakery');
|
|
this.inventory = [
|
|
{ id: 'bread', price: 50, energy: 20, hearts: 1 },
|
|
{ id: 'cake', price: 200, energy: 50, hearts: 5 },
|
|
{ id: 'pie', price: 150, energy: 40, hearts: 3 }
|
|
];
|
|
}
|
|
|
|
buyItem(itemId, player) {
|
|
const item = this.inventory.find(i => i.id === itemId);
|
|
if (player.money >= item.price) {
|
|
player.money -= item.price;
|
|
player.inventory.add(item);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
#### Barber Shop (Frizeraj)
|
|
**Priority:** MEDIUM
|
|
**Dependencies:** Character customization system
|
|
|
|
**Assets Needed:**
|
|
- `building_barbershop_exterior.png`
|
|
- `interior_barber_chair.png`
|
|
- `interior_barber_mirror.png`
|
|
- `interior_piercing_tools.png`
|
|
- `npc_barber.png`
|
|
|
|
**Functionality:**
|
|
- Change Kai's hairstyle
|
|
- Add piercings
|
|
- Ear gauges
|
|
- Dreadlocks upgrade (pink & green)
|
|
- Zombie makeover service
|
|
|
|
**Code Tasks:**
|
|
```javascript
|
|
// BarberShop.js
|
|
class BarberShop {
|
|
static hairstyles = [
|
|
{ id: 'dreadlocks_pink_green', price: 500, sprite: 'kai_dreads_pink' },
|
|
{ id: 'mohawk', price: 300, sprite: 'kai_mohawk' },
|
|
{ id: 'bald', price: 100, sprite: 'kai_bald' }
|
|
];
|
|
|
|
static piercings = [
|
|
{ id: 'ear_gauges', price: 200, sprite: 'kai_gauges' },
|
|
{ id: 'nose_ring', price: 150, sprite: 'kai_nosering' }
|
|
];
|
|
|
|
changeHairstyle(hairstyleId, player) {
|
|
const style = this.hairstyles.find(h => h.id === hairstyleId);
|
|
if (player.money >= style.price) {
|
|
player.money -= style.price;
|
|
player.sprite = style.sprite;
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
#### Bank/Lawyer Office (Ločitvena pisarna)
|
|
**Priority:** LOW (Story-dependent)
|
|
**Dependencies:** Marriage system, Ana questline
|
|
|
|
**Assets Needed:**
|
|
- `building_lawyer_office.png`
|
|
- `interior_lawyer_desk.png`
|
|
- `interior_lawyer_lamp.png` (single overhead light - noir)
|
|
- `npc_lawyer.png`
|
|
|
|
**Functionality:**
|
|
- Divorce process (costs 50,000g)
|
|
- Lose 25% money
|
|
- Lose relationship hearts
|
|
- Trigger "Single Again" questline
|
|
|
|
**Code Tasks:**
|
|
```javascript
|
|
// LawyerOffice.js
|
|
class LawyerOffice {
|
|
static DIVORCE_COST = 50000;
|
|
static MONEY_PENALTY = 0.25; // 25% loss
|
|
|
|
static processDivorce(player) {
|
|
if (player.money < this.DIVORCE_COST) {
|
|
return { success: false, message: "Not enough money" };
|
|
}
|
|
|
|
if (!player.isMarried) {
|
|
return { success: false, message: "You're not married" };
|
|
}
|
|
|
|
// Pay divorce cost
|
|
player.money -= this.DIVORCE_COST;
|
|
|
|
// Lose 25% of remaining money
|
|
player.money *= (1 - this.MONEY_PENALTY);
|
|
|
|
// Reset relationship
|
|
player.spouse.hearts = 0;
|
|
player.isMarried = false;
|
|
|
|
// Trigger quest
|
|
QuestSystem.trigger('single_again');
|
|
|
|
return { success: true };
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 3. FUNCTIONAL MINES SYSTEM ⛏️
|
|
|
|
**Priority:** HIGH
|
|
**Dependencies:** Zombie AI, resource generation
|
|
|
|
**Assets Needed:**
|
|
- `mine_entrance.png`
|
|
- `mine_tracks.png`
|
|
- `mine_elevator.png`
|
|
- `mine_crusher.png`
|
|
- `npc_zombie_miner.png`
|
|
|
|
**Implementation:**
|
|
- 100 levels deep
|
|
- Each level: harder enemies, rarer resources
|
|
- Zombie miners auto-collect ore
|
|
- Ore appears in player's chests
|
|
- Machines: elevators, stone crushers
|
|
|
|
**Code Tasks:**
|
|
```javascript
|
|
// MineSystem.js
|
|
class FunctionalMine {
|
|
constructor(depth = 100) {
|
|
this.maxDepth = depth;
|
|
this.currentDepth = 1;
|
|
this.zombieMiners = [];
|
|
this.oreGeneration = new Map();
|
|
}
|
|
|
|
assignZombie(zombie) {
|
|
this.zombieMiners.push(zombie);
|
|
zombie.task = 'mining';
|
|
zombie.location = this.currentDepth;
|
|
}
|
|
|
|
update(deltaTime) {
|
|
// For each zombie miner
|
|
this.zombieMiners.forEach(zombie => {
|
|
// Generate ore based on depth
|
|
const oreType = this.getOreForDepth(zombie.location);
|
|
const oreAmount = Math.random() * 5;
|
|
|
|
// Add to player storage
|
|
PlayerStorage.addOre(oreType, oreAmount);
|
|
});
|
|
}
|
|
|
|
getOreForDepth(depth) {
|
|
if (depth < 20) return 'copper';
|
|
if (depth < 50) return 'iron';
|
|
if (depth < 80) return 'gold';
|
|
return 'diamond';
|
|
}
|
|
|
|
descend() {
|
|
if (this.currentDepth < this.maxDepth) {
|
|
this.currentDepth++;
|
|
this.spawnEnemies(this.currentDepth);
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 4. TOWN GROWTH & SIGNAGE SYSTEM 🏘️
|
|
|
|
**Priority:** MEDIUM
|
|
**Dependencies:** NPC system, building placement
|
|
|
|
**Assets Needed:**
|
|
- `town_sign.png` (with dynamic text)
|
|
- `village_small_house_1.png`
|
|
- `village_small_house_2.png`
|
|
- `village_small_house_3.png`
|
|
|
|
**Implementation:**
|
|
- Town sign appears after first building
|
|
- Auto-updates NPC count
|
|
- Max 4 NPCs initially
|
|
- Unlock more via quests
|
|
- Small villages (2-3 houses) scattered on map
|
|
|
|
**Code Tasks:**
|
|
```javascript
|
|
// TownSystem.js
|
|
class TownGrowth {
|
|
constructor() {
|
|
this.npcCount = 0;
|
|
this.maxNPCs = 4;
|
|
this.townName = "Dolina Smrti";
|
|
this.buildings = [];
|
|
this.townSign = null;
|
|
}
|
|
|
|
buildFirstBuilding(building) {
|
|
this.buildings.push(building);
|
|
|
|
// Create town sign
|
|
this.townSign = new TownSign(this.townName, this.npcCount);
|
|
this.townSign.spawn(building.x - 100, building.y - 50);
|
|
}
|
|
|
|
addNPC(npc) {
|
|
if (this.npcCount >= this.maxNPCs) {
|
|
return { success: false, message: "Town is full! Complete quests to expand." };
|
|
}
|
|
|
|
this.npcCount++;
|
|
this.townSign.updateCount(this.npcCount);
|
|
|
|
// Assign NPC to house
|
|
const house = this.buildings.find(b => !b.occupied);
|
|
if (house) {
|
|
npc.moveInto(house);
|
|
house.occupied = true;
|
|
house.decorateForNPC(npc);
|
|
}
|
|
|
|
return { success: true };
|
|
}
|
|
|
|
expandTownLimit() {
|
|
// Called when player completes marketplace quest
|
|
this.maxNPCs += 4;
|
|
}
|
|
|
|
generateSmallVillage(x, y) {
|
|
const village = new Village(x, y, 2 + Math.floor(Math.random() * 2)); // 2-3 houses
|
|
village.populate();
|
|
return village;
|
|
}
|
|
}
|
|
|
|
class TownSign extends Phaser.GameObjects.Container {
|
|
constructor(townName, npcCount) {
|
|
super();
|
|
this.townName = townName;
|
|
this.npcCount = npcCount;
|
|
this.createSign();
|
|
}
|
|
|
|
createSign() {
|
|
// Background sign sprite
|
|
this.sign = this.scene.add.sprite(0, 0, 'town_sign');
|
|
this.add(this.sign);
|
|
|
|
// Dynamic text
|
|
this.nameText = this.scene.add.text(0, -20, this.townName, {
|
|
fontSize: '24px',
|
|
fontFamily: 'Gothic',
|
|
color: '#ffffff'
|
|
}).setOrigin(0.5);
|
|
|
|
this.countText = this.scene.add.text(0, 10, `Population: ${this.npcCount}`, {
|
|
fontSize: '18px',
|
|
color: '#aaaaaa'
|
|
}).setOrigin(0.5);
|
|
|
|
this.add([this.nameText, this.countText]);
|
|
}
|
|
|
|
updateCount(newCount) {
|
|
this.npcCount = newCount;
|
|
this.countText.setText(`Population: ${this.npcCount}`);
|
|
|
|
// Celebrate milestone
|
|
if (this.npcCount % 5 === 0) {
|
|
this.celebrateGrowth();
|
|
}
|
|
}
|
|
|
|
celebrateGrowth() {
|
|
// Particle effects, sound
|
|
this.scene.add.particles('particle_star').createEmitter({
|
|
x: this.x,
|
|
y: this.y,
|
|
speed: 100,
|
|
lifespan: 1000,
|
|
quantity: 20
|
|
});
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 5. NPC PRIVACY & HOME DECORATION SYSTEM 🏠
|
|
|
|
**Priority:** MEDIUM
|
|
**Dependencies:** Heart system, NPC AI
|
|
|
|
**Implementation:**
|
|
- Hobby-based home decoration
|
|
- Locked doors (heart requirements)
|
|
- Private bedrooms (5-10 hearts to enter)
|
|
|
|
**Code Tasks:**
|
|
```javascript
|
|
// NPCHome.js
|
|
class NPCHome {
|
|
constructor(npc, building) {
|
|
this.npc = npc;
|
|
this.building = building;
|
|
this.furniture = [];
|
|
this.lockedRooms = ['bedroom'];
|
|
this.decorateForHobby(npc.hobby);
|
|
}
|
|
|
|
decorateForHobby(hobby) {
|
|
const decorations = {
|
|
'fisherman': ['fishing_net', 'fish_smell', 'tackle_box'],
|
|
'barber': ['mirror', 'scissors', 'dreadlocks_kit'],
|
|
'baker': ['oven', 'bread_smell', 'flour_bags'],
|
|
'zombie_worker': ['chains', 'brain_jar', 'dark_candles']
|
|
};
|
|
|
|
const items = decorations[hobby] || ['basic_chair', 'basic_table'];
|
|
items.forEach(item => {
|
|
this.furniture.push(new FurnitureItem(item));
|
|
});
|
|
}
|
|
|
|
canEnter(player, room = 'main') {
|
|
// Main room: NPC must be in town
|
|
if (room === 'main') {
|
|
if (!this.npc.isInTown()) {
|
|
DialogueSystem.show(`${this.npc.name} isn't home right now.`);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Bedroom: Requires hearts
|
|
if (room === 'bedroom') {
|
|
const requiredHearts = 5;
|
|
if (player.getHearts(this.npc) < requiredHearts) {
|
|
DialogueSystem.show(`${this.npc.name}: "Sorry, that's my private room!"`);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
onPlayerEnter(player, room) {
|
|
if (!this.canEnter(player, room)) {
|
|
return false;
|
|
}
|
|
|
|
// Track entry for relationship system
|
|
this.npc.onHomeVisit(player);
|
|
return true;
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 📦 INTERIOR OBJECTS MASTER LIST
|
|
|
|
### FARM BUILDINGS (Barn, Silo, Workshop)
|
|
|
|
#### Barn Interior
|
|
- `interior_animal_stall.png` - Stall with rusty chains
|
|
- `interior_tool_rack.png` - Hanging tools (hoe, axe, pitchfork)
|
|
- `interior_hay_pile.png` - Dark greyish-green hay with bones
|
|
- `interior_feed_trough.png` - Feeding station for zombie animals
|
|
|
|
#### Silo/Storage
|
|
- `interior_wooden_crate.png` - Crate with skull logo
|
|
- `interior_grain_sack.png` - Burlap sack with grain
|
|
- `interior_barrel_storage.png` - Rusty barrel
|
|
- `interior_wheat_phases_display.png` - Shows 4 wheat growth phases
|
|
|
|
#### Workshop
|
|
- `interior_crafting_table.png` - Table with metal vise
|
|
- `interior_zombie_workstation.png` - Automated zombie machinery
|
|
- `interior_lumberjack_station.png` - Woodcutting automation
|
|
|
|
---
|
|
|
|
### LABORATORY & TECH
|
|
|
|
#### Alchemy Lab (Basement)
|
|
- `interior_alchemy_bottle.png` - Glowing neon liquid bottle (light source)
|
|
- `interior_brewing_cauldron.png` - Large pot for 200+ recipes
|
|
- `interior_chemistry_set.png` - Glass tubes and beakers
|
|
- `interior_potion_shelf.png` - Organized potion storage
|
|
|
|
#### Chernobyl Bunker
|
|
- `interior_old_monitor.png` - Computer with glitch effect
|
|
- `interior_cassette_player.png` - Plays Ana's audio diaries
|
|
- `interior_hazmat_locker.png` - Radiation suits storage
|
|
- `interior_radiation_shower.png` - Decontamination station
|
|
|
|
---
|
|
|
|
### SECRET LOCATIONS
|
|
|
|
#### Underground Groves
|
|
- `interior_fluorescent_plants.png` - Glowing ceiling plants
|
|
- `interior_irrigation_pipes.png` - Rusty leaking pipes
|
|
- `interior_grow_lamp.png` - Purple UV grow lights
|
|
|
|
#### Dino Valley Lairs
|
|
- `interior_dino_nest.png` - Giant nest with eggs
|
|
- `interior_researcher_bones.png` - Skeleton remains
|
|
- `interior_cave_painting.png` - Primitive dino drawings
|
|
|
|
#### Catacombs (Paris/Mexico)
|
|
- `interior_skull_shelf.png` - Shelves full of skulls
|
|
- `interior_sarcophagus.png` - Stone coffin with gems
|
|
- `interior_bone_pile_large.png` - Massive bone heap
|
|
- `interior_catacomb_torch.png` - Wall-mounted torch
|
|
|
|
---
|
|
|
|
### HOME UPGRADES
|
|
|
|
#### Beds
|
|
- `interior_bed_sleepingbag.png` - Level 1
|
|
- `interior_bed_wooden.png` - Level 2
|
|
- `interior_bed_kingsize.png` - Level 3 (two-person)
|
|
|
|
#### Tables
|
|
- `interior_table_small.png` - Basic crafting
|
|
- `interior_table_large.png` - Expedition planning
|
|
|
|
#### Kitchen Extension
|
|
- `interior_kitchen_stove.png` - Cooking station
|
|
- `interior_kitchen_counter.png` - Prep area
|
|
- `interior_kitchen_fridge.png` - Food storage
|
|
|
|
#### Basement Extension
|
|
- `interior_stairs_down.png` - Staircase to basement
|
|
- `interior_memory_chest.png` - Special item storage
|
|
- `interior_secret_passage.png` - Hidden bunker entrance
|
|
|
|
---
|
|
|
|
### UNIVERSAL OBJECTS (Every Interior Needs)
|
|
|
|
#### Verticality
|
|
- `interior_ladder_wood.png` - Wooden ladder for attics
|
|
- `interior_stairs_stone.png` - Stone stairs for basements
|
|
|
|
#### Lighting
|
|
- `interior_gothic_lantern.png` - Hanging lamp (Style 32 noir)
|
|
- `interior_glowing_crystal.png` - Mystical light source
|
|
- `interior_candelabra.png` - Three-candle holder
|
|
|
|
#### Containers
|
|
- `interior_wardrobe.png` - For 100 outfits system
|
|
- `interior_chest_locked.png` - Treasure chest
|
|
- `interior_bookshelf.png` - Books and memories
|
|
|
|
---
|
|
|
|
## 🎯 IMPLEMENTATION PHASES
|
|
|
|
### PHASE 1: FOUNDATION (Week 1-2)
|
|
**Goal:** Basic home upgrade system
|
|
|
|
- [ ] Implement sleep system (3 bed tiers)
|
|
- [ ] Create crafting table system (small/large)
|
|
- [ ] Build upgrade purchase interface
|
|
- [ ] Generate bed & table sprites (Style 32)
|
|
- [ ] Test energy regeneration mechanics
|
|
|
|
**Estimated Assets:** 10 PNG files
|
|
**Code Files:** 3 new classes
|
|
|
|
---
|
|
|
|
### PHASE 2: TOWN BUILDINGS (Week 3-4)
|
|
**Goal:** Bakery & Barber functional
|
|
|
|
- [ ] Build bakery shop interface
|
|
- [ ] Implement food purchase system
|
|
- [ ] Create barber customization menu
|
|
- [ ] Generate interior sprites for both buildings
|
|
- [ ] Add NPC bakers & barber
|
|
|
|
**Estimated Assets:** 20 PNG files
|
|
**Code Files:** 2 shop classes, 1 customization system
|
|
|
|
---
|
|
|
|
### PHASE 3: MINING & AUTOMATION (Week 5-6)
|
|
**Goal:** Functional mines with zombies
|
|
|
|
- [ ] Create 100-level mine system
|
|
- [ ] Implement zombie miner AI
|
|
- [ ] Build ore generation logic
|
|
- [ ] Add elevators & crushers
|
|
- [ ] Generate mine interior sprites
|
|
|
|
**Estimated Assets:** 15 PNG files
|
|
**Code Files:** 1 mine system, zombie task AI
|
|
|
|
---
|
|
|
|
### PHASE 4: TOWN GROWTH (Week 7-8)
|
|
**Goal:** Dynamic town with sign & villages
|
|
|
|
- [ ] Implement town sign with dynamic text
|
|
- [ ] Create NPC limit & expansion system
|
|
- [ ] Generate small village variants
|
|
- [ ] Add village spawn logic to world gen
|
|
- [ ] Test NPC move-in sequence
|
|
|
|
**Estimated Assets:** 8 PNG files
|
|
**Code Files:** Town growth system, village generator
|
|
|
|
---
|
|
|
|
### PHASE 5: PRIVACY & DECORATION (Week 9-10)
|
|
**Goal:** NPC homes feel alive
|
|
|
|
- [ ] Build hobby-based decoration system
|
|
- [ ] Implement door lock mechanics (heart-based)
|
|
- [ ] Create bedroom privacy system
|
|
- [ ] Generate hobby-specific furniture
|
|
- [ ] Test relationship integration
|
|
|
|
**Estimated Assets:** 30+ PNG files (various hobbies)
|
|
**Code Files:** NPC home system, privacy manager
|
|
|
|
---
|
|
|
|
### PHASE 6: LAWYER & ADVANCED (Week 11-12)
|
|
**Goal:** Story-dependent buildings
|
|
|
|
- [ ] Create lawyer office building
|
|
- [ ] Implement divorce mechanics
|
|
- [ ] Build house extension system (kitchen/basement)
|
|
- [ ] Generate all interior lab equipment
|
|
- [ ] Add Chernobyl bunker integration
|
|
|
|
**Estimated Assets:** 25 PNG files
|
|
**Code Files:** Divorce system, extension manager
|
|
|
|
---
|
|
|
|
## 📊 TOTAL ASSET REQUIREMENTS
|
|
|
|
| Category | Estimated PNGs | Priority |
|
|
|---|---|---|
|
|
| **Beds & Tables** | 5 | HIGH |
|
|
| **Bakery Interior** | 10 | HIGH |
|
|
| **Barber Interior** | 8 | MEDIUM |
|
|
| **Mine Systems** | 15 | HIGH |
|
|
| **Town Signs & Villages** | 8 | MEDIUM |
|
|
| **NPC Hobby Furniture** | 30 | MEDIUM |
|
|
| **Lab Equipment** | 20 | LOW |
|
|
| **Chernobyl Bunker** | 12 | LOW |
|
|
| **Catacomb Objects** | 15 | LOW |
|
|
| **Underground Groves** | 10 | LOW |
|
|
| **Dino Valley** | 12 | LOW |
|
|
| **Universal Objects** | 15 | HIGH |
|
|
| **House Extensions** | 10 | MEDIUM |
|
|
| **━━━━━━━━━━** | **━━━** | **━━━** |
|
|
| **TOTAL** | **~170 PNG** | |
|
|
|
|
---
|
|
|
|
## 🚀 NEXT IMMEDIATE STEPS
|
|
|
|
### 1. HIGH PRIORITY ASSETS (Next Session)
|
|
Generate these foundational sprites first:
|
|
|
|
**Home Upgrades (5):**
|
|
- `interior_bed_sleepingbag.png`
|
|
- `interior_bed_wooden.png`
|
|
- `interior_bed_kingsize.png`
|
|
- `interior_table_small.png`
|
|
- `interior_table_large.png`
|
|
|
|
**Universal Objects (6):**
|
|
- `interior_ladder_wood.png`
|
|
- `interior_stairs_stone.png`
|
|
- `interior_gothic_lantern.png`
|
|
- `interior_wardrobe.png`
|
|
- `interior_chest_locked.png`
|
|
- `interior_bookshelf.png`
|
|
|
|
**Farm Essentials (6):**
|
|
- `interior_animal_stall.png` ✅ (already started)
|
|
- `interior_tool_rack.png` ✅ (already started)
|
|
- `interior_hay_pile.png` ✅ (already started)
|
|
- `interior_crafting_table.png`
|
|
- `interior_wooden_crate.png`
|
|
- `interior_grain_sack.png`
|
|
|
|
---
|
|
|
|
### 2. CODE SKELETON SETUP
|
|
Create these base classes:
|
|
|
|
```bash
|
|
touch src/systems/SleepSystem.js
|
|
touch src/systems/CraftingTable.js
|
|
touch src/systems/HouseExtension.js
|
|
touch src/buildings/BakeryShop.js
|
|
touch src/buildings/BarberShop.js
|
|
touch src/buildings/LawyerOffice.js
|
|
touch src/systems/FunctionalMine.js
|
|
touch src/systems/TownGrowth.js
|
|
touch src/systems/NPCHome.js
|
|
```
|
|
|
|
---
|
|
|
|
### 3. DOCUMENTATION UPDATE
|
|
Add new systems to master documentation:
|
|
|
|
- Update `GAME_SYSTEMS.md` with new mechanics
|
|
- Add `INTERIOR_OBJECTS_REGISTRY.md`
|
|
- Create `NPC_HOBBY_DECORATIONS.md`
|
|
- Document upgrade progression paths
|
|
|
|
---
|
|
|
|
## ✅ READY TO START?
|
|
|
|
**Confirm with user which phase to begin:**
|
|
|
|
**Option A:** Continue generating interior object sprites (HIGH PRIORITY assets above)
|
|
**Option B:** Start coding the Sleep System & Crafting Tables
|
|
**Option C:** Create comprehensive asset list for approval before generation
|
|
**Option D:** Build prototype of one complete system (e.g., Bakery) start-to-finish
|
|
|
|
---
|
|
|
|
**📅 Document Status:** COMPLETE - Ready for Implementation
|
|
**⏰ Last Updated:** 2026-01-04 11:38 CET
|
|
**👤 Author:** Antigravity AI + David (DolinaSmrti)
|