# โš™๏ธ KRVAVA ลฝETEV - TEHNIฤŒNA SPECIFIKACIJA **Verzija:** 1.0 **Datum:** 31.12.2025, 02:50 **Platform:** PC (Web-based) --- ## ๐ŸŽฎ 1. GAME ENGINE & TEHNOLOGIJA ### **Engine:** - **Phaser 3** (v3.60+) - JavaScript ES6+ - HTML5 Canvas rendering ### **Languages:** - **Frontend:** JavaScript (ES6+) - **Backend:** Python 3.10+ (scripts, automation) - **Data:** JSON (configuration, assets, maps) ### **Map Editor:** - **Tiled Map Editor** (.tmx format) - Tile size: **32ร—32 pixels** - Map layers: Terrain, Objects, Collision, Events --- ## ๐Ÿ“ 2. FOLDER STRUKTURA ``` /novafarma/ โ”œโ”€โ”€ assets/ โ”‚ โ””โ”€โ”€ slike/ # Slovenska struktura! โ”‚ โ”œโ”€โ”€ liki/ # Characters โ”‚ โ”‚ โ”œโ”€โ”€ kai/ # Kai animations โ”‚ โ”‚ โ”œโ”€โ”€ gronk/ โ”‚ โ”‚ โ”œโ”€โ”€ ana/ โ”‚ โ”‚ โ””โ”€โ”€ npcs/ โ”‚ โ”œโ”€โ”€ sovrazniki/ # Enemies โ”‚ โ”‚ โ”œโ”€โ”€ zombiji/ โ”‚ โ”‚ โ””โ”€โ”€ mutanti/ โ”‚ โ”œโ”€โ”€ biomi/ # Biomes/Terrain โ”‚ โ”‚ โ”œโ”€โ”€ 01_dolina_farm/ โ”‚ โ”‚ โ”œโ”€โ”€ 02_temni_gozd/ โ”‚ โ”‚ โ””โ”€โ”€ ... โ”‚ โ”œโ”€โ”€ zgradbe/ # Buildings โ”‚ โ”œโ”€โ”€ predmeti/ # Items โ”‚ โ”‚ โ”œโ”€โ”€ orodja/ โ”‚ โ”‚ โ”œโ”€โ”€ hrana/ โ”‚ โ”‚ โ””โ”€โ”€ semena/ โ”‚ โ”œโ”€โ”€ orozje/ # Weapons โ”‚ โ”‚ โ”œโ”€โ”€ hladno/ # Melee โ”‚ โ”‚ โ””โ”€โ”€ strelno/ # Ranged โ”‚ โ”œโ”€โ”€ rastline/ # Plants โ”‚ โ”‚ โ”œโ”€โ”€ posevki/ # Crops โ”‚ โ”‚ โ””โ”€โ”€ drevesa/ # Trees โ”‚ โ”œโ”€โ”€ ui/ # User Interface โ”‚ โ”œโ”€โ”€ efekti/ # VFX โ”‚ โ””โ”€โ”€ cutscene/ # Story scenes โ”‚ โ”œโ”€โ”€ scripts/ โ”‚ โ”œโ”€โ”€ master_asset_pipeline.py โ”‚ โ”œโ”€โ”€ batch_generation_manifest.py โ”‚ โ””โ”€โ”€ ... โ”‚ โ”œโ”€โ”€ docs/ โ”‚ โ”œโ”€โ”€ game_design/ โ”‚ โ”‚ โ””โ”€โ”€ GAME_BIBLE.md โ”‚ โ”œโ”€โ”€ KRVAVA_ZETEV_COMPLETE_STORY.md โ”‚ โ”œโ”€โ”€ MASTER_ASSET_RAZPREDELNICA.md โ”‚ โ””โ”€โ”€ ... โ”‚ โ””โ”€โ”€ game/ โ”œโ”€โ”€ index.html โ”œโ”€โ”€ main.js โ”œโ”€โ”€ scenes/ โ”œโ”€โ”€ entities/ โ””โ”€โ”€ systems/ ``` --- ## ๐Ÿ–ผ๏ธ 3. ASSET SPECIFICATIONS ### **Image Formats:** - **Format:** PNG (32-bit with alpha channel) - **Compression:** Optimized for web - **Naming:** `{category}_{name}_{style}_{version}.png` ### **Asset Sizes:** | TYPE | ORIGINAL | PREVIEW | SPRITE | USAGE | |------|----------|---------|--------|-------| | **Characters** | 1024ร—1024 | 256ร—256 | 32ร—32 | Player, NPCs | | **Enemies** | 1024ร—1024 | 256ร—256 | 32ร—32 | Zombies, Bosses | | **Buildings** | 1024ร—1024 | 256ร—256 | 64ร—96 | Structures | | **Terrain** | 1024ร—1024 | - | 32ร—32 | Tileable | | **Items** | 1024ร—1024 | 256ร—256 | 32ร—32 | Inventory | | **UI** | Variable | - | Actual size | Buttons, Icons | | **Cutscenes** | 1920ร—1080 | - | - | Widescreen | ### **Dual Art Style System:** | STYLE | NAME | DESCRIPTION | SUFFIX | |-------|------|-------------|--------| | **Style A** | Cartoon Vector | Bright, friendly, Stardew-like | `_stylea` | | **Style B** | Gritty Noir | Dark, hand-drawn, Don't Starve-like | `_styleb` | **Example:** `mec_lesen_stylea.png` vs `mec_lesen_styleb.png` --- ## ๐ŸŽจ 4. ART STYLE GUIDE ### **Style A - Cartoon Vector:** ``` - Bold black outlines (thick) - Flat colors, vibrant palette - Cute, stylized proportions - White background - Friendly, approachable ``` **Prompt Template:** ``` [Subject], fantasy farming game asset, bold cartoon vector art style with thick black outlines, flat colors, cute stylized design, centered on white background, game sprite ready, 1024x1024 ``` --- ### **Style B - Gritty Noir:** ``` - Bold black outlines (1.4ร— emphasis) - Desaturated, muted colors - High-contrast noir aesthetic - Black background - Dark, mature, post-apocalyptic ``` **Prompt Template:** ``` [Subject], gritty noir survival game asset, dark hand-drawn 2D stylized indie art style, bold black outlines, high-contrast desaturated palette, warped perspective, centered on black background, game sprite ready, 1024x1024 ``` --- ## ๐Ÿ—บ๏ธ 5. MAP SYSTEM (Tiled) ### **Tile Specifications:** - **Tile Size:** 32ร—32 pixels - **Grid:** Square grid - **Infinite:** Yes (procedural generation) ### **Map Layers:** | LAYER | Z-INDEX | PURPOSE | |-------|---------|---------| | **Background** | 0 | Sky, far terrain | | **Terrain** | 1 | Ground tiles | | **Decorations** | 2 | Grass, flowers | | **Collision** | 3 | Walls, obstacles | | **Objects** | 4 | Buildings, props | | **Characters** | 5 | NPCs, enemies | | **Player** | 6 | Kai (always on top) | | **Effects** | 7 | VFX, particles | | **UI** | 8 | HUD, menus | ### **Object Properties:** ```json { "name": "zombie_worker", "type": "enemy", "controllable": true, "hp": 40, "damage": 0, "tasks": ["dig", "plant", "harvest"] } ``` --- ## ๐ŸŽฎ 6. GAMEPLAY SYSTEMS ### **A) FARMING SYSTEM** **Farm Sizes:** - **8ร—8** (Start) - Micro farm, 1 tent - **16ร—16** (Week 1) - Small farm, shack - **32ร—32** (Week 2) - Medium farm, house - **64ร—64** (End Game) - Large farm, estate **Crop Growth:** ``` Stage 1: Seed (0 days) Stage 2: Sprout (1 day) Stage 3: Growing (2 days) Stage 4: Mature (3 days) Stage 5: Harvestable (4 days) ``` **Automation Tiers:** - Manual (watering can) - **Sprinkler 3ร—3** (covers 9 tiles) - **Sprinkler 5ร—5** (covers 25 tiles) - **Sprinkler 7ร—7** (covers 49 tiles) - **Full Auto** (entire farm) --- ### **B) ZOMBIE CONTROL SYSTEM** **Alpha Hybrid Powers:** ```javascript class ZombieController { maxZombies: level ร— 2, // Scales with player level commandRange: 500px, // Telepathic range tasks: ['dig', 'plant', 'harvest', 'guard', 'follow'], controlZombie(zombie) { if (this.canControl(zombie)) { zombie.faction = 'player'; zombie.ai = 'commanded'; } } } ``` **Zombie Features:** - Sleep in **Grobi** (Graves) โ†’ 2ร— stamina recovery - Lease to NPCs โ†’ passive income (50 coins/day) - Death โ†’ Decay into fertilizer (+10 soil quality) --- ### **C) COMBAT SYSTEM** **Stats:** ``` HP (Health Points): 100 base Stamina: 100 base Attack Damage: Weapon-dependent Defense: Armor-dependent Speed: 100 base (modifiable) ``` **Weapon Types:** | TYPE | RANGE | DAMAGE | SPEED | |------|-------|--------|-------| | **Melee** | 32px | High | Medium | | **Ranged** | 300px | Medium | Slow | | **Magic** | 200px | Variable | Medium | **Combat Mechanics:** - **Attack:** Click/Tap enemy - **Dodge Roll:** Spacebar (i-frames) - **Block:** Hold Shift (50% damage reduction) - **Critical Hit:** 10% chance, 2ร— damage --- ### **D) CRAFTING SYSTEM** **Workstations:** ```json { "campfire": { "recipes": ["bread", "cooked_meat"], "requirement": "fire" }, "furnace": { "recipes": ["iron_bar", "gold_bar"], "requirement": "coal" }, "mint": { "recipes": ["coin"], "requirement": "gold_bar" } } ``` **Recipe Example:** ```json { "bread": { "input": {"wheat": 3}, "output": {"bread": 1}, "time": 30, // seconds "workstation": "campfire" } } ``` --- ### **E) BUILDING RESTORATION** **Restoration Phases:** | PHASE | % COMPLETE | VISUAL | FUNCTIONAL | |-------|------------|--------|------------| | **Ruined** | 0% | Broken, debris | No | | **Foundation** | 25% | Base repaired | No | | **Walls** | 50% | Structure visible | No | | **Roof** | 75% | Almost complete | No | | **Complete** | 100% | Pristine | Yes! | **Material Requirements:** ```json { "gostilna_restoration": { "phase1": {"stone": 50, "wood": 30}, "phase2": {"stone": 100, "wood": 70, "iron": 10}, "phase3": {"wood": 100, "iron": 20, "nails": 50}, "phase4": {"wood": 50, "glass": 20} } } ``` --- ### **F) NPC SYSTEM** **NPC Spawn Logic:** ```javascript class Town { npcSlots: 6, // Max NPCs per town spawnConditions: { "trader": { building: "shop", level: 1 }, "blacksmith": { building: "smithy", level: 5 }, "healer": { building: "church", level: 3 } }, spawnNPC(type) { if (this.meetsCondition(type)) { this.npcs.push(new NPC(type)); } } } ``` **NPC Dialogue System:** ```json { "trader_greeting": [ "Hello, traveler!", "What can I get you?", "Looking for seeds?" ], "trader_quest": { "title": "First Trade", "description": "Buy 10 wheat seeds", "reward": 50 } } ``` --- ## ๐Ÿ“Š 7. DATA STRUCTURES ### **Player Data:** ```json { "name": "Kai Markoviฤ‡", "level": 1, "exp": 0, "hp": 100, "stamina": 100, "position": {"x": 400, "y": 300}, "inventory": [ {"item": "wooden_sword", "quantity": 1}, {"item": "wheat_seeds", "quantity": 10} ], "farm": { "size": "8x8", "crops": [], "animals": [] }, "quests": { "ana_clues_found": 0, "main_story": "act1_start" } } ``` --- ### **Enemy Data:** ```json { "basic_zombie": { "hp": 50, "damage": 5, "speed": 50, "ai": "chase_player", "loot": [ {"item": "rotten_flesh", "chance": 0.8}, {"item": "bone", "chance": 0.2} ] } } ``` --- ### **Building Data:** ```json { "tent": { "type": "housing", "size": {"width": 64, "height": 64}, "cost": {"wood": 0}, // Free (starter) "capacity": 1, // 1 player "upgradeTo": "shack" } } ``` --- ## โšก 8. PERFORMANCE OPTIMIZATION ### **Asset Loading:** - **Lazy Loading:** Load biome assets on-demand - **Sprite Atlases:** Combine small assets into atlases - **Compression:** Use TinyPNG for PNG optimization ### **Rendering:** - **Culling:** Only render visible tiles - **Object Pooling:** Reuse zombie/enemy instances - **Batch Rendering:** Group similar sprites ### **Target Performance:** - **FPS:** 60 (stable) - **Load Time:** < 5 seconds (initial) - **RAM Usage:** < 500MB --- ## ๐Ÿ”Š 9. AUDIO SYSTEM ### **Sound Categories:** | CATEGORY | FILES | FORMAT | |----------|-------|--------| | **Music** | Ambient tracks | MP3 (128kbps) | | **SFX** | Combat, farming | WAV (44.1kHz) | | **Voice** | NPC dialogue | MP3 (VibeVoice TTS) | ### **Volume Levels:** - Master: 100% - Music: 70% - SFX: 80% - Voice: 90% --- ## ๐Ÿ’พ 10. SAVE SYSTEM ### **Save Format:** JSON ### **Save Locations:** - **Browser:** LocalStorage - **Cloud:** Optional (future) ### **Auto-Save:** - Every 5 minutes - On major events (boss defeat, Ana clue found) - Before/after cutscenes ### **Save Data Structure:** ```json { "version": "1.0", "timestamp": "2025-12-31T02:50:00Z", "playtime": 1234, // seconds "player": { ... }, "world": { ... }, "quests": { ... } } ``` --- ## ๐ŸŒ 11. DEPLOYMENT ### **Development:** - Local server: `http://localhost:8000` - Hot reload: Enabled ### **Production:** - **Host:** GitHub Pages / Netlify - **CDN:** Cloudflare (assets) - **Domain:** TBD ### **Build Process:** ```bash 1. npm run lint # Code quality 2. npm run test # Unit tests 3. npm run build # Minify & bundle 4. npm run deploy # Upload to host ``` --- ## ๐Ÿ“ˆ 12. DEVELOPMENT MILESTONES ### **Phase 1: Kickstarter Demo** (Now - March 2025) - โœ… 400+ core assets - โœ… Playable 15-20 min demo - โœ… Trailer video ready ### **Phase 2: Alpha** (March - June 2025) - 1,500 assets - All 180 starter NPCs - 7 biomes playable ### **Phase 3: Beta** (June - Dec 2025) - 3,000 assets - All 18 biomes - Full story (4 endings) ### **Phase 4: Release** (Jan 2026) - Polish & bug fixes - Final balancing - Launch! ๐Ÿš€ --- ## โœ… TEHNIฤŒNA CHECKA **Engine:** โœ… Phaser 3 **Maps:** โœ… Tiled (.tmx) **Assets:** โœ… Slovenska struktura (`assets/slike/`) **Dual Style:** โœ… Style A + Style B **Target:** โœ… 3,000 slik **Performance:** โœ… 60 FPS target **Platform:** โœ… Web (PC primary) --- **ZAPISAL:** Antigravity AI **DATUM:** 31.12.2025, 02:55 **STATUS:** โœ… TEHNIฤŒNA SPEC KOMPLETNA!