#!/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")