#!/usr/bin/env python3 """ OVERNIGHT MASS PRODUCTION SCRIPT Generates balanced mix of base sprites + animations Total target: 100 assets tonight, 11,000+ overall """ import time from datetime import datetime # PRODUCTION QUEUE - First 100 assets PRODUCTION_QUEUE = { # BUILDINGS (10) "buildings": [ ("farmhouse_basic", "basic farmhouse building, small simple two-story house with chimney"), ("greenhouse", "greenhouse building, glass structure for growing plants, botanical building"), ("workshop", "workshop building, craftsman work shed with tools visible, maker space"), ("laboratory", "laboratory building, science research facility with equipment"), ("vape_lab", "vape lab building, chemistry workshop for liquid mixing, specialized facility"), ("bakery", "bakery building, cozy bakery shop with oven and storefront"), ("clinic", "clinic building, medical facility with red cross, healthcare center"), ("town_hall", "town hall building, administrative building with clock tower"), ("warehouse", "warehouse building, large storage facility, industrial building"), ("inn", "inn building, travelers rest stop with beds, accommodation"), ], # CROPS (15) "crops": [ ("wheat_seed", "wheat seeds planted in soil, small brown seeds in dirt, planting stage"), ("wheat_growing", "wheat plant growing, young green wheat sprouts, growing stage"), ("wheat_harvest", "wheat ready to harvest, golden wheat stalks with grain heads"), ("corn_seed", "corn seeds planted in soil, planting stage"), ("corn_growing", "corn plant growing, tall green corn stalk with leaves"), ("corn_harvest", "corn ready to harvest, corn stalk with ripe yellow corn cobs"), ("tomato_seed", "tomato seeds planted in soil, planting stage"), ("tomato_growing", "tomato plant growing, green bush with small tomatoes"), ("tomato_harvest", "tomato plant with red tomatoes, green bush with ripe red tomatoes"), ("potato_seed", "potato seeds in soil, planting stage"), ("potato_growing", "potato plant growing, green leafy potato plant"), ("potato_harvest", "potato plant ready to harvest with visible tubers"), ("carrot_growing", "carrot plant growing, green leafy tops"), ("pumpkin_growing", "pumpkin plant with orange pumpkin"), ("hemp_growing", "hemp plant growing, tall cannabis plant with leaves"), ], # WORKSTATIONS (5) "workstations": [ ("tailoring_table", "tailoring table workstation, sewing table with fabric"), ("mint_station", "mint station, coin pressing machine"), ("sprinkler_basic", "basic sprinkler, simple water sprinkler device"), ("sprinkler_quality", "quality sprinkler, improved irrigation device"), ("vape_lab_station", "vape lab workstation, liquid mixing station with vials"), ], # KAI ANIMATIONS (16 frames - walk cycle 4 directions) "animations/kai": [ ("kai_walk_north_1", "Kai walking north frame 1, teenage survivor with dark forest green dreadlocks, ear gauges, piercings, blue jacket, ripped jeans"), ("kai_walk_north_2", "Kai walking north frame 2, teenage survivor with dark forest green dreadlocks, leg mid-stride"), ("kai_walk_north_3", "Kai walking north frame 3, teenage survivor with dark forest green dreadlocks, opposite leg forward"), ("kai_walk_north_4", "Kai walking north frame 4, teenage survivor with dark forest green dreadlocks, return to stance"), ("kai_walk_south_1", "Kai walking south frame 1, teenage survivor facing camera, dark forest green dreadlocks visible"), ("kai_walk_south_2", "Kai walking south frame 2, teenage survivor facing camera, leg mid-stride"), ("kai_walk_south_3", "Kai walking south frame 3, teenage survivor facing camera, opposite leg forward"), ("kai_walk_south_4", "Kai walking south frame 4, teenage survivor facing camera, return to stance"), ("kai_walk_east_1", "Kai walking east frame 1, teenage survivor profile view facing right, dark forest green dreadlocks"), ("kai_walk_east_2", "Kai walking east frame 2, teenage survivor profile facing right, leg mid-stride"), ("kai_walk_east_3", "Kai walking east frame 3, teenage survivor profile facing right, opposite leg forward"), ("kai_walk_east_4", "Kai walking east frame 4, teenage survivor profile facing right, return to stance"), ("kai_walk_west_1", "Kai walking west frame 1, teenage survivor profile view facing left, dark forest green dreadlocks"), ("kai_walk_west_2", "Kai walking west frame 2, teenage survivor profile facing left, leg mid-stride"), ("kai_walk_west_3", "Kai walking west frame 3, teenage survivor profile facing left, opposite leg forward"), ("kai_walk_west_4", "Kai walking west frame 4, teenage survivor profile facing left, return to stance"), ], } def generate_prompt(category, description): """Generate full Gritty Noir prompt from description""" base_suffix = ", game asset, (bold black outlines:1.4), dark hand-drawn stylized indie game asset, (gritty noir aesthetic:1.2), flat colors, muted color palette, isolated object centered on solid white background, clean edges, simple composition" if "animation" in category: return description + ", walking animation frame, game character sprite" + base_suffix elif category == "buildings": return description + ", game building asset, isometric view" + base_suffix elif category == "crops": return description + ", farm crop, game crop sprite" + base_suffix elif category == "workstations": return description + ", game workstation object" + base_suffix else: return description + base_suffix def main(): print("="*70) print("šŸŒ™ OVERNIGHT MASS PRODUCTION - MIX STRATEGY") print("="*70) print(f"Started: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}") print() total_assets = sum(len(items) for items in PRODUCTION_QUEUE.values()) print(f"Total assets in queue: {total_assets}") print() print("āš ļø NOTE: This is a reference script.") print(" Actual generation uses Antigravity's generate_image tool") print(" with 60-second delays between requests.") print() print("="*70) print() current = 0 for category, assets in PRODUCTION_QUEUE.items(): print(f"\nšŸ“ Category: {category}") print("-" * 70) for asset_name, description in assets: current += 1 prompt = generate_prompt(category, description) print(f"[{current}/{total_assets}] {asset_name}") print(f" Prompt: {prompt[:100]}...") print(f" → Ask Antigravity to generate: generate_image('{asset_name}', '{prompt}')") print() # Simulated delay (actual generation has API rate limits) if current < total_assets: print(f" ā±ļø Waiting 60 seconds before next generation...") print() print("="*70) print("āœ… QUEUE COMPLETE!") print(f"Total generated: {total_assets} assets") print("="*70) if __name__ == "__main__": main()