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

125 lines
4.2 KiB
Markdown

# 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