4.2 KiB
4.2 KiB
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
solidProperty: Each tile hassolid: 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 spritechest.png- Treasure chestspawner.png- Zombie spawner portalsignpost_city.png- City direction markersignpost_farm.png- Farm direction markersignpost_both.png- Crossroads markercity_wall.png- City wall textureroad_tile.png- Road/pavement tilefarm_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()andisSolid()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