World Expansion Plan - Towns Scout Raiders - Characters Updated - NPCs Detailed - New Systems Added
This commit is contained in:
554
docs/WORLD_EXPANSION_PLAN.md
Normal file
554
docs/WORLD_EXPANSION_PLAN.md
Normal 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)
|
||||
@@ -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
|
||||
|
||||
422
scripts/generate_world_expansion_assets.py
Normal file
422
scripts/generate_world_expansion_assets.py
Normal 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)
|
||||
Reference in New Issue
Block a user