🗺️ Complete game map structure - 29 new map folders (core, farms, resources, story, special, anomalous zones)
This commit is contained in:
129
scripts/setup_map_structure.py
Normal file
129
scripts/setup_map_structure.py
Normal file
@@ -0,0 +1,129 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
🗺️ COMPLETE GAME MAP STRUCTURE SETUP
|
||||
Creates all map folders for DolinaSmrti locations
|
||||
"""
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
REPO = Path("/Users/davidkotnik/repos/novafarma")
|
||||
MAPS = REPO / "maps"
|
||||
|
||||
# All game locations
|
||||
GAME_MAPS = {
|
||||
# Core locations
|
||||
"01_base_farm": "Main farm base - player's home",
|
||||
"02_town_square": "Central town area - NPCs, shops",
|
||||
"03_dark_forest": "Starting exploration zone",
|
||||
|
||||
# Seasonal farms
|
||||
"farms": {
|
||||
"farm_spring": "Spring seasonal farm",
|
||||
"farm_summer": "Summer seasonal farm",
|
||||
"farm_autumn": "Autumn seasonal farm",
|
||||
"farm_winter": "Winter seasonal farm"
|
||||
},
|
||||
|
||||
# Resource zones
|
||||
"resources": {
|
||||
"mine_copper": "Copper mine - early game",
|
||||
"mine_iron": "Iron mine - mid game",
|
||||
"mine_gold": "Gold mine - late game",
|
||||
"mine_crystal": "Crystal cavern - special resources",
|
||||
"quarry": "Stone quarry",
|
||||
"lumber_camp": "Logging area"
|
||||
},
|
||||
|
||||
# Story locations
|
||||
"story": {
|
||||
"abandoned_factory": "Main story location",
|
||||
"nuclear_zone": "Hazmat area",
|
||||
"underground_lab": "Secret research facility",
|
||||
"military_base": "Abandoned military outpost"
|
||||
},
|
||||
|
||||
# Special zones
|
||||
"special": {
|
||||
"greenhouse": "Year-round farming",
|
||||
"barn": "Animal housing",
|
||||
"workshop": "Crafting station",
|
||||
"storage": "Item storage building"
|
||||
},
|
||||
|
||||
# Anomalous zones (already have assets in biomi/)
|
||||
"anomalous": {
|
||||
"dino_valley": "Dinosaur zone",
|
||||
"mythical_highlands": "Mythical creatures",
|
||||
"atlantis_depths": "Underwater ruins",
|
||||
"chernobyl_wasteland": "Radioactive zone",
|
||||
"egyptian_tombs": "Ancient pyramids",
|
||||
"endless_forest": "Magical forest",
|
||||
"catacombs": "Undead crypts",
|
||||
"volcanic_wastes": "Lava fields"
|
||||
}
|
||||
}
|
||||
|
||||
print("="*70)
|
||||
print("🗺️ COMPLETE GAME MAP STRUCTURE SETUP")
|
||||
print("="*70)
|
||||
|
||||
# Create base maps directory
|
||||
MAPS.mkdir(exist_ok=True)
|
||||
print(f"\n✅ Base maps/ directory ready\n")
|
||||
|
||||
total_created = 0
|
||||
|
||||
# Core maps
|
||||
print("📍 CORE LOCATIONS:")
|
||||
for map_id, description in [(k, v) for k, v in GAME_MAPS.items() if isinstance(v, str)]:
|
||||
map_dir = MAPS / map_id
|
||||
if not map_dir.exists():
|
||||
map_dir.mkdir(parents=True)
|
||||
print(f" ✅ Created {map_id}/ - {description}")
|
||||
total_created += 1
|
||||
else:
|
||||
print(f" ✓ {map_id}/ - {description}")
|
||||
|
||||
# Category maps (farms, resources, etc.)
|
||||
for category, maps_dict in [(k, v) for k, v in GAME_MAPS.items() if isinstance(v, dict)]:
|
||||
print(f"\n📂 {category.upper()}:")
|
||||
category_dir = MAPS / category
|
||||
category_dir.mkdir(exist_ok=True)
|
||||
|
||||
for map_id, description in maps_dict.items():
|
||||
map_dir = category_dir / map_id
|
||||
if not map_dir.exists():
|
||||
map_dir.mkdir(parents=True)
|
||||
print(f" ✅ Created {category}/{map_id}/ - {description}")
|
||||
total_created += 1
|
||||
else:
|
||||
print(f" ✓ {category}/{map_id}/ - {description}")
|
||||
|
||||
print("\n" + "="*70)
|
||||
print("✅ MAP STRUCTURE COMPLETE!")
|
||||
print("="*70)
|
||||
|
||||
# Count total
|
||||
all_maps = []
|
||||
for item in MAPS.glob("**/"):
|
||||
if item != MAPS and not item.name.startswith('.'):
|
||||
all_maps.append(item)
|
||||
|
||||
print(f"\n📊 Total map folders: {len(all_maps)}")
|
||||
print(f"🆕 Newly created: {total_created}")
|
||||
|
||||
print("\n🗂️ STRUCTURE:")
|
||||
print(f" maps/")
|
||||
print(f" ├── demo_project/ (Kickstarter demo)")
|
||||
print(f" ├── demo_whitebg/ (Demo assets)")
|
||||
print(f" ├── 01_base_farm/ (Core)")
|
||||
print(f" ├── 02_town_square/ (Core)")
|
||||
print(f" ├── 03_dark_forest/ (Core)")
|
||||
print(f" ├── farms/ (4 seasonal farms)")
|
||||
print(f" ├── resources/ (6 resource zones)")
|
||||
print(f" ├── story/ (4 story locations)")
|
||||
print(f" ├── special/ (4 special buildings)")
|
||||
print(f" └── anomalous/ (8 anomalous zones)")
|
||||
|
||||
print("\n🎮 READY FOR MAP CREATION!")
|
||||
print(" Each folder is ready for .tmx Tiled map files")
|
||||
Reference in New Issue
Block a user