Files
novafarma/CHANGELOG.md
2025-12-08 01:00:56 +01:00

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 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