popravki
This commit is contained in:
151
CHANGELOG.md
151
CHANGELOG.md
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user