World Expansion Plan - Towns Scout Raiders - Characters Updated - NPCs Detailed - New Systems Added

This commit is contained in:
2026-01-05 10:23:05 +01:00
parent c1c40446ec
commit b29f08b257
3 changed files with 1291 additions and 36 deletions

View File

@@ -0,0 +1,554 @@
# 🌍 MRTVA DOLINA - World Expansion Master Plan
**Version:** 2.0 Alpha
**Date:** January 5th, 2026
**Status:** 🚀 READY FOR IMPLEMENTATION
---
## 🎯 **CORE CONCEPT:**
**"From Ruins to Restoration"** - Igralec začne v svetu popolnih ruševin. Vsako mesto je uničeno, zombi prevladujejo, narava je divja. Tvoj cilj: **Obnoviti 27 mest** in postati **Odrešenik Doline**.
---
## 🏚️ **1. SISTEM OBNOV MEST (27 Town Restoration)**
### **Koncept:**
- **Vseh 27 mest se začne kot RUŠEVINE**
- Vsako mesto ima **2 vizualna stanja**: Ruined → Restored
- Vsako mesto zahteva **unikatne surovine** in **quest chain** za obnovo
- Ko obnoviš mesto, se **naselijo prebivalci** (ljudje ali troli)
### **Restoration Faze:**
#### **FAZA 1: Ruševine (Starting State)**
```
- Porušene zgradbe
- Zombi patrole
- Divja narava (trnje, ovire)
- NI trgovcev, NI storitev
```
#### **FAZA 2: Delna Obnova (Mid-game)**
```
- Delno očiščeno
- Začasno obzidje
- Prvi prebivalci se vrnejo
- Osnovna trgovina aktivna
```
#### **FAZA 3: Popolna Obnova (End-game)**
```
- Popolnoma obnovljeno
- Močno obzidje
- Populacija 100%
- Vsi NPC-ji aktivni
- Unikatne nagrade odklenete
```
### **Restoration Requirements Example:**
**Mesto: FROST HAVEN (Frozen Wasteland)**
```javascript
{
name: "Frost Haven",
biome: "Frozen Wasteland",
state: "ruined", // ruined → partial → restored
restoration: {
phase1: {
materials: { wood: 500, stone: 1000, iron: 200 },
quest: "Clear 50 zombies from town",
reward: "Basic Trading Post unlocked"
},
phase2: {
materials: { steel: 300, gold: 100, magic_crystal: 50 },
quest: "Build town walls",
reward: "Frost Haven Citizens return (5 NPCs)"
},
phase3: {
materials: { diamond: 50, legendary_ore: 10, ancient_scroll: 5 },
quest: "Defeat Ice Tyrant Boss",
reward: "Legendary Ice Forge + Frost Queen NPC"
}
},
citizens: {
max: 12,
current: 0,
types: ["merchant", "blacksmith", "mage", "farmer", "guard"]
}
}
```
### **Gift System:**
Ko obnoviš mesto, prejmeš **City Gratitude Gift**:
- Rare blueprints
- Unique tools
- Legendary seeds
- Special NPCs (master craftsmen)
- Automation helpers (roboti, priročne ročke)
---
## 🧟 **2. ZOMBI SKAVT (Loyal Companion)**
### **Koncept:**
**Prijazni zombi**, ki si ga "udomačiš" na začetku igre. Namesto da te napade, postane tvoj **raziskovalec in vodič**.
### **Visual Design:**
- Style 32 Dark-Chibi Noir
- **IDENTIFIKACIJA**: Modra ali rdeča rutica okoli vratu
- Red eyes WITH pupils (friendly variant)
- Backpack for carrying items
- Animations: Idle, Walking, Pointing, Digging
### **Leveling System:**
```javascript
{
name: "Scout",
type: "zombie_companion",
level: 1, // max 20
stats: {
speed: 100, // Movement speed
vision: 150, // Detection radius
carryCapacity: 10, // Item slots
intelligence: 50 // Pathfinding quality
},
skills: {
shortcuts: {
level: 1,
description: "Finds shortcuts through biomes",
unlockAt: [3, 7, 12, 18] // Better paths at these levels
},
treasureHunter: {
level: 1,
description: "Finds rare items in biomes",
rareChance: 5, // +5% per level
},
dangerSense: {
level: 1,
description: "Warns about nearby threats",
range: 100 // +50 pixels per level
},
resourceScout: {
level: 1,
description: "Marks resource nodes on map",
types: ["ore", "plants", "chests"]
}
},
evolution: {
// Every 5 levels, scout gets visual upgrade
5: "Scout gains lantern (lights dark areas)",
10: "Scout gains armor (can fight weak zombies)",
15: "Scout gains wings (can scout flying)",
20: "Scout becomes LEGENDARY (glowing aura)"
}
}
```
### **Gameplay Integration:**
- **Command System**: Right-click to send scout exploring
- **Auto-follow**: Scout follows you and marks dangers
- **Item Retrieval**: Can send scout to fetch items
- **Map Markers**: Scout marks discoveries on map
---
## ⛺ **3. NOMADSKI ROPARJI (Nomad Raiders)**
### **Koncept:**
**Dinamična nevarnost** - roparji, ki **nimajo stalnega doma** in potujejo med biomi. Poskušajo **oropati tvojo kmetijo** ali te napadejo na poti med mesti.
### **Raider Types:**
#### **A) Desert Nomads**
```
Biome: Desert Storm
Appearance: Tan robes, scimitars, camels
Threat: Medium
Loot: Spices, gold, desert seeds
```
#### **B) Frost Bandits**
```
Biome: Frozen Wasteland
Appearance: Fur armor, ice weapons
Threat: High
Loot: Furs, ice crystals, frozen meat
```
#### **C) Jungle Marauders**
```
Biome: Ancient Rainforest
Appearance: Tribal masks, poison darts
Threat: Very High
Loot: Rare plants, ancient artifacts
```
#### **D) Tech Scavengers**
```
Biome: Neon Ruins
Appearance: Cyberpunk gear, laser weapons
Threat: Extreme
Loot: Tech parts, batteries, robots
```
### **Raider Behavior System:**
```javascript
{
type: "nomad_raiders",
spawn: {
method: "dynamic", // Not tied to location
frequency: "4-7 days in-game",
warning: "Scout can detect 1 day in advance"
},
camps: {
temporary: true,
duration: "2-3 days",
location: "random biome edge",
structures: ["tents", "campfire", "loot_chests"]
},
raids: {
targets: ["farm", "caravan", "restored_towns"],
farmRaid: {
trigger: "If you have 1000+ crops stored",
waves: 3,
loot_stolen: "20% of stored crops",
defense: "Build walls, hire guards, set traps"
},
caravanAmbush: {
trigger: "Traveling between towns with valuables",
chance: 30, // 30% per trip
combat: true,
loot_dropped: "If you win, take their supplies"
}
},
difficulty_scaling: {
// Raiders get stronger as you progress
early_game: "2-3 raiders, basic weapons",
mid_game: "5-8 raiders, steel weapons, traps",
late_game: "10-15 raiders, magic weapons, siege equipment"
}
}
```
### **Defense Systems:**
- **Farm Walls**: Build perimeter defenses
- **Guard Towers**: Hire NPC guards
- **Zombie Allies**: Tamed zombies defend your farm
- **Scout Warning**: Get advance notice of raids
---
## 🏗️ **4. BIOMSKA ARHITEKTURA (27 Unique Town Styles)**
### **Koncept:**
Vsak **biom ima unikaten stil** arhitekture. Mesta v gozdu so lesena, mesta v futurističnih biomih imajo stolpnice, puščavska mesta so iz peska.
### **Biome Architecture Styles:**
| Biome | Building Material | Roof Style | Color Palette | Special Feature |
|-------|------------------|------------|---------------|-----------------|
| **Temperate Forest** | Wood, stone | Thatched | Brown, green | Treehouses |
| **Frozen Wasteland** | Ice, metal | Flat | White, blue | Igloos |
| **Desert Storm** | Sandstone | Domed | Tan, gold | Wind towers |
| **Ancient Rainforest** | Bamboo, vines | Leaf | Green, brown | Canopy bridges |
| **Volcanic Ashlands** | Obsidian, lava rock | Pointed | Black, red | Lava moats |
| **Toxic Swamp** | Rotted wood | Mossy | Green, purple | Stilts |
| **Crystal Caves** | Crystal shards | Jagged | Purple, cyan | Glowing walls |
| **Neon Ruins** | Steel, glass | Flat | Neon colors | Holograms |
| **Haunted Hollow** | Bone, dark stone | Sharp | Gray, purple | Floating stones |
| **Floating Islands** | Cloud marble | Curved | White, gold | Anti-gravity |
*(20 total biomes, each with unique style)*
### **Building Types per Town:**
```javascript
{
town_buildings: [
// CORE (Every town has these)
"town_hall", // Main building
"trading_post", // Merchant
"inn", // Rest/save point
"blacksmith", // Crafting
"general_store", // Basic items
// BIOME-SPECIFIC (Unique to each biome)
"unique_service_1", // e.g., "Ice Forge" in Frozen biome
"unique_service_2", // e.g., "Sand Glassworks" in Desert
"special_landmark", // Visual centerpiece
// RESTORATION ADDITIONS
"guard_tower", // Defense
"farm_school", // Teaches new crop types
"magic_laboratory", // Enchanting services
"airship_dock" // Fast travel (late game)
]
}
```
---
## 🎨 **5. ASSET GENERATION PLAN**
### **Total Assets Needed:**
#### **A) TOWN BUILDINGS:**
```
27 towns × 12 building types × 2 states (ruined/restored) = 648 buildings
PLUS variations (damaged, partial) = ~900 building sprites
```
#### **B) ZOMBI SKAVT:**
```
1 base sprite × 4 directions × 3 animations = 12 sprites
+ 4 evolution forms × 12 = 48 total
```
#### **C) NOMAD RAIDERS:**
```
4 raider types × 6 unit variants × 4 directions = 96 sprites
+ 4 camp structures × 2 states = 8 camp sprites
Total: ~110 raider sprites
```
#### **D) GIFT UI:**
```
1 Gift Window UI
6 Gift Box variations (common → legendary)
20 Gift Icon overlays
Total: 27 UI elements
```
### **PHASE 1 Priority (Kickstarter Demo):**
**Generate NOW:**
1.**3 Sample Towns** (Forest, Desert, Frozen) - Ruined + Restored
- 3 × 8 core buildings × 2 states = 48 sprites
2.**Zombi Skavt** - Base version
- 1 × 4 directions × 2 animations = 8 sprites
3.**1 Raider Type** - Desert Nomads
- 1 × 4 variants × 4 directions = 16 sprites
- 1 camp set = 4 sprites
4.**Gift System UI** - Basic version
- 1 window + 3 gift boxes = 4 UI elements
**Total Phase 1:** ~80 sprites
---
## 📊 **6. GAME SYSTEMS INTEGRATION**
### **New Systems to Code:**
#### **A) Town Restoration System**
```javascript
// src/systems/TownRestorationSystem.js
class TownRestorationSystem {
constructor() {
this.towns = this.loadTowns(); // 27 towns
this.currentPhase = {}; // Track each town's phase
}
restoreTown(townId, materials) {
// Check if player has required materials
// Update town visual state
// Spawn new NPCs
// Award gifts
// Update map
}
calculateProgress(townId) {
// Return 0-100% restoration progress
}
getTownGift(townId, phase) {
// Return unique reward for this town/phase
}
}
```
#### **B) Zombie Scout System**
```javascript
// src/systems/ZombieScoutSystem.js
class ZombieScoutSystem {
constructor() {
this.scout = {
level: 1,
experience: 0,
skills: {},
position: { x: 0, y: 0 }
};
}
commandScout(target) {
// Send scout to explore area
// Pathfinding with shortcut detection
}
levelUp() {
// Increase stats
// Unlock new abilities
// Visual evolution
}
detectDanger() {
// Scan area for threats
// Warn player
}
}
```
#### **C) Nomad Raider System**
```javascript
// src/systems/NomadRaiderSystem.js
class NomadRaiderSystem {
constructor() {
this.activeRaiders = [];
this.camps = [];
this.nextRaidTime = this.calculateNextRaid();
}
spawnRaiders(biome) {
// Create raider group
// Set patrol path
// Establish temporary camp
}
checkRaidConditions() {
// Farm wealth threshold
// Player location (caravan)
// Time since last raid
}
executeRaid(target) {
// Launch attack
// Combat logic
// Loot calculation
}
}
```
---
## 🗺️ **7. WORLD MAP UPDATES**
### **Map Markers:**
```javascript
{
markers: {
// TOWNS (27)
town_ruined: "🏚️ Gray icon, no name",
town_partial: "🏘️ Yellow icon, name visible",
town_restored: "🏰 Green icon, full info",
// RAIDERS
raider_camp: "⛺ Red icon, temporary",
raider_patrol: "🔴 Moving red dot",
// SCOUT DISCOVERIES
shortcut: "➡️ Blue path",
treasure: "💎 Yellow star",
danger: "⚠️ Orange warning",
resource: "📦 Green box"
}
}
```
---
## 📝 **8. IMPLEMENTATION CHECKLIST**
### **CODE:**
- [ ] Create `TownRestorationSystem.js`
- [ ] Create `ZombieScoutSystem.js`
- [ ] Create `NomadRaiderSystem.js`
- [ ] Create `GiftRewardSystem.js`
- [ ] Update `GameScene.js` - integrate new systems
- [ ] Update `MapScene.js` - new markers
- [ ] Create `TownUI.js` - restoration interface
- [ ] Create `ScoutUI.js` - command interface
### **ASSETS:**
- [ ] Generate 48 town building sprites (3 towns × 8 buildings × 2 states)
- [ ] Generate 8 Zombi Skavt sprites (base form)
- [ ] Generate 20 Raider sprites (1 type)
- [ ] Generate 4 camp structure sprites
- [ ] Generate 4 Gift UI elements
- [ ] Organize into folders:
```
assets/slike 🟢/
├── towns/
│ ├── forest/
│ ├── desert/
│ └── frozen/
├── companions/
│ └── zombie_scout/
├── raiders/
│ └── desert_nomads/
└── ui/
└── gifts/
```
### **DATA:**
- [ ] Create `town_registry.json` - All 27 towns
- [ ] Create `raider_types.json` - All raider variants
- [ ] Create `gift_catalog.json` - All possible rewards
- [ ] Create `scout_skills.json` - Skill tree data
### **DOCUMENTATION:**
- [ ] Update Game Bible with new systems
- [ ] Create Town Restoration Guide
- [ ] Create Scout Training Manual
- [ ] Create Raider Defense Tactics Guide
---
## 🎯 **SUCCESS CRITERIA:**
**Kickstarter Demo Ready When:**
1. ✅ 3 towns show clear Ruined → Restored transformation
2. ✅ Zombi Skavt is playable and useful
3. ✅ 1 raider encounter is scripted and functional
4. ✅ Gift system awards players for restoration
5. ✅ All new assets visible in asset browser
6. ✅ Deep code scan shows 0 errors
---
## 🚀 **TIMELINE:**
**Phase 1 (Today):** Generate assets + code foundations (6 hours)
**Phase 2 (Tomorrow):** Integration + testing (4 hours)
**Phase 3 (Day 3):** Polish + demo recording (2 hours)
**TOTAL:** 12 hours to Kickstarter-ready expansion
---
**Status:** 🟢 **READY TO START GENERATION**
**Next Command:** Generate Phase 1 assets (80 sprites)

View File

@@ -99,14 +99,20 @@
**Age:** 17
**Role:** Protagonist, Alpha Hybrid, Farmer
**Appearance:**
- Dark forest green thick natural dreadlocks
- Stretched ear gauges with piercings
- Facial piercings (nose, lip)
- Weathered blue jacket over beige shirt
- Ripped blue jeans with torn knees
- Dark brown combat boots
- **Pink and green dreadlocks** (signature look)
- **Stretched ear gauges** with multiple piercings
- Facial piercings (nose, lip, eyebrow)
- **Katana** strapped to back (main weapon)
- Post-apocalyptic clothing (torn jacket, ripped jeans)
- Dark combat boots
- Brown survival backpack
- Athletic build
- Athletic, wiry build
**Visual Reference:** `/references/kai/`
- Style 32 Dark-Chibi Noir
- Red eyes with dark pupils (human, NOT zombie)
- Determined expression
- Survivor aesthetic
**Personality:**
- Determined, protective of Ana
@@ -134,11 +140,19 @@
**Age:** 17 (Kai's twin)
**Role:** Quest target, cure key
**Appearance:**
- PINK dreadlocks (contrast to Kai's green)
- **Light blonde hair** (short, practical cut)
- **Blue eyes WITH pupils** (friendly NPC style)
- Style 32 Dark-Chibi Noir aesthetic
- Determined, survival-ready look
- Adventure vest with pockets
- Map and research backpack
- Research backpack with supplies
- Energetic, bright personality
**Visual Reference:** `/references/ana/`
- Style 32 Dark-Chibi Noir
- Strong, capable expression
- Scientist/survivor hybrid look
**Status:** Missing (alive, held by Viktor Krnić)
**Importance:**
@@ -155,15 +169,22 @@
---
### **3. Gronk** (Companion)
**Role:** Tamed Troll, Comic Relief, Heavy Muscle
**Role:** Kaijev prijatelj, Tamed Troll, Comic Relief
**Appearance:**
- MASSIVE green troll (3m tall)
- Thick BRIGHT PINK dreadlocks (matches Ana's!)
- Pink ear gauges + nose ring piercings
- **Pink dreadlocks** (signature style)
- **Stretched ear gauges** with piercings
- Nose ring and facial piercings
- **Vape** always in hand (essential accessory)
- Black t-shirt: "TROLL SABBATH" (purple text)
- Torn baggy black skater pants
- Pink sneakers
- Colorful vape (pink smoke)
- Colorful vape clouds (pink smoke)
**Visual Reference:** `/references/gronk/`
- Style 32 Dark-Chibi Noir
- Friendly giant aesthetic
- Stoner/skater culture vibe
**Personality:**
- Gentle giant despite size
@@ -210,38 +231,144 @@
## 🏘️ NPCs & FACTIONS (180+ Characters)
### **Key NPCs (Demo - 4):**
### **Town NPCs (Core Services):**
**1. Trader NPC**
- Merchant with goods
- First NPC you meet
- Buys wheat, sells seeds/tools
- Clearly visible eyes, friendly smile
**1. Ivan Kovač** (Blacksmith) ⚒️
- **Appearance:** Močan lik (strong build), protective goggles, blacksmith apron
- **Role:** Tool repair & enchanting services
- **Services:**
- Repairs all 63 tool types (10g per durability point)
- Enchanting Table access (Magic Enchanting System)
- Sells repair kits and upgrade materials
- **Location:** Blacksmith building in every restored town
- **Personality:** Serious craftsman, respects quality work
- **Visual Reference:** `/references/npcs/ivan_kovac/`
- Style 32 Dark-Chibi Noir
- Red eyes with dark pupils (friendly NPC)
- Muscular, soot-covered from forge work
**2. Blacksmith NPC**
- Muscular man with apron
- Hammer and anvil
- Upgrades tools and weapons
- Serious but fair expression
**2. Mayor/Župan** (Town Administrator) 🏛️
- **Appearance:** Serious lik, long green coat, official sash, old tablet computer
- **Role:** Town restoration permits & quests
- **Services:**
- Issues permits to restore 27 towns
- Tracks restoration progress
- Rewards City Gratitude Gifts
- Assigns town defense quests
- **Location:** Town Hall (once restored)
- **Personality:** Bureaucratic but fair, wants to rebuild civilization
- **Visual Reference:** `/references/npcs/mayor/`
- Style 32 Dark-Chibi Noir
- Red eyes with dark pupils (friendly NPC)
- Official, authoritative look
**3. Healer/Doctor NPC**
- Medical bag and robes
- Sells potions and remedies
- Kind, concerned facial expression
- May have Ana clues
**3. Miro Pravnik** (Lawyer/Odvetnik) ⚖️
- **Appearance:** Starejši moški (older man), wrinkled brown office suit, rusty briefcase
- **Role:** Legal services & divorce proceedings
- **Services:**
- Handles legal matters in Mrtva Dolina
- Divorce paperwork (NPC relationship system)
- Property rights & land ownership
- Witness for important contracts
- **Location:** Law Office in major towns
- **Personality:** Tired, seen too much, darkly humorous
- **Visual Reference:** `/references/npcs/miro_pravnik/`
- Style 32 Dark-Chibi Noir
- Red eyes with dark pupils (friendly NPC)
- Worn, weathered professional
**4. Mysterious Traveler NPC**
- Cloaked figure
- Gives first Ana clue
- Mysterious, knowing expression
- Appears at key story moments
**4. Arborist/Gozdar** (Tree Planter) 🌲
- **Appearance:** Work clothes, gardening gloves, seed bags
- **Role:** Automated tree planting service
- **Services:**
- Automatically plants trees on your farm
- Sells rare tree saplings
- Forest management advice
- Biome-specific tree species
- **Location:** Farm School building
- **Personality:** Nature-loving, calm, patient
- **Visual Reference:** `/references/npcs/arborist/`
- Style 32 Dark-Chibi Noir
- Red eyes with dark pupils (friendly NPC)
- Green-themed clothing, dirt-stained
---
### **Companions & Special NPCs:**
**5. Zombi Skavt** (Zombie Scout) 🧟‍♂️
- **Appearance:** Friendly zombie with red/blue bandana, small backpack
- **Role:** Explorer companion, pathfinder
- **Special:** Levels 1-20, evolves visually at 5/10/15/20
- **Features:**
- Finds shortcuts through biomes
- Discovers rare items (Treasure Hunter skill)
- Warns of dangers (Danger Sense)
- Marks resources on map
- **Visual Reference:** `/references/companions/zombie_scout/`
- Style 32 Dark-Chibi Noir
- **Red eyes WITH dark pupils** (friendly variant)
- Bandana identifier (blue or red)
- Chibi proportions, friendly pose
---
### **Enemies & Raiders:**
**6. Nomadski Roparji** (Nomad Raiders) ⛺
- **Types:** Desert Nomads, Frost Bandits, Jungle Marauders, Tech Scavengers
- **Appearance:** Improvised scrap armor, post-apocalyptic gear
- **Role:** Dynamic threat, farm raiders
- **Behavior:**
- Travel between biomes (no permanent home)
- Raid farms when you have 1000+ crops
- Ambush caravans (30% chance)
- Establish temporary camps (2-3 days)
- **Visual Reference:** `/references/enemies/nomad_raiders/`
- Style 32 Dark-Chibi Noir
- Each raider type has biome-specific gear
- Hostile appearance, weapons drawn
**7. Troli** (Trolls) 🏰
- **Types:** Friendly (like Gronk), Wild, Troll King (boss)
- **Appearance:** Robustni prebivalci (robust builds), various colors
- **Role:** Town inhabitants (after restoration)
- **Features:**
- Move into restored towns
- Provide unique services
- Stronger than humans, good defenders
- Some tameable as companions
- **Visual Reference:** `/references/species/trolls/`
- Style 32 Dark-Chibi Noir
- Massive builds (2-3m tall)
- Various skin tones (green, gray, blue)
---
### **NPC Visual Style Rules:**
**ALL friendly NPCs follow these rules:**
-**Red eyes WITH dark pupils** (friendly identifier)
- ✅ Style 32 Dark-Chibi Noir aesthetic
- ✅ Thick black outlines (4-5px)
- ✅ Chibi proportions
- ✅ Clear, expressive faces
- ✅ Unique identifying features (clothing, accessories)
**Zombies:**
- ⚪ Weak/Tamed: **White eyes, NO pupils**
- 🔴 Strong/Wild: **Red eyes, NO pupils**
- 🧡 Scout: **Red eyes WITH pupils** (special friendly variant)
---
### **NPC Factions:**
- **Scavengers:** Neutral survivors
- **Raiders:** Hostile bandits
- **Raiders:** Hostile bandits (Nomads)
- **Cultists:** Zombie worshippers
- **Field Medics:** Helpers
- **Scientists:** Pre-outbreak survivors
- **Town Citizens:** Restored town inhabitants
### **Total NPCs:** 180 across 27 towns
- Each with unique dialogue
@@ -557,7 +684,159 @@
---
### **9. SURVIVAL MECHANICS**
### **9. TOWN RESTORATION SYSTEM** ✨ NEW
**Concept:** All 27 towns start as RUINED. Restore them to unlock NPCs, services, and unique rewards.
**Restoration Phases:**
1. **Ruined** (Starting State)
- Destroyed buildings
- No NPCs
- Zombie patrols
- No services available
2. **Partially Restored** (Mid-game)
- Some buildings repaired
- Basic trading post
- 1-2 NPCs return
- Temporary defenses
3. **Fully Restored** (End-game)
- All buildings restored
- Full population (8-12 NPCs)
- All services active
- Strong defenses
- Unique legendary rewards
**Restoration Requirements:**
Each town requires specific resources + quest completion:
- **Materials**: Wood, Stone, Iron, Steel, Gold
- **Quest**: Clear zombies, defeat boss, find artifact
- **Reward**: City Gratitude Gift (blueprints, tools, NPCs)
**Gift System:**
- **Common**: Basic resources, seeds
- **Rare**: Special blueprints, automation tools
- **Legendary**: Unique NPCs (Master Blacksmith), Ultimate tools
**Biome-Specific Architecture:**
Each biome has unique building styles:
- **Forest**: Wooden cabins, treehouses
- **Desert**: Sandstone domes, wind towers
- **Frozen**: Ice igloos, metal structures
- **Volcanic**: Obsidian buildings, lava moats
- **Neon Ruins**: Steel/glass skyscrapers, holograms
- *(20 unique biome styles total)*
---
### **10. ZOMBIE SCOUT COMPANION** ✨ NEW
**Concept:** A friendly zombie you "tame" early-game who becomes your loyal explorer and guide.
**Visual Design:**
- Blue or red bandana around neck (friendly identifier)
- Red eyes WITH dark pupils (friendly NPC variant)
- Backpack for carrying items
- Style 32 Dark-Chibi Noir
**Leveling System:**
- **Max Level**: 20
- **Experience**: Gained from exploring, finding items
- **Stats**: Speed, Vision, Carry Capacity, Intelligence
**Skills (4 Trees):**
1. **Shortcuts** (Pathfinding)
- Finds hidden paths through biomes
- Unlocks at levels: 3, 7, 12, 18
2. **Treasure Hunter** (Item Finding)
- +5% rare item drop chance per level
- Marks hidden chests on map
3. **Danger Sense** (Warning System)
- Warns about nearby enemies
- Range: 100px + 50px per level
4. **Resource Scout** (Map Marking)
- Marks ore deposits, rare plants, chests
- Auto-highlights on minimap
**Evolution Phases:**
- **Level 5**: Gains lantern (lights dark areas)
- **Level 10**: Gains armor (can fight weak zombies)
- **Level 15**: Gains wings (can scout from above)
- **Level 20**: LEGENDARY form (glowing purple aura)
**Commands:**
- **Follow**: Scout follows player automatically
- **Explore**: Send scout to investigate area
- **Fetch**: Retrieve items from distance
- **Guard**: Protect farm while away
---
### **11. NOMAD RAIDERS** ✨ NEW
**Concept:** Wandering bandits with NO permanent home. Dynamic threat that raids farms and ambushes caravans.
**Raider Types:**
1. **Desert Nomads** (Medium Threat)
- Tan robes, scimitars, camels
- Biome: Desert Storm
- Loot: Spices, gold, rare seeds
2. **Frost Bandits** (High Threat)
- Fur armor, ice weapons
- Biome: Frozen Wasteland
- Loot: Furs, ice crystals
3. **Jungle Marauders** (Very High)
- Tribal masks, poison darts
- Biome: Ancient Rainforest
- Loot: Rare plants, artifacts
4. **Tech Scavengers** (Extreme)
- Cyberpunk gear, laser weapons
- Biome: Neon Ruins
- Loot: Tech parts, batteries
**Raider Behavior:**
- **Spawn**: Every 4-7 in-game days
- **Warning**: Scout can detect 1 day in advance
- **Camps**: Temporary (2-3 days), random locations
- **Targets**: Player farm, caravans, restored towns
**Raid Types:**
1. **Farm Raid**
- Trigger: You have 1000+ crops stored
- Waves: 3 attack waves
- Damage: Steal 20% of stored crops
- Defense: Build walls, hire guards, set traps
2. **Caravan Ambush**
- Trigger: Traveling with valuables
- Chance: 30% per trip
- Combat: Required
- Reward: If you win, take their supplies
**Difficulty Scaling:**
- **Early-game**: 2-3 raiders, basic weapons
- **Mid-game**: 5-8 raiders, steel weapons, traps
- **Late-game**: 10-15 raiders, magic weapons, siege equipment
**Defense Systems:**
- Build farm perimeter walls
- Hire NPC guards for defense
- Train zombies to protect farm
- Scout provides advance warning
---
### **12. SURVIVAL MECHANICS**
**Needs:**
- **Health** - Combat damage

View File

@@ -0,0 +1,422 @@
#!/usr/bin/env python3
"""
WORLD EXPANSION ASSET GENERATOR
Generates Phase 1 assets for Town Restoration, Zombie Scout, and Nomad Raiders systems.
Total Phase 1 Assets: ~80 sprites
- 48 Town buildings (3 towns × 8 buildings × 2 states)
- 8 Zombie Scout sprites (base form)
- 20 Raider sprites (Desert Nomads)
- 4 Camp structures
"""
# PHASE 1: SAMPLE TOWNS (3 biomes)
TOWN_BUILDINGS = {
"forest_town": {
"biome": "Temperate Forest",
"style": "Wooden cabins, thatched roofs, brown/green palette",
"buildings": [
{
"name": "town_hall",
"size": "64x64",
"states": ["ruined", "restored"],
"description": "Main building, two-story wooden structure"
},
{
"name": "trading_post",
"size": "48x48",
"states": ["ruined", "restored"],
"description": "Merchant shop with counter and shelves"
},
{
"name": "inn",
"size": "64x48",
"states": ["ruined", "restored"],
"description": "Small hotel, beds visible through windows"
},
{
"name": "blacksmith",
"size": "48x48",
"states": ["ruined", "restored"],
"description": "Forge with chimney, anvil outside"
},
{
"name": "general_store",
"size": "48x48",
"states": ["ruined", "restored"],
"description": "Shop with barrels and crates"
},
{
"name": "guard_tower",
"size": "32x64",
"states": ["ruined", "restored"],
"description": "Tall wooden watchtower"
},
{
"name": "farm_school",
"size": "64x48",
"states": ["ruined", "restored"],
"description": "Greenhouse-like structure, crop displays"
},
{
"name": "town_gate",
"size": "64x48",
"states": ["ruined", "restored"],
"description": "Main entrance with wooden arch"
}
]
},
"desert_town": {
"biome": "Desert Storm",
"style": "Sandstone domes, flat roofs, tan/gold palette",
"buildings": [
{
"name": "town_hall",
"size": "64x64",
"states": ["ruined", "restored"],
"description": "Domed sandstone palace, market stalls"
},
{
"name": "trading_post",
"size": "48x48",
"states": ["ruined", "restored"],
"description": "Bazaar with canopy, spice barrels"
},
{
"name": "inn",
"size": "64x48",
"states": ["ruined", "restored"],
"description": "Caravanserai, courtyard visible"
},
{
"name": "blacksmith",
"size": "48x48",
"states": ["ruined", "restored"],
"description": "Stone forge, bellows, scimitar display"
},
{
"name": "general_store",
"size": "48x48",
"states": ["ruined", "restored"],
"description": "Market stall with pottery and cloth"
},
{
"name": "guard_tower",
"size": "32x64",
"states": ["ruined", "restored"],
"description": "Minaret-style watchtower"
},
{
"name": "farm_school",
"size": "64x48",
"states": ["ruined", "restored"],
"description": "Oasis garden, palm trees"
},
{
"name": "town_gate",
"size": "64x48",
"states": ["ruined", "restored"],
"description": "Arched sandstone gate with carvings"
}
]
},
"frozen_town": {
"biome": "Frozen Wasteland",
"style": "Ice/metal buildings, flat roofs, white/blue palette",
"buildings": [
{
"name": "town_hall",
"size": "64x64",
"states": ["ruined", "restored"],
"description": "Ice palace, metal reinforcements, icicles"
},
{
"name": "trading_post",
"size": "48x48",
"states": ["ruined", "restored"],
"description": "Igloo shop, fur pelts visible"
},
{
"name": "inn",
"size": "64x48",
"states": ["ruined", "restored"],
"description": "Warm lodge, smoke from chimney"
},
{
"name": "blacksmith",
"size": "48x48",
"states": ["ruined", "restored"],
"description": "Ice forge, blue flame, frost weapons"
},
{
"name": "general_store",
"size": "48x48",
"states": ["ruined", "restored"],
"description": "Supply depot, crates and barrels"
},
{
"name": "guard_tower",
"size": "32x64",
"states": ["ruined", "restored"],
"description": "Metal tower, frozen flag on top"
},
{
"name": "farm_school",
"size": "64x48",
"states": ["ruined", "restored"],
"description": "Heated greenhouse, frost-resistant crops"
},
{
"name": "town_gate",
"size": "64x48",
"states": ["ruined", "restored"],
"description": "Ice arch gate with metal spikes"
}
]
}
}
# ZOMBIE SCOUT SPRITES
ZOMBIE_SCOUT = {
"base_form": [
{
"name": "scout_idle_down",
"size": "32x32",
"description": "Zombie scout idle facing down, blue bandana, backpack, red eyes with pupils, friendly pose"
},
{
"name": "scout_idle_up",
"size": "32x32",
"description": "Zombie scout idle facing up, blue bandana visible, backpack, friendly pose"
},
{
"name": "scout_idle_left",
"size": "32x32",
"description": "Zombie scout idle facing left, blue bandana, side view, backpack visible"
},
{
"name": "scout_idle_right",
"size": "32x32",
"description": "Zombie scout idle facing right, blue bandana, side view, backpack visible"
},
{
"name": "scout_walking_down",
"size": "32x32",
"description": "Zombie scout walking down, one leg forward, blue bandana"
},
{
"name": "scout_walking_up",
"size": "32x32",
"description": "Zombie scout walking up, one leg forward, backpack bouncing"
},
{
"name": "scout_pointing",
"size": "32x32",
"description": "Zombie scout pointing at discovery, excited pose, blue bandana"
},
{
"name": "scout_digging",
"size": "32x32",
"description": "Zombie scout digging ground, bent over, finding item, backpack"
}
]
}
# NOMAD RAIDERS - DESERT NOMADS
DESERT_RAIDERS = {
"units": [
{
"name": "nomad_warrior_idle",
"size": "32x32",
"description": "Desert nomad warrior idle, tan robes, scimitar, turban, Style 32"
},
{
"name": "nomad_warrior_attack",
"size": "32x32",
"description": "Desert nomad warrior attacking, scimitar raised, aggressive"
},
{
"name": "nomad_archer_idle",
"size": "32x32",
"description": "Desert nomad archer idle, bow, quiver, tan clothing"
},
{
"name": "nomad_archer_shoot",
"size": "32x32",
"description": "Desert nomad archer shooting arrow, bow drawn"
},
{
"name": "nomad_scout_idle",
"size": "32x32",
"description": "Desert nomad scout, lighter armor, dagger, lookout pose"
},
{
"name": "nomad_scout_run",
"size": "32x32",
"description": "Desert nomad scout running, fast movement"
},
{
"name": "nomad_brute_idle",
"size": "32x32",
"description": "Desert nomad brute, heavy armor, large axe, intimidating"
},
{
"name": "nomad_brute_smash",
"size": "32x32",
"description": "Desert nomad brute smashing with axe, powerful attack"
},
{
"name": "nomad_leader_idle",
"size": "32x32",
"description": "Desert nomad leader, ornate robes, golden scimitar, commander"
},
{
"name": "nomad_leader_command",
"size": "32x32",
"description": "Desert nomad leader giving orders, raised hand"
}
],
"camps": [
{
"name": "nomad_tent_large",
"size": "48x48",
"description": "Large desert tent, tan fabric, ropes, entrance visible"
},
{
"name": "nomad_tent_small",
"size": "32x32",
"description": "Small desert tent, simple structure, bedroll inside"
},
{
"name": "nomad_campfire",
"size": "32x32",
"description": "Desert campfire, burning logs, cooking pot, sand circle"
},
{
"name": "nomad_loot_chest",
"size": "32x32",
"description": "Raider loot chest, locked box, gold trim, treasures"
}
]
}
# GENERATION MANIFEST
def generate_manifest():
"""Generate complete asset manifest for Phase 1."""
manifest = {
"phase": 1,
"total_assets": 0,
"categories": {}
}
# Count town buildings
town_count = 0
for town_key, town_data in TOWN_BUILDINGS.items():
for building in town_data["buildings"]:
town_count += len(building["states"]) # ruined + restored
manifest["categories"]["towns"] = town_count
# Count scout sprites
manifest["categories"]["zombie_scout"] = len(ZOMBIE_SCOUT["base_form"])
# Count raider sprites
raider_count = len(DESERT_RAIDERS["units"]) + len(DESERT_RAIDERS["camps"])
manifest["categories"]["nomad_raiders"] = raider_count
# Total
manifest["total_assets"] = sum(manifest["categories"].values())
return manifest
# PROMPT GENERATOR
def generate_prompts():
"""Generate all Style 32 prompts for asset generation."""
prompts = []
# TOWN BUILDINGS
for town_key, town_data in TOWN_BUILDINGS.items():
biome = town_data["biome"]
style = town_data["style"]
for building in town_data["buildings"]:
for state in building["states"]:
prompt = {
"category": "town_building",
"town": town_key,
"building": building["name"],
"state": state,
"size": building["size"],
"prompt": f"{state.capitalize()} {building['name']} in {biome} biome, {style}, {building['description']}, "
f"{'collapsed walls broken windows debris' if state == 'ruined' else 'restored clean functional'}, "
f"Style 32 Dark-Chibi Noir, thick black outlines, top-down view, {building['size']}px, green background"
}
prompts.append(prompt)
# ZOMBIE SCOUT
for sprite in ZOMBIE_SCOUT["base_form"]:
prompt = {
"category": "zombie_scout",
"name": sprite["name"],
"size": sprite["size"],
"prompt": f"{sprite['description']}, Style 32 Dark-Chibi Noir, thick black outlines, chibi proportions, "
f"{sprite['size']}px, green background"
}
prompts.append(prompt)
# NOMAD RAIDERS
for unit in DESERT_RAIDERS["units"]:
prompt = {
"category": "nomad_raider",
"type": "unit",
"name": unit["name"],
"size": unit["size"],
"prompt": f"{unit['description']}, thick black outlines, chibi proportions, {unit['size']}px, green background"
}
prompts.append(prompt)
for camp in DESERT_RAIDERS["camps"]:
prompt = {
"category": "nomad_raider",
"type": "camp",
"name": camp["name"],
"size": camp["size"],
"prompt": f"{camp['description']}, Style 32 Dark-Chibi Noir, thick black outlines, top-down view, "
f"{camp['size']}px, green background"
}
prompts.append(prompt)
return prompts
if __name__ == "__main__":
import json
# Generate manifest
manifest = generate_manifest()
print("=" * 60)
print("WORLD EXPANSION - PHASE 1 MANIFEST")
print("=" * 60)
print(f"\nTotal Assets: {manifest['total_assets']}")
print(f"\nBreakdown:")
for category, count in manifest["categories"].items():
print(f" - {category}: {count} sprites")
# Generate prompts
prompts = generate_prompts()
# Save to JSON
output = {
"manifest": manifest,
"prompts": prompts
}
with open("world_expansion_phase1.json", "w", encoding="utf-8") as f:
json.dump(output, f, indent=2, ensure_ascii=False)
print(f"\n✅ Generated {len(prompts)} prompts")
print(f"📝 Saved to: world_expansion_phase1.json")
print("\n" + "=" * 60)