# NovaFarma - Changelog ## Version 2.5.0 (2025-12-08) ### 🎮 Major Features #### **Elite Zombies** 👹 - Added Elite Zombie enemy type (dark red with glowing pink eyes) - 50 HP (2.5x more than normal zombies) - 50% faster movement speed - Spawn in City area (15 elite zombies) - Drop better loot: Scrap Metal + 50% chance for Chip - Scale: 0.2 (smaller but deadlier) #### **City Content** 🏙️ - **City Wall (Obzidje)**: 15x15 fortified city with stone walls - WALL_EDGE tiles on perimeter (solid collision) - Pavement interior with ruins - **Treasure Chests**: 3 chests in ruins with random loot (2-4 items) - Interact with 'E' key to open - Loot: scrap, chips, wood, stone, bones - **Zombie Spawners**: 2 dark portals in city - Visual: Dark stone with red glow - **5 Ruin Structures**: Scattered throughout city - **Arena**: Boss battle area at (75, 55) #### **Roads & Navigation** 🛣️ - **Gray Stone Roads**: Connecting Farm (20,20) and City (65,65) - Horizontal road from farm - Vertical road to city - L-shaped path - **Signposts**: 3 wooden navigation markers - Farm signpost: → (points to city) - City signpost: ← (points to farm) - Crossroads signpost: ⇅ (both directions) #### **Farm Starter Zone** 🌾 - **Cleared Farm Area**: 16x16 tiles at (20, 20) - All trees and rocks removed - Green grass terrain - **Starter Resources**: Treasure chest with initial items - **Fence Posts**: 4 corner markers for farm boundary #### **Seasonal System** 🌸☀️🍂❄️ - **4 Seasons**: Spring, Summer, Autumn, Winter - Each season lasts 7 in-game days - Visual overlays with season-specific colors - **Season Indicators**: Emoji icons in UI clock - 🌸 Spring (green tint) - ☀️ Summer (yellow tint) - 🍂 Autumn (orange tint) - ❄️ Winter (blue-white tint) ### 💥 Combat Polish #### **Visual Effects** - **White Flash**: Enemy flashes white → red when hit - **Knockback Effect**: Enemies get pushed back on impact - **Floating Damage Numbers**: Red numbers float up showing damage dealt - Font: Courier New, 16px, bold - Fades out while rising ### 🔒 Collision System #### **Tile Collision** - **Dynamic `solid` Property**: Each tile has `solid: boolean` - **setSolid(x, y, true/false)**: Runtime collision modification - **isSolid(x, y)**: Check if tile is solid - **Solid Tiles**: - water, MINE_WALL, WALL_EDGE, ORE_STONE, ORE_IRON, lava, void #### **Decoration Collision** - **Enhanced Pattern Matching**: Case-insensitive checks - **Blocked Objects**: - All trees (contains "tree" or "sapling") - All rocks (contains "rock" or "stone") - All signposts (contains "signpost" or "sign") - Structures: chest, spawner, ruin, arena, fence, house, gravestone, bush, hill ### ⚙️ Performance Optimizations #### **Rendering** - **60 FPS Target**: Explicit FPS configuration - **Pixel-Perfect Positioning**: `Math.round()` for player x/y - **Camera Lerp 0.1**: Smooth camera following - **NEAREST_NEIGHBOR Filtering**: Crisp pixel art (no blur) #### **Culling** - **Viewport Culling**: NPCs outside camera view aren't rendered - **Distance Culling**: NPCs far from player (>30-50 tiles) hidden - **AI Skip**: Invisible NPCs skip AI updates ### 🎨 New Assets - `elite_zombie.png` - Elite zombie sprite - `chest.png` - Treasure chest - `spawner.png` - Zombie spawner portal - `signpost_city.png` - City direction marker - `signpost_farm.png` - Farm direction marker - `signpost_both.png` - Crossroads marker - `city_wall.png` - City wall texture - `road_tile.png` - Road/pavement tile - `farm_zone.png` - Farm area overview ### 🐛 Bug Fixes - Fixed inconsistent tree/rock collision (some were passable) - Fixed merchant scale (now 0.2 vs 0.5 for player/zombies) - Improved decoration collision detection with case-insensitive matching ### 📝 Technical Changes - Added `initializeFarmWorld()` method in GameScene - Added `setSolid()` and `isSolid()` methods in TerrainSystem - Enhanced `placeStructure()` to support chest, spawner, signposts - Added season tracking in WeatherSystem - Improved NPC.takeDamage() with visual effects - Added WALL_EDGE terrain type --- ## Version 1.0.0 (Previous) - Initial release - Basic farm mechanics - Zombie combat - Day/night cycle - Save system