This commit is contained in:
2025-12-08 01:00:56 +01:00
parent 7834aee111
commit 9c61c3b56d
20 changed files with 675 additions and 129 deletions

View File

@@ -1,49 +1,124 @@
# NovaFarma Changelog
# NovaFarma - Changelog
## [v0.6.0] - 2025-12-07 (Massive Update)
## Version 2.5.0 (2025-12-08)
### New Features 🚀
- **Boss Battles:**
- Added `Boss.js` entity (Zombie King) with unique stats and visuals.
- Implemented Boss Skills: `smashAttack` and `summonMinions`.
- Added Boss Spawning via debug key 'K' and special events.
- Added "Horde Warning" visual effect.
### 🎮 Major Features
- **Mobile & Touch Support 📱:**
- Implemented **Virtual Joystick** in `UIScene.js` for movement on touch devices.
- Added `user-scalable=no` to `index.html` for better mobile experience.
- Created `ANDROID_GUIDE.md` with instructions for building APKs via Capacitor.
#### **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)
- **Multiplayer (Local/LAN) 🌐:**
- Created `server.js` (Node.js + Socket.io) for backend.
- Created `MultiplayerSystem.js` for frontend synchronization.
- Implemented Player Position Sync (seeing other players move).
- Added Visual Indicators (Name tags, connection status).
#### **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)
- **Quest System Overhaul 📜:**
- Added **NPC Dialogue Interaction** ('E' key opens quest dialog).
- Added "Quest Givers" (Villager gives farming quests, Merchant gives defense quests).
- Improved UI with "Accept/Decline" popup.
- Added `interact()` method to NPCs.
#### **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)
- **World Generation & Structures 🌍:**
- Added **Special Arenas** generation in `TerrainSystem.js`.
- Added `placeStructure` method for spawning precrafted areas (Ruins, Arenas).
- Restored and optimized procedural vegetation (Trees, Rocks, Flowers).
#### **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
- **Export & Build 📦:**
- Configured `package.json` with `electron-builder` for creating Windows .exe.
- Added build scripts (`npm run build`).
#### **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)
### Fixes 🔧
- Fixed `InventorySystem` missing methods (`getItemCount`, `addGold`).
- Fixed `TerrainSystem` vegetation generation bug.
- Fixed `NPC` death logic and doubled code.
- Fixed `UIScene` duplicate calls.
### 💥 Combat Polish
### Technical 💻
- **New Files:** `Boss.js`, `MultiplayerSystem.js`, `server.js`, `ANDROID_GUIDE.md`, `CHANGELOG.md`.
- **Updated Systems:** `GameScene`, `TerrainSystem`, `QuestSystem`, `UIScene`, `NPC`.
#### **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
---
*Ready for Gameplay Testing & Distribution!*
## Version 1.0.0 (Previous)
- Initial release
- Basic farm mechanics
- Zombie combat
- Day/night cycle
- Save system