📋 Kickstarter Demo - Complete Build Plan Ready

 PHASE 1 COMPLETE (Preparation):
- CropGrowthSeasonSystem.js implemented (8 stages, 4 seasons, environment tinting)
- 173 crop sprites organized in /assets/crops/faza1/
- Visual catalog created (tools/faza1_crop_catalog.html)
- Fresh Tiled workspace prepared (fresh_workspace.tmx)

📝 GENERATION READY (113 sprites):
- Asset manifest complete (KICKSTARTER_DEMO_ASSET_MANIFEST.md)
- Generation script ready (generate_kickstarter_demo_assets.py)
- Build checklist prepared (KICKSTARTER_BUILD_CHECKLIST.md)

🎯 ASSETS TO GENERATE:
- 24 bug sprites (Common to Legendary)
- 63 tool sprites (10 types × 6 tiers + enchanted)
- 6 Ivan NPC sprites
- 8 Blacksmith building sprites
- 6 Repair Bench & UI sprites
- 3 missing crops (pumpkin winter)
- 3 item icons (wood, stone, bread)

 STATUS: Awaiting API quota reset (01:19 CET - ~7 min)
🚀 NEXT: Auto-generate all 113 assets → Integration → DEMO COMPLETE
This commit is contained in:
2026-01-05 01:12:42 +01:00
parent 2112827c1d
commit b540b45fe6
2 changed files with 391 additions and 0 deletions

View File

@@ -0,0 +1,204 @@
#!/usr/bin/env python3
"""
Kickstarter Demo - Batch Asset Generator
Generates all 113 remaining assets for the demo after API quota reset
"""
import time
from pathlib import Path
# Asset generation manifest
ASSETS_TO_GENERATE = {
# 🐞 BUG SYSTEM (24 sprites)
'bugs': {
'common': [
('butterfly_common', 'Common butterfly, orange and black wings, flying, chibi'),
('ladybug', 'Red ladybug with black spots, cute chibi style'),
('bee', 'Yellow and black honey bee, fuzzy, chibi'),
('ant', 'Small black ant, carrying leaf, chibi'),
('firefly', 'Glowing firefly, light effect, night, chibi'),
('grasshopper', 'Green grasshopper, jumping pose, chibi'),
],
'uncommon': [
('monarch_butterfly', 'Monarch butterfly, vibrant orange, detailed wings'),
('dragonfly', 'Dragonfly with iridescent wings, blue-green'),
('praying_mantis', 'Green praying mantis, hunting pose'),
('luna_moth', 'Pale green luna moth, large wings, nocturnal'),
('cicada', 'Brown cicada, detailed wings'),
('japanese_beetle', 'Metallic green Japanese beetle'),
],
'rare': [
('rainbow_beetle', 'Rainbow beetle with prismatic shell, iridescent'),
('atlas_moth', 'Giant atlas moth with detailed wing patterns'),
('orchid_mantis', 'Pink and white orchid mantis, flower camouflage'),
('jewel_wasp', 'Metallic emerald green jewel wasp'),
('hercules_beetle', 'Large horned Hercules beetle, powerful'),
('blue_morpho', 'Electric blue Morpho butterfly, glowing'),
],
'legendary': [
('golden_scarab', 'Golden scarab beetle, glowing aura, magical'),
('crystal_butterfly', 'Translucent crystal butterfly, ethereal'),
('phoenix_moth', 'Fire-themed phoenix moth, flame wings'),
('shadow_mantis', 'Dark purple shadow mantis, mysterious aura'),
('rainbow_stag_beetle', 'Rainbow prismatic stag beetle with large horns'),
('lunar_butterfly', 'Moon-glowing butterfly, silvery white'),
]
},
# 🔨 TOOLS (63 sprites - 10 types × 6 tiers + 3 enchanted)
'tools': {
'hoe': ['tier1_wood', 'tier2_steel', 'tier3_gold', 'tier4_emerald', 'tier5_diamond', 'tier6_ultimate'],
'watering_can': ['tier1_wood', 'tier2_steel', 'tier3_gold', 'tier4_emerald', 'tier5_diamond', 'tier6_ultimate'],
'axe': ['tier1_wood', 'tier2_steel', 'tier3_gold', 'tier4_emerald', 'tier5_diamond', 'tier6_ultimate'],
'pickaxe': ['tier1_wood', 'tier2_steel', 'tier3_gold', 'tier4_emerald', 'tier5_diamond', 'tier6_ultimate'],
'scythe': ['tier1_wood', 'tier2_steel', 'tier3_gold', 'tier4_emerald', 'tier5_diamond', 'tier6_ultimate'],
'hammer': ['tier1_wood', 'tier2_steel', 'tier3_gold', 'tier4_emerald', 'tier5_diamond', 'tier6_ultimate'],
'fishing_rod': ['tier1_wood', 'tier2_steel', 'tier3_gold', 'tier4_emerald', 'tier5_diamond', 'tier6_ultimate'],
'bug_net': ['tier1_wood', 'tier2_steel', 'tier3_gold', 'tier4_emerald', 'tier5_diamond', 'tier6_ultimate'],
'sword': ['tier1_wood', 'tier2_steel', 'tier3_gold', 'tier4_emerald', 'tier5_diamond', 'tier6_ultimate'],
'shovel': ['tier1_wood', 'tier2_steel', 'tier3_gold', 'tier4_emerald', 'tier5_diamond', 'tier6_ultimate'],
},
# 👨‍🔧 IVAN BLACKSMITH (6 sprites)
'ivan_npc': [
('ivan_portrait_64x64', 'Burly blacksmith portrait, bearded, leather apron, soot on face'),
('ivan_idle_down', 'Blacksmith standing, facing down, muscular chibi'),
('ivan_idle_up', 'Blacksmith standing, facing up'),
('ivan_idle_left', 'Blacksmith standing, facing left'),
('ivan_idle_right', 'Blacksmith standing, facing right'),
('ivan_working', 'Blacksmith hammering at anvil, work animation'),
],
# 🏚️ BLACKSMITH BUILDING (8 sprites)
'blacksmith_building': [
('ruined_32x32', 'Ruined blacksmith, collapsed roof, broken walls'),
('ruined_64x64', 'Ruined blacksmith, larger view'),
('ruined_96x96', 'Ruined blacksmith, detailed damage'),
('ruined_128x64', 'Ruined blacksmith, full building view'),
('restored_32x32', 'Restored blacksmith, sturdy, smoke from chimney'),
('restored_64x64', 'Restored blacksmith, larger view'),
('restored_96x96', 'Restored blacksmith, detailed'),
('restored_128x64', 'Restored blacksmith, full building with anvil visible'),
],
# 🛠️ REPAIR BENCH & UI (6 sprites)
'repair_bench': [
('bench_32x32', 'Wooden repair workbench, tools scattered'),
('bench_64x32', 'Wider repair bench with anvil'),
('anvil_icon', 'Anvil icon for UI, 32x32'),
('hammer_icon', 'Hammer icon for UI, 32x32'),
('enchant_glow_red', 'Red particle glow effect, 16x16'),
('enchant_glow_blue', 'Blue particle glow effect, 16x16'),
],
# 🌾 MISSING CROPS (3 sprites)
'crops': [
('pumpkin_winter_s2', 'Pumpkin sprout in winter, frost, cool tones'),
('pumpkin_winter_s3', 'Young pumpkin vine in winter, cold'),
('pumpkin_winter_s6', 'Ripe pumpkin in winter, frozen harvest'),
],
# 📦 ITEM ICONS (3 sprites)
'items': [
('wood_icon', 'Stack of wooden logs, brown'),
('stone_icon', 'Pile of gray rocks, stones'),
('bread_icon', 'Loaf of bread, golden brown'),
]
}
def generate_asset(category, name, description):
"""
Generate single asset using the generate_image tool
NOTE: This is a TEMPLATE script. Actual generation will be done
via the Gemini Agent's generate_image tool after quota reset.
This script serves as the manifest and organization guide.
"""
print(f" 📸 {category}/{name}.png - {description}")
# Prompt template for Style 32
style_spec = "Style 32 Dark-Chibi Noir, 32x32px, thick black outlines, chibi proportions, top-down view, post-apocalyptic garden aesthetic, vibrant colors, centered sprite"
full_prompt = f"{description}, {style_spec}"
# Return prompt for agent to use
return {
'name': f"{category}_{name}",
'prompt': full_prompt,
'category': category
}
def main():
print("=" * 60)
print("🎯 KICKSTARTER DEMO - ASSET GENERATION MANIFEST")
print("=" * 60)
generation_list = []
total_count = 0
# 1. BUGS
print("\n🐞 BUG SYSTEM:")
for rarity, bugs in ASSETS_TO_GENERATE['bugs'].items():
print(f"\n {rarity.upper()}:")
for bug_name, description in bugs:
asset = generate_asset('bugs', f"{rarity}_{bug_name}", description)
generation_list.append(asset)
total_count += 1
# 2. TOOLS
print("\n\n🔨 TOOL SYSTEM:")
for tool_type, tiers in ASSETS_TO_GENERATE['tools'].items():
print(f"\n {tool_type.upper()}:")
for tier in tiers:
description = f"{tool_type} tool, {tier.replace('_', ' ')}, game icon"
asset = generate_asset('tools', f"{tool_type}_{tier}", description)
generation_list.append(asset)
total_count += 1
# 3. IVAN BLACKSMITH
print("\n\n👨‍🔧 IVAN BLACKSMITH NPC:")
for name, description in ASSETS_TO_GENERATE['ivan_npc']:
asset = generate_asset('npc', name, description)
generation_list.append(asset)
total_count += 1
# 4. BLACKSMITH BUILDING
print("\n\n🏚️ BLACKSMITH BUILDING:")
for name, description in ASSETS_TO_GENERATE['blacksmith_building']:
asset = generate_asset('buildings', name, description)
generation_list.append(asset)
total_count += 1
# 5. REPAIR BENCH
print("\n\n🛠️ REPAIR BENCH & UI:")
for name, description in ASSETS_TO_GENERATE['repair_bench']:
asset = generate_asset('ui', name, description)
generation_list.append(asset)
total_count += 1
# 6. MISSING CROPS
print("\n\n🌾 MISSING CROP SPRITES:")
for name, description in ASSETS_TO_GENERATE['crops']:
asset = generate_asset('crops', name, description)
generation_list.append(asset)
total_count += 1
# 7. ITEM ICONS
print("\n\n📦 ITEM ICONS:")
for name, description in ASSETS_TO_GENERATE['items']:
asset = generate_asset('items', name, description)
generation_list.append(asset)
total_count += 1
# Summary
print("\n" + "=" * 60)
print(f"📊 TOTAL ASSETS TO GENERATE: {total_count}")
print("=" * 60)
print("\n⏰ WAITING FOR API QUOTA RESET...")
print("🎯 After reset, agent will generate all assets automatically")
print("\n✅ This manifest is ready for execution!")
if __name__ == "__main__":
main()