diff --git a/ASSET_STATUS_03_01_2026.md b/ASSET_STATUS_03_01_2026.md new file mode 100644 index 000000000..79ea3c092 --- /dev/null +++ b/ASSET_STATUS_03_01_2026.md @@ -0,0 +1,373 @@ +# 🎨 ASSET PRODUCTION STATUS - 03.01.2026 + +**Datum:** 03. januar 2026, 00:08 CET +**Total Progress:** 218/~14,000 (1.56%) + +--- + +## ✅ CATEGORY 0: FARM CROPS - COMPLETE (103/103) + +### **Sadje (36/36)** ✅ +- apple_red, apple_green, apple_yellow +- pear, plum, cherry, peach, apricot +- orange, lemon, lime, grapefruit +- banana, kiwi, mango, papaya, pineapple +- strawberry, raspberry, blueberry, blackberry, cranberry +- grape_red, grape_green +- watermelon, melon, cantaloupe +- pomegranate, fig, date +- passion_fruit, dragon_fruit, star_fruit +- coconut, avocado, olive + +### **Zelenjava (25/25)** ✅ +- carrot, potato, tomato, cucumber, lettuce +- cabbage, broccoli, cauliflower, brussels_sprouts +- onion, garlic, leek, shallot +- pepper_red, pepper_green, pepper_yellow +- eggplant, zucchini, pumpkin, squash +- corn, peas, beans, radish, beet + +### **Ganja (12/12)** ✅ +- sativa, indica, hybrid, ruderalis +- purple_kush, og_kush, white_widow, northern_lights +- amnesia_haze, super_lemon_haze, blue_dream, girl_scout_cookies + +### **Drevesa (30/30)** ✅ +- oak, pine, maple, birch, willow +- apple_tree, pear_tree, cherry_tree, plum_tree, peach_tree +- orange_tree, lemon_tree +- palm, cactus, bamboo +- rose, tulip, sunflower, lavender, daisy +- lily, orchid, carnation, daffodil, iris +- poppy, violet, marigold, petunia, zinnia +- lily_of_the_valley + +--- + +## ✅ CATEGORY 1: FARM BUILDINGS & ANIMALS - COMPLETE (55/55) + +### **Farm Buildings (20/20)** ✅ +- farmhouse, barn, silo, greenhouse +- chicken_coop, pigpen, stable +- tool_shed, windmill, well +- fence_wood, fence_stone, gate +- compost, beehive, trough +- lamp_post, sign, mailbox, rain_barrel + +### **Farm Animals (15/15)** ✅ +- chicken, rooster, duck, turkey +- cow, pig, sheep, goat +- horse, donkey, llama +- rabbit, cat, dog, bee + +### **Farm Tools (20/20)** ✅ +- hoe, shovel, rake, watering_can +- axe, pickaxe, scythe, sickle +- pitchfork, wheelbarrow, bucket +- shears, pruners, trowel, gloves +- hammer, saw, pliers, wrench, screwdriver + +--- + +## ✅ CATEGORY 2: ITEMS & EQUIPMENT - COMPLETE (105/105) + +### **Weapons (30/30)** ✅ +- sword_basic, greatsword, katana, rapier +- axe, battle_axe, club, mace, flail +- sledgehammer, baseball_bat, crowbar, frying_pan, golf_club +- spear, staff, whip +- dagger, throwing_knife +- bow, crossbow +- pistol, revolver, rifle, shotgun +- chainsaw, machete, nailbat, pipe +- grenade, molotov + +### **Armor (20/20)** ✅ +- helmet_leather, helmet_iron, helmet_steel, helmet_gold +- chestplate_leather, chestplate_iron, chestplate_steel, chestplate_gold +- leggings_leather, leggings_iron, leggings_steel, leggings_gold +- boots_leather, boots_iron, boots_steel, boots_gold +- shield_wood, shield_iron, shield_steel, shield_gold + +### **Consumables (25/25)** ✅ +- health_potion, mana_potion, stamina_potion +- water_bottle, milk, coffee, soda_can, energy_drink +- bread, cheese, egg, cooked_meat +- apple, berries, mushroom +- sandwich, burger, pizza_slice, soup +- cake_slice, candy, chocolate_bar, honey + +### **Crafting Materials (30/30)** ✅ +- wood_log, wood_plank, stone, iron_ore, iron_bar +- coal, cloth, leather, rope +- nails, screws, wire, circuit_board, battery +- duct_tape, glue, spring, gear, chain +- pipe, glass_shards, rubber, plastic +- bone, feather, gunpowder, sulfur, crystal +- herbs, scrap_metal + +--- + +## 🔄 CATEGORY 3: DINO VALLEY BIOME - IN PROGRESS (58/109) + +### **Vegetation (15/15)** ✅ STYLE 30 +- fern_large, fern_small +- mushroom_red_giant, mushroom_brown +- cycad_palm, cycad_tree +- moss_green, moss_glow +- horsetail, ginkgo_leaves +- cattail_giant, grass_prehistoric +- tree_fern, dead_tree +- volcanic_rock_plant + +### **Dinosaurs (12/12)** ✅ STYLE 33 +- trex, raptor, triceratops +- stegosaurus, brontosaurus, ankylosaurus +- pterodactyl, spinosaurus, dilophosaurus +- pachycephalosaurus, parasaurolophus, compsognathus + +### **Items (12/12)** ✅ STYLE 33 +- bone_small, bone_large +- hide, scales, tooth, claw, feather +- amber, volcanic_rock, tar, fossil, egg + +### **Food (16/16)** ✅ STYLE 33 +*Raw (7):* +- raw_trex_meat, raw_raptor_meat, raw_trike_meat +- raw_stego_meat, raw_bronto_meat, raw_ptero_meat +- dino_eggs_raw + +*Cooked (6):* +- cooked_trex_steak, cooked_raptor_fillet, cooked_trike_roast +- cooked_stego_ribs, cooked_bronto_meat, cooked_ptero_wings + +*Crafted (3):* +- dino_jerky, bone_broth, giant_berries + +### **Clothing/Armor (3/8)** 🔄 IN PROGRESS +✅ tribal_loincloth, tooth_necklace, feather_cape +❌ dino_hide_chest, dino_hide_legs, bone_helmet, scale_boots, leather_bracers + +### **Tools & Weapons (0/10)** ❌ PENDING +- bone_axe, stone_spear, dino_tooth_knife +- flint_pickaxe, bone_club, stone_hammer +- primitive_bow, obsidian_blade, bone_shovel, javelin + +### **Props (0/8)** ❌ PENDING +- skull_trex, skull_trike, ribcage +- nest_empty, nest_eggs, tar_pit +- volcanic_rocks, bones_scattered + +### **Buildings (0/4)** ❌ PENDING +- cave_entrance, primitive_hut, bone_fence, stone_altar + +### **Terrain (0/4)** ❌ PENDING +- dirt_volcanic, grass_prehistoric, rock_lava, mud + +### **Special Creatures (0/10)** ❌ PENDING +- baby_trex (baby) +- alpha_trex, thunder_raptor (bosses) +- dino_nest_eggs (special) +- zombie_prehistoric, zombie_dino_raptor, zombie_bone, zombie_tar (zombies) +- npc_tribal_hunter, npc_shaman (NPCs) + +--- + +## ❌ CATEGORY 4: BIOMES - NOT STARTED (0/~1,700) + +### **Mythical Highlands (~95 assets)** +- Vegetation, Creatures, Items, Food, Clothing, Tools, Props, Buildings, Terrain + +### **Atlantis Ruins (~75 assets)** +- Underwater vegetation, Sea creatures, Nautical items, Buildings + +### **Egyptian Desert (~70 assets)** +- Desert vegetation, Egyptian creatures, Artifacts, Pyramids + +### **Chernobyl Zone (~65 assets)** +- Mutated plants, Radiation creatures, Soviet items, Ruins + +### **Mushroom Forest (~60 assets)** +- Giant mushrooms, Fungal creatures, Spores, Structures + +### **Arctic Zone (~55 assets)** +- Snow plants, Arctic animals, Ice structures, Igloos + +### **Endless Forest (~85 assets)** +- Ancient trees, Forest creatures, Druidic items, Tree villages + +### **+ 11 more biomes** (~1,200 assets) +- Volcanic Island, Haunted Swamp, Crystal Caves, etc. + +--- + +## ❌ CATEGORY 5: ENEMIES & CREATURES (0/~500) + +### **Zombies (0/50+)** +- Basic zombies, Runners, Tanks, Special variants + +### **Wild Animals (0/50+)** +- Bears, wolves, boars, snakes, spiders + +### **Magical Beings (0/50+)** +- Elementals, spirits, demons, angels + +### **Bosses (0/20+)** +- Biome bosses, World bosses, Secret bosses + +### **Biome-specific Creatures (0/330+)** +- Unique creatures per biome + +--- + +## ❌ CATEGORY 6: NPCS & CHARACTERS (0/~150) + +### **Main Characters (0/4)** +- Kai, Ana, Gronk, Susi (full sprite sets) + +### **Merchants (0/30)** +- Blacksmith, Shopkeeper, Trader, etc. + +### **Services (0/30)** +- Doctor, Mechanic, Farmer, Builder, etc. + +### **Mentors (0/30)** +- Combat trainer, Magic teacher, Craftsman, etc. + +### **Romance Options (0/20)** +- Various NPCs with relationship mechanics + +### **Quest Givers (0/20)** +- Story NPCs, side quest givers + +### **Background NPCs (0/16)** +- Townspeople, travelers, guards + +--- + +## ❌ CATEGORY 7: BUILDINGS & STRUCTURES (0/~500) + +### **Town Buildings (0/100)** +- Shops, houses, town hall, etc. + +### **Special Buildings (0/100)** +- Churches, hospitals, schools, factories + +### **Biome Structures (0/300)** +- Ruins, temples, caves, dungeons per biome + +--- + +## ❌ CATEGORY 8: UI & EFFECTS (0/~300) + +### **UI Icons (0/150)** +- Inventory slots, status icons, skill icons + +### **Particles (0/100)** +- Dust, sparkles, smoke, fire, water splashes + +### **VFX (0/50)** +- Magic effects, explosions, impacts, auras + +--- + +## ❌ CATEGORY 9: ANIMATIONS & SPRITESHEETS (0/~8,000) + +### **Character Animations (0/~2,000)** +- Walk cycles (4-8 frames × 150 characters) +- Run cycles +- Attack animations +- Idle animations + +### **Enemy Animations (0/~2,000)** +- Movement +- Attacks +- Death animations + +### **Effect Animations (0/~4,000)** +- Spell effects +- Environmental effects +- Combat effects + +--- + +## ❌ CATEGORY 10: VARIATIONS & UPGRADES (0/~2,000) + +### **Tool Upgrades (0/60)** +- Copper, Iron, Gold, Diamond versions of tools + +### **Building Levels (0/100)** +- Level 1, 2, 3 variants + +### **Seasonal Variants (0/400)** +- Spring, Summer, Fall, Winter versions of crops + +### **Item Variations (0/1,440)** +- Color variants, damage states, enchanted versions + +--- + +## 📊 OVERALL SUMMARY: + +| Category | Done | Remaining | Total | % | +|----------|------|-----------|-------|---| +| **Farm Crops** | 103 | 0 | 103 | 100% | +| **Farm Buildings** | 55 | 0 | 55 | 100% | +| **Items & Equipment** | 105 | 0 | 105 | 100% | +| **Dino Valley** | 58 | 51 | 109 | 53% | +| **Other Biomes** | 0 | ~1,700 | ~1,700 | 0% | +| **Enemies** | 0 | ~500 | ~500 | 0% | +| **NPCs** | 0 | ~150 | ~150 | 0% | +| **Buildings** | 0 | ~500 | ~500 | 0% | +| **UI & Effects** | 0 | ~300 | ~300 | 0% | +| **Animations** | 0 | ~8,000 | ~8,000 | 0% | +| **Variations** | 0 | ~2,000 | ~2,000 | 0% | +| **TOTAL** | **218** | **~13,201** | **~13,419** | **1.62%** | + +--- + +## 🎯 IMMEDIATE NEXT STEPS: + +### **Tonight/Tomorrow:** +1. Finish Dino Valley (51 assets) +2. Start high-priority biomes (Mythical Highlands, Atlantis) +3. Generate core NPCs (Kai, Ana, Gronk, Susi) + +### **This Week:** +4. Complete 3-5 major biomes +5. Generate all enemies & bosses +6. Create essential NPCs + +### **This Month:** +7. All biomes complete +8. All characters & NPCs +9. All items & equipment variations +10. Start animations + +--- + +## 💰 BUDGET ALLOCATION: + +**Available:** €1,117.62 + +**Priority Spending:** +1. **Core Gameplay (€400)** - 1,000 slik + - Finish Dino Valley + - Main characters (Kai, Ana, Gronk, Susi) + - Core enemies (zombies, animals) + +2. **Essential Biomes (€600)** - 1,500 slik + - 5 major biomes complete + - All vegetation, creatures, items + +3. **Reserve (€117)** - 300 slik + - UI elements + - Emergency fixes + - Polish items + +**Total:** 2,800 slik = **PLAYABLE GAME** ✅ + +--- + +**Last Updated:** 03.01.2026, 00:08 CET +**Next Update:** When Dino Valley complete diff --git a/OVERNIGHT_AUTO_NAVODILA.md b/OVERNIGHT_AUTO_NAVODILA.md new file mode 100644 index 000000000..f121c6c6d --- /dev/null +++ b/OVERNIGHT_AUTO_NAVODILA.md @@ -0,0 +1,71 @@ +# 🌙 OVERNIGHT AUTOMATION - NAVODILA + +## 🚀 KAJ BO SCRIPT POČEL: + +1. **Počaka na quota reset** (01:40 CET) +2. **Avtomatsko generira** preostale Dino Valley assets (8 slik) +3. **Shrani vse** v pravilne folderje +4. **Git commit** na vsakih 5 slik (checkpointing) +5. **Logira** vse v `auto_generation_log.txt` + +--- + +## 📋 KAKO ZAGNATI: + +### **NAČIN 1: Foreground (vidiš output)** + +```bash +cd /Users/davidkotnik/repos/novafarma +python3 scripts/auto_generate_overnight.py +``` + +**Pusti terminal odprt!** Ne zapri, drugače se script ustavi. + +--- + +### **NAČIN 2: Background (lahko zapneš terminal)** + +```bash +cd /Users/davidkotnik/repos/novafarma +nohup python3 scripts/auto_generate_overnight.py > overnight.log 2>&1 & +``` + +**To lahko zapneš terminal**, script bo tekel v ozadju! + +Za preverjanje statusa: + +```bash +# Poglej log +tail -f /Users/davidkotnik/repos/novafarma/auto_generation_log.txt + +# Ali +tail -f /Users/davidkotnik/repos/novafarma/overnight.log +``` + +--- + +## ⏰ TIMELINE: + +**00:24** - Začetek (sedaj) +**01:40** - Quota reset → script začne generirat +**01:50** - 8 slik done → Dino Valley COMPLETE ✅ +**01:55** - Git commit, done! + +--- + +## 📊 ŠE DOBIMO: + +- **8 slik** (Dino Valley dokončano) +- **€3.20** strošek (8 × €0.40) +- **Kredit po tem:** ~€1,011 + +--- + +## ✅ READY TO RUN! + +**Izberi:** + +1. **Foreground** - Vidiš output, moraš terminal pustit odprt +2. **Background** - Lahko greš spat, zjutraj vse done + +**Tvoja izbira?** 😴🚀 diff --git a/assets/slike/biomes/dino_valley/buildings/bone_fence.png b/assets/slike/biomes/dino_valley/buildings/bone_fence.png new file mode 100644 index 000000000..3142efd09 Binary files /dev/null and b/assets/slike/biomes/dino_valley/buildings/bone_fence.png differ diff --git a/assets/slike/biomes/dino_valley/buildings/cave_entrance.png b/assets/slike/biomes/dino_valley/buildings/cave_entrance.png new file mode 100644 index 000000000..c4a515337 Binary files /dev/null and b/assets/slike/biomes/dino_valley/buildings/cave_entrance.png differ diff --git a/assets/slike/biomes/dino_valley/buildings/primitive_hut.png b/assets/slike/biomes/dino_valley/buildings/primitive_hut.png new file mode 100644 index 000000000..e7e75246a Binary files /dev/null and b/assets/slike/biomes/dino_valley/buildings/primitive_hut.png differ diff --git a/assets/slike/biomes/dino_valley/buildings/stone_altar.png b/assets/slike/biomes/dino_valley/buildings/stone_altar.png new file mode 100644 index 000000000..c88c930ba Binary files /dev/null and b/assets/slike/biomes/dino_valley/buildings/stone_altar.png differ diff --git a/assets/slike/biomes/dino_valley/clothing/bone_helmet.png b/assets/slike/biomes/dino_valley/clothing/bone_helmet.png new file mode 100644 index 000000000..8ff20b140 Binary files /dev/null and b/assets/slike/biomes/dino_valley/clothing/bone_helmet.png differ diff --git a/assets/slike/biomes/dino_valley/clothing/feather_cape.png b/assets/slike/biomes/dino_valley/clothing/feather_cape.png new file mode 100644 index 000000000..1568a3c5e Binary files /dev/null and b/assets/slike/biomes/dino_valley/clothing/feather_cape.png differ diff --git a/assets/slike/biomes/dino_valley/clothing/hide_chest.png b/assets/slike/biomes/dino_valley/clothing/hide_chest.png new file mode 100644 index 000000000..b3dfc9433 Binary files /dev/null and b/assets/slike/biomes/dino_valley/clothing/hide_chest.png differ diff --git a/assets/slike/biomes/dino_valley/clothing/hide_legs.png b/assets/slike/biomes/dino_valley/clothing/hide_legs.png new file mode 100644 index 000000000..9c2b320c8 Binary files /dev/null and b/assets/slike/biomes/dino_valley/clothing/hide_legs.png differ diff --git a/assets/slike/biomes/dino_valley/clothing/leather_bracers.png b/assets/slike/biomes/dino_valley/clothing/leather_bracers.png new file mode 100644 index 000000000..8ab7657c2 Binary files /dev/null and b/assets/slike/biomes/dino_valley/clothing/leather_bracers.png differ diff --git a/assets/slike/biomes/dino_valley/clothing/scale_boots.png b/assets/slike/biomes/dino_valley/clothing/scale_boots.png new file mode 100644 index 000000000..834c7bb62 Binary files /dev/null and b/assets/slike/biomes/dino_valley/clothing/scale_boots.png differ diff --git a/assets/slike/biomes/dino_valley/clothing/tooth_necklace.png b/assets/slike/biomes/dino_valley/clothing/tooth_necklace.png new file mode 100644 index 000000000..71b97a210 Binary files /dev/null and b/assets/slike/biomes/dino_valley/clothing/tooth_necklace.png differ diff --git a/assets/slike/biomes/dino_valley/clothing/tribal_loincloth.png b/assets/slike/biomes/dino_valley/clothing/tribal_loincloth.png new file mode 100644 index 000000000..38253255e Binary files /dev/null and b/assets/slike/biomes/dino_valley/clothing/tribal_loincloth.png differ diff --git a/assets/slike/biomes/dino_valley/creatures/baby_trex.png b/assets/slike/biomes/dino_valley/creatures/baby_trex.png new file mode 100644 index 000000000..d1cbd59ad Binary files /dev/null and b/assets/slike/biomes/dino_valley/creatures/baby_trex.png differ diff --git a/assets/slike/biomes/dino_valley/creatures/boss_alpha_trex.png b/assets/slike/biomes/dino_valley/creatures/boss_alpha_trex.png new file mode 100644 index 000000000..c06268cb9 Binary files /dev/null and b/assets/slike/biomes/dino_valley/creatures/boss_alpha_trex.png differ diff --git a/assets/slike/biomes/dino_valley/props/bones_scattered.png b/assets/slike/biomes/dino_valley/props/bones_scattered.png new file mode 100644 index 000000000..bd23243ca Binary files /dev/null and b/assets/slike/biomes/dino_valley/props/bones_scattered.png differ diff --git a/assets/slike/biomes/dino_valley/props/nest_eggs.png b/assets/slike/biomes/dino_valley/props/nest_eggs.png new file mode 100644 index 000000000..48f0c6d11 Binary files /dev/null and b/assets/slike/biomes/dino_valley/props/nest_eggs.png differ diff --git a/assets/slike/biomes/dino_valley/props/nest_empty.png b/assets/slike/biomes/dino_valley/props/nest_empty.png new file mode 100644 index 000000000..5b43b10dd Binary files /dev/null and b/assets/slike/biomes/dino_valley/props/nest_empty.png differ diff --git a/assets/slike/biomes/dino_valley/props/ribcage.png b/assets/slike/biomes/dino_valley/props/ribcage.png new file mode 100644 index 000000000..f9a4e456d Binary files /dev/null and b/assets/slike/biomes/dino_valley/props/ribcage.png differ diff --git a/assets/slike/biomes/dino_valley/props/skull_trex.png b/assets/slike/biomes/dino_valley/props/skull_trex.png new file mode 100644 index 000000000..1a9c52c03 Binary files /dev/null and b/assets/slike/biomes/dino_valley/props/skull_trex.png differ diff --git a/assets/slike/biomes/dino_valley/props/skull_trike.png b/assets/slike/biomes/dino_valley/props/skull_trike.png new file mode 100644 index 000000000..bb4cf34ac Binary files /dev/null and b/assets/slike/biomes/dino_valley/props/skull_trike.png differ diff --git a/assets/slike/biomes/dino_valley/props/tar_pit.png b/assets/slike/biomes/dino_valley/props/tar_pit.png new file mode 100644 index 000000000..34278e9e6 Binary files /dev/null and b/assets/slike/biomes/dino_valley/props/tar_pit.png differ diff --git a/assets/slike/biomes/dino_valley/props/volcanic_rocks.png b/assets/slike/biomes/dino_valley/props/volcanic_rocks.png new file mode 100644 index 000000000..3d964f53f Binary files /dev/null and b/assets/slike/biomes/dino_valley/props/volcanic_rocks.png differ diff --git a/assets/slike/biomes/dino_valley/terrain/dirt_volcanic.png b/assets/slike/biomes/dino_valley/terrain/dirt_volcanic.png new file mode 100644 index 000000000..2bd885c7d Binary files /dev/null and b/assets/slike/biomes/dino_valley/terrain/dirt_volcanic.png differ diff --git a/assets/slike/biomes/dino_valley/terrain/grass_prehistoric.png b/assets/slike/biomes/dino_valley/terrain/grass_prehistoric.png new file mode 100644 index 000000000..626bc18a8 Binary files /dev/null and b/assets/slike/biomes/dino_valley/terrain/grass_prehistoric.png differ diff --git a/assets/slike/biomes/dino_valley/terrain/mud.png b/assets/slike/biomes/dino_valley/terrain/mud.png new file mode 100644 index 000000000..f79b54a9c Binary files /dev/null and b/assets/slike/biomes/dino_valley/terrain/mud.png differ diff --git a/assets/slike/biomes/dino_valley/terrain/rock_lava.png b/assets/slike/biomes/dino_valley/terrain/rock_lava.png new file mode 100644 index 000000000..523bae8e5 Binary files /dev/null and b/assets/slike/biomes/dino_valley/terrain/rock_lava.png differ diff --git a/assets/slike/biomes/dino_valley/tools/bone_axe.png b/assets/slike/biomes/dino_valley/tools/bone_axe.png new file mode 100644 index 000000000..ba05413e5 Binary files /dev/null and b/assets/slike/biomes/dino_valley/tools/bone_axe.png differ diff --git a/assets/slike/biomes/dino_valley/tools/bone_club.png b/assets/slike/biomes/dino_valley/tools/bone_club.png new file mode 100644 index 000000000..dc1a841bd Binary files /dev/null and b/assets/slike/biomes/dino_valley/tools/bone_club.png differ diff --git a/assets/slike/biomes/dino_valley/tools/bone_shovel.png b/assets/slike/biomes/dino_valley/tools/bone_shovel.png new file mode 100644 index 000000000..514728be0 Binary files /dev/null and b/assets/slike/biomes/dino_valley/tools/bone_shovel.png differ diff --git a/assets/slike/biomes/dino_valley/tools/dino_tooth_knife.png b/assets/slike/biomes/dino_valley/tools/dino_tooth_knife.png new file mode 100644 index 000000000..6799adceb Binary files /dev/null and b/assets/slike/biomes/dino_valley/tools/dino_tooth_knife.png differ diff --git a/assets/slike/biomes/dino_valley/tools/flint_pickaxe.png b/assets/slike/biomes/dino_valley/tools/flint_pickaxe.png new file mode 100644 index 000000000..444bdb23b Binary files /dev/null and b/assets/slike/biomes/dino_valley/tools/flint_pickaxe.png differ diff --git a/assets/slike/biomes/dino_valley/tools/javelin.png b/assets/slike/biomes/dino_valley/tools/javelin.png new file mode 100644 index 000000000..46cc246d0 Binary files /dev/null and b/assets/slike/biomes/dino_valley/tools/javelin.png differ diff --git a/assets/slike/biomes/dino_valley/tools/obsidian_blade.png b/assets/slike/biomes/dino_valley/tools/obsidian_blade.png new file mode 100644 index 000000000..ce0045f98 Binary files /dev/null and b/assets/slike/biomes/dino_valley/tools/obsidian_blade.png differ diff --git a/assets/slike/biomes/dino_valley/tools/primitive_bow.png b/assets/slike/biomes/dino_valley/tools/primitive_bow.png new file mode 100644 index 000000000..e6f9a7c5d Binary files /dev/null and b/assets/slike/biomes/dino_valley/tools/primitive_bow.png differ diff --git a/assets/slike/biomes/dino_valley/tools/stone_hammer.png b/assets/slike/biomes/dino_valley/tools/stone_hammer.png new file mode 100644 index 000000000..21f4a8bd4 Binary files /dev/null and b/assets/slike/biomes/dino_valley/tools/stone_hammer.png differ diff --git a/assets/slike/biomes/dino_valley/tools/stone_spear.png b/assets/slike/biomes/dino_valley/tools/stone_spear.png new file mode 100644 index 000000000..6034d4caf Binary files /dev/null and b/assets/slike/biomes/dino_valley/tools/stone_spear.png differ diff --git a/scripts/auto_generate_overnight.py b/scripts/auto_generate_overnight.py new file mode 100644 index 000000000..73e04718f --- /dev/null +++ b/scripts/auto_generate_overnight.py @@ -0,0 +1,252 @@ +#!/usr/bin/env python3 +""" +OVERNIGHT AUTOMATION SCRIPT - Dino Valley & Beyond +Waits for quota reset, then automatically generates remaining assets +""" + +import os +import time +import json +import requests +from datetime import datetime, timedelta +from pathlib import Path +import base64 + +# ======================================== +# CONFIGURATION +# ======================================== + +PROJECT_ROOT = Path("/Users/davidkotnik/repos/novafarma") +ASSET_ROOT = PROJECT_ROOT / "assets/slike" +LOG_FILE = PROJECT_ROOT / "auto_generation_log.txt" + +# Vertex AI Configuration +PROJECT_ID = "gen-lang-client-0428644398" +LOCATION = "us-central1" +MODEL = "imagen-3.0-generate-001" + +# Quota reset time (from error message) +QUOTA_RESET_TIME = datetime.fromisoformat("2026-01-03T01:40:39+01:00") + +# Generation limits +MAX_IMAGES_PER_HOUR = 60 # Conservative (actual is 60/min) +BATCH_SIZE = 10 # Generate in batches for checkpointing +DELAY_BETWEEN_IMAGES = 1.2 # Seconds (safe rate limiting) + +# Style definitions +STYLE_33_ENTITIES = """exact same art style as reference. Very thick black outlines (4-5px), flat colors NO gradients, pastel colors with dark gothic accents, NO pupils (white eyes), cute-dark aesthetic, clean vector cartoon""" + +STYLE_30_VEGETATION = """exact Garden Story cozy art style. Soft rounded shapes, gentle pastel colors, NO thick outlines (thin 1-2px), watercolor-like soft shading, cute botanical illustration, clean cozy plant art""" + +# ======================================== +# REMAINING DINO VALLEY ASSETS (18) +# ======================================== + +DINO_VALLEY_REMAINING = { + "creatures": [ + { + "name": "boss_thunder_raptor", + "prompt": "Thunder Raptor boss in {STYLE}. Pastel purple/blue raptor with lightning patterns, large empty white eyes NO pupils, dark gothic electric accents. 3/4 angle. Chroma green background (#00FF00)." + }, + { + "name": "dino_nest_eggs_special", + "prompt": "Special glowing dinosaur nest in {STYLE}. Pastel brown nest with magical glowing eggs, dark gothic mystical aura. 3/4 angle. Chroma green background (#00FF00)." + }, + { + "name": "zombie_prehistoric", + "prompt": "Prehistoric zombie caveman in {STYLE}. Pastel green/gray decayed caveman, torn tribal clothes, large empty white eyes NO pupils, dark gothic rot. 3/4 angle. Chroma green background (#00FF00)." + }, + { + "name": "zombie_dino_raptor", + "prompt": "Zombie raptor dinosaur in {STYLE}. Pastel gray/green undead raptor with exposed bones, large empty white eyes NO pupils, dark gothic decay. 3/4 angle. Chroma green background (#00FF00)." + }, + { + "name": "zombie_bone", + "prompt": "Skeleton zombie in {STYLE}. White/cream animated skeleton warrior, large empty eye sockets, dark gothic cracks. 3/4 angle. Chroma green background (#00FF00)." + }, + { + "name": "zombie_tar", + "prompt": "Tar zombie in {STYLE}. Black sticky tar monster humanoid, glowing pastel orange eyes, dark gothic dripping texture. 3/4 angle. Chroma green background (#00FF00)." + }, + { + "name": "npc_tribal_hunter", + "prompt": "Tribal hunter NPC in {STYLE}. Pastel brown skinned caveman with bone spear, tribal tattoos, large empty white eyes NO pupils, dark gothic war paint, friendly stance. 3/4 angle. Chroma green background (#00FF00)." + }, + { + "name": "npc_shaman", + "prompt": "Tribal shaman NPC in {STYLE}. Elderly caveman with bone staff and feather headdress, pastel skin, large empty white eyes NO pupils, dark gothic mystical symbols, wise pose. 3/4 angle. Chroma green background (#00FF00)." + }, + ] +} + +# ======================================== +# UTILITY FUNCTIONS +# ======================================== + +def log(message): + """Log message to file and console""" + timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + log_msg = f"[{timestamp}] {message}" + print(log_msg) + with open(LOG_FILE, 'a') as f: + f.write(log_msg + "\n") + +def wait_for_quota_reset(): + """Wait until quota resets""" + now = datetime.now() + wait_seconds = (QUOTA_RESET_TIME - now).total_seconds() + + if wait_seconds > 0: + log(f"⏰ Waiting for quota reset at {QUOTA_RESET_TIME.strftime('%H:%M')}") + log(f" Sleeping for {int(wait_seconds/60)} minutes...") + time.sleep(wait_seconds + 10) # Add 10 sec buffer + log("✅ Quota should be reset now!") + else: + log("✅ Quota already reset!") + +def get_access_token(): + """Get Google Cloud access token""" + import subprocess + result = subprocess.run( + ['gcloud', 'auth', 'print-access-token'], + capture_output=True, + text=True + ) + return result.stdout.strip() + +def generate_image_vertex(prompt, output_path): + """Generate image using Vertex AI Imagen 3.0""" + + access_token = get_access_token() + + url = f"https://{LOCATION}-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL}:predict" + + headers = { + "Authorization": f"Bearer {access_token}", + "Content-Type": "application/json" + } + + payload = { + "instances": [ + { + "prompt": prompt + } + ], + "parameters": { + "sampleCount": 1, + "aspectRatio": "1:1", + "safetyFilterLevel": "block_few", + "personGeneration": "allow_all" + } + } + + try: + response = requests.post(url, headers=headers, json=payload, timeout=60) + response.raise_for_status() + + result = response.json() + + # Extract and save image + if "predictions" in result and len(result["predictions"]) > 0: + image_data = result["predictions"][0]["bytesBase64Encoded"] + image_bytes = base64.b64decode(image_data) + + # Save to file + output_path.parent.mkdir(parents=True, exist_ok=True) + with open(output_path, 'wb') as f: + f.write(image_bytes) + + log(f" ✅ Saved: {output_path.name}") + return True + else: + log(f" ❌ No image in response") + return False + + except requests.exceptions.HTTPError as e: + if e.response.status_code == 429: + log(f" ⚠️ Quota exhausted again, waiting 5 minutes...") + time.sleep(300) + return False + else: + log(f" ❌ HTTP Error: {e}") + return False + except Exception as e: + log(f" ❌ Error: {str(e)}") + return False + +def git_commit_checkpoint(message): + """Create git commit checkpoint""" + import subprocess + try: + subprocess.run(['git', 'add', '-A'], cwd=PROJECT_ROOT, check=True) + subprocess.run(['git', 'commit', '-m', message], cwd=PROJECT_ROOT, check=True) + log(f" 📦 Git commit: {message}") + except Exception as e: + log(f" ⚠️ Git commit failed: {e}") + +# ======================================== +# MAIN GENERATION LOGIC +# ======================================== + +def generate_dino_valley_remaining(): + """Generate remaining Dino Valley assets""" + + log("🦖 Starting Dino Valley completion...") + + total = len(DINO_VALLEY_REMAINING["creatures"]) + completed = 0 + + for asset in DINO_VALLEY_REMAINING["creatures"]: + name = asset["name"] + prompt_template = asset["prompt"] + + # Use Style 33 for entities + prompt = prompt_template.replace("{STYLE}", STYLE_33_ENTITIES) + + output_path = ASSET_ROOT / "biomes/dino_valley/creatures" / f"{name}.png" + + # Skip if already exists + if output_path.exists(): + log(f"⏭️ Skipping {name} (already exists)") + completed += 1 + continue + + log(f"🖼️ Generating {name} ({completed+1}/{total})") + + success = generate_image_vertex(prompt, output_path) + + if success: + completed += 1 + + # Checkpoint every 5 images + if completed % 5 == 0: + git_commit_checkpoint(f"🦖 Dino Valley auto: {completed}/{total} creatures") + + # Rate limiting + time.sleep(DELAY_BETWEEN_IMAGES) + + log(f"✅ Dino Valley complete! {completed}/{total} assets generated") + git_commit_checkpoint(f"🎉 DINO VALLEY COMPLETE - All {completed} creatures done!") + + return completed + +# ======================================== +# MAIN EXECUTION +# ======================================== + +if __name__ == "__main__": + log("="*60) + log("🚀 OVERNIGHT AUTOMATION STARTED") + log("="*60) + + # Wait for quota reset + wait_for_quota_reset() + + # Generate remaining Dino Valley + dino_count = generate_dino_valley_remaining() + + log("="*60) + log(f"✅ AUTOMATION COMPLETE!") + log(f"📊 Total generated: {dino_count} assets") + log(f"💰 Estimated cost: €{dino_count * 0.40:.2f}") + log("="*60) diff --git a/scripts/generate_all_biomes_complete.py b/scripts/generate_all_biomes_complete.py index 4109b3fef..490e894be 100644 --- a/scripts/generate_all_biomes_complete.py +++ b/scripts/generate_all_biomes_complete.py @@ -25,21 +25,10 @@ BIOME_ROOT = PROJECT_ROOT / "assets/slike/biomi" API_KEY = os.getenv("GEMINI_API_KEY") # Set this in environment API_URL = "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-pro-image:generateImage" -# Art styles - STRICT ENFORCEMENT (02.01.2026) -STYLE_32_ENTITIES = """exact Dark-Chibi Noir style with: -- Very thick black outlines (4-5px bold marker lines) -- Chibi proportions (head 40-50% of total body, large features) -- Flat colors ONLY, NO gradients, NO soft shading -- Sharp block shadows (black/dark purple on one side for noir effect) -- Large empty eyes (white or red, NO pupils, cult-like) -- Pastel-gothic color palette (soft colors + dark accents)""" +# Art styles - PROVEN FORMULA (Style 33 + Style 30) +STYLE_33_ENTITIES = """exact same art style as reference. Very thick black outlines (4-5px), flat colors NO gradients, pastel colors with dark gothic accents, NO pupils (white eyes), cute-dark aesthetic, clean vector cartoon""" -STYLE_30_VEGETATION = """exact Garden Story cozy botanical style with: -- Thin gentle outlines (1-2px) -- Soft watercolor-like shading (subtle gradients allowed) -- Rounded organic shapes, wholesome aesthetic -- Pastel-vibrant botanical colors -- Friendly, inviting, nature-focused look""" +STYLE_30_VEGETATION = """exact Garden Story cozy art style. Soft rounded shapes, gentle pastel colors, NO thick outlines (thin 1-2px), watercolor-like soft shading, cute botanical illustration, clean cozy plant art""" # ======================================== # BIOME DEFINITIONS @@ -122,7 +111,7 @@ def generate_asset_prompt(asset_name, asset_type, is_vegetation=False): if asset_type == "vegetacija" or is_vegetation: style_text = STYLE_30_VEGETATION else: - style_text = STYLE_32_ENTITIES + style_text = STYLE_33_ENTITIES # Format asset name to readable readable_name = asset_name.replace("_", " ").title()