This commit is contained in:
2025-12-08 17:49:30 +01:00
parent 2c446abbbb
commit 3096490a0c
8 changed files with 905 additions and 179 deletions

View File

@@ -1,6 +1,6 @@
# CHANGELOG - NovaFarma Development
## [Session: 8.12.2025] - Phase 13 & Polish
## [Session: 8.12.2025] - Phase 13 & Polish COMPLETE
### ✅ IMPLEMENTIRANO
@@ -55,105 +55,196 @@
- `fadeOut(duration, callback)` / `fadeIn(duration)` - Transitions
- Particle texture generator: `particle_white` (8x8 white circle)
#### 🌍 **Localization System**
- **New System:** `LocalizationSystem.js`
- 5 Languages: Slovenščina, English, Deutsch, Italiano, 中文
- Translation key system: `i18n.t('ui.inventory')`
- Fallback to English if translation missing
- localStorage persistence
- ~100+ translation keys defined
#### 🎨 **Language Selector UI**
- **Main Menu (StoryScene):**
- 🌍 Globe button (bottom-right)
- Popup language menu
- Visual feedback on selection
- **In-Game Settings:**
- ⚙️ Settings button (top-right)
- Full settings panel
- Language switcher
- Volume controls (placeholder)
#### 🎯 **Main Menu Redesign**
- **Professional Menu Screen:**
- Large "NOVAFARMA" title
- 4 Buttons: NEW GAME, LOAD, SETTINGS, EXIT
- Dark theme with green neon borders
- Hover effects and animations
- Version info display
#### ⏱️ **Playtime Tracker System**
- **New System:** `PlaytimeTrackerSystem.js`
- Tracks: playtime, deaths, kills, harvests, plantings
- Distance traveled, money earned, items crafted, blocks placed
- Formatted display (hours/minutes/seconds)
- Auto-save every 10 seconds
- Persistent localStorage storage
#### 🏗️ **Building System Updates**
- Added `greenhouse` to buildingsData
- Cost: `{ glass: 20, wood: 15 }`
- Size: 2x2 grid placement
### 📁 FILES MODIFIED
#### 🌳 **Perennial Crops System**
- **New System:** `PerennialCropSystem.js`
- Apple Tree implementation
- Growth stages: Sapling → Young → Mature → Fruiting
- Seasonal harvesting (autumn only)
- Regrowth mechanic (30s cooldown)
- 5 apples per harvest
- Visual tint indicators
#### 🐴 **Mount System**
- **New System:** `MountSystem.js`
- Donkey mount (Speed: 200, 10 saddlebag slots)
- Horse mount (Speed: 300, 5 saddlebag slots)
- Mount/dismount mechanics
- Toggle with E key
- Interactive mount sprites
- Saddlebag inventory access
#### 🏆 **Steam Integration**
- **New System:** `SteamIntegrationSystem.js`
- 8 Achievement definitions
- Cloud Save support (Greenworks SDK)
- Fallback to localStorage
- Achievement unlock notifications
- Steam Overlay activation
- Mock mode for development
#### 🐄 **NPC Visual Updates**
- Set all new NPC scales to 0.2:
- Cow, Chicken, Troll, Elf, Villager, Mutant Cow
- AI sprite loading with fallback to procedural
- Fixed transparency rendering issues
### 📁 FILES MODIFIED & CREATED
**Created Files (8):**
```
src/
├── entities/
│ ├── NPC.js (+60 lines) - takeDamage(), die() methods
│ └── LootChest.js (+4 lines) - City loot tables
├── systems/
│ ├── WeatherSystem.js (+75 lines) - Temperature system, triggerDemoEnd()
│ ├── BuildingSystem.js (+1 line) - Greenhouse
│ └── VisualEffectsSystem.js (NEW, 130 lines) - Juice effects
├── scenes/
│ └── (UIScene.js will need showDemoEndScreen() method)
└── index.html (+1 line) - VisualEffectsSystem script tag
src/systems/VisualEffectsSystem.js (130 lines)
src/systems/PlaytimeTrackerSystem.js (135 lines)
src/systems/LocalizationSystem.js (165 lines)
src/systems/PerennialCropSystem.js (165 lines)
src/systems/MountSystem.js (180 lines)
src/systems/SteamIntegrationSystem.js (230 lines)
CHANGELOG.md (this file)
```
**Modified Files (12):**
```
src/entities/NPC.js - takeDamage(), scale updates
src/entities/LootChest.js - City loot tables
src/systems/WeatherSystem.js - Temperature system, demo mode
src/systems/BuildingSystem.js - Greenhouse
src/systems/CollectionSystem.js - Sound error fix
src/scenes/UIScene.js - Settings menu, language selector
src/scenes/StoryScene.js - Main menu redesign
src/scenes/PreloadScene.js - AI sprite loading toggle
index.html - New system script tags
TASKS.md - Progress tracking
```
### 🎯 TASKS COMPLETED
**Phase 8:**
**Phase 8: ✅ 100%**
- [x] City Content (Scrap metal, Chips)
- [x] Elite Zombies (already active)
- [x] Elite Zombies
- [x] Combat Polish (White flash, Knockback)
- [x] World Details (Roads, Signposts - already done)
- [x] World Details (Roads, Signposts)
**Phase 13:**
**Phase 13: ✅ 100%**
- [x] Weather System v2.0
- [x] Seasonal temperatures
- [x] Temperature damage logic
- [x] Greenhouse building
- [x] Glass crafting recipe
- [x] Glass crafting
- [x] Localization
- [x] 5 languages (SLO/EN/DE/IT/CN)
- [x] Language selector (menu + in-game)
- [x] Steam Integration
- [x] Achievements system
- [x] Cloud saves
- [x] Entities & Items
- [x] Playtime tracker
- [x] Donkey mount system
- [x] Apple tree (perennial crops)
**Phase 14:**
**Phase 14: ✅ 75%**
- [x] Demo Mode (3-day limit)
- [x] Visual Polish (VisualEffectsSystem)
- [x] Visual Polish (Effects system)
- [ ] UI Polish (Rustic theme) - Partially done
- [ ] Trailer Tools
### 🐛 KNOWN ISSUES
1. **NPC Sprite Transparency**
- AI-generated sprites show checkerboard pattern in some contexts
- Chrome/Electron rendering issue with PNG alpha channels
- Current workaround: Using AI sprites, considered low priority
2. **NPC.js Scaling**
- Had to revert scaling changes due to syntax errors
- Individual NPC scales work but need careful editing
- Current state: Reverted to last working Git version
### 📋 TODO NEXT SESSION
**Phase 13 - Remaining:**
- [ ] Localization (JSON translations, Language selector)
- [ ] Steam Integration (Achievements, Cloud Save)
- [ ] Additional Entities (Donkey, Apple Tree, Seasonal Crops)
- [ ] Bone Tools crafting
- [ ] Gems as rare drops
**Phase 14 - Remaining:**
- [ ] UI Polish (Rustic/Post-apo theme)
- [ ] Trailer Tools (Camera smooth movement)
**Phase 15:**
**Phase 15: 🔄 In Progress**
- [ ] Antigravity namespace refactor
- [ ] Final polish & optimization
- [x] Settings menu
- [x] Main menu redesign
### 🎨 VISUAL IMPROVEMENTS
### 🐛 KNOWN ISSUES & FIXES
- Combat feels more impactful (flash + knockback + damage numbers)
- Temperature survival adds strategic layer (equipment management)
- Greenhouse enables year-round farming
- Visual effects ready for integration (screenshake on explosions, etc.)
**Fixed:**
1. ✅ CollectionSystem sound error (`playSuccess is not a function`)
2. ✅ NPC scale inconsistencies
3. ✅ Settings menu visibility
4. ✅ Language selector UI/UX
**Known Issues:**
1. ⚠️ NPC AI sprite transparency (checkerboard pattern) - Low priority
2. ⚠️ Steam integration requires Greenworks SDK for production
### 📋 NEXT STEPS
**Immediate (Ready to Implement):**
1. **Integration Testing** - Test all new systems together
2. **UI Polish** - Rustic/Post-apo theme for remaining UI
3. **Trailer Tools** - Smooth camera movement scripting
4. **Save/Load System** - Integrate with Steam cloud saves
**Future Features:**
1. **Seasonal Crops** - Extend perennial system to wheat/corn
2. **More Mounts** - Implement horse properly
3. **Achievement Triggers** - Wire up gameplay events to Steam achievements
4. **Volume Controls** - Implement sound settings UI
### 💡 DESIGN DECISIONS
1. **Temperature Damage:**
- Chose 5-second intervals to avoid spam
- Different damage for cold (-5 HP) vs heat (-3 HP)
- Requires specific protective gear (encourages crafting)
1. **Localization Architecture:** Embedded translations vs external JSON files
- Chose embedded for simplicity and instant loading
- Can be externalized later if needed
2. **Demo Limit:**
- 3 days = ~15 minutes real-time (5min/day)
- Enough to experience core gameplay loop
- Hooks into WeatherSystem for clean trigger
2. **Mount System:** Inventory-based vs NPC-based
- Chose NPC-based for better world interaction
- Allows for mount status (health, stamina in future)
3. **Visual Effects as Separate System:**
- Modular approach for easy integration
- Can be called from any scene/entity
- Particle textures generated procedurally
3. **Steam Integration:** Mock vs Direct SDK
- Implemented mock system for development
- Easy to swap to real Greenworks when publishing
4. **Main Menu:** Scrolling intro vs Static menu
- Changed to static for better UX
- Intro can be triggered separately (cutscene)
---
**Session Duration:** ~2h 45min
**Lines of Code Added:** ~270
**Systems Enhanced:** 5
**New Systems Created:** 1
**Features Completed:** 12
**Session Duration:** ~3h 15min
**Lines of Code Added:** ~1200
**Systems Enhanced:** 8
**New Systems Created:** 6
**Features Completed:** 30+
**Phases Completed:** 1 (Phase 13)
**Production Readiness:** ✅ ALPHA READY
**Next Milestone:** Phase 13 completion (Localization + Entities)
**Next Milestone:** Phase 14 & 15 Polish → BETA RELEASE
**Target:** Q1 2026 Steam Early Access