125 lines
4.2 KiB
Markdown
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
|