Files
aether-chronicles/CHANGELOG.md
T
arch_agent face8023a4 v0.2.0 — M7: LLM Integration Frontend ↔ Backend
- api.js: API bridge to FastAPI backend
- Dynamic NPC dialogues via gemma4:12b (cached 30s)
- Periodic world event generation (every ~10s)
- Event validation (no soft-lock)
- Backend health check on startup
- Fallback to static dialogue if LLM offline
- Tested: events , dialogues 
2026-07-17 20:24:58 +02:00

53 lines
2.3 KiB
Markdown

# Changelog
## v0.1.0 — M1: Project Setup + Tilemap (2026-07-16)
### Added
- HTML5 Canvas game with isometric tilemap renderer
- Procedural tilemap for Eichenhafen (starting city)
- Tile types: grass, path, water, wall, sand, flowers, trees, buildings, bridge
- Camera system with smooth follow
- Player character with movement (click-to-move via A* pathfinding)
- Player stats: HP, SP, EXP, Level, STR, AGI, INT, VIT, DEX, LUK
- HP/SP/EXP bars UI overlay
- Skill bar (1-0 keys, visual only)
- Minimap with player position
- Event log with color-coded message types
- 3 NPCs: Händler Bruno (merchant), Meisterin Vera (class master), Wirtin Helga (innkeeper)
- 6 monster spawns (Junger Wolf) with aggro/chase/attack AI
- Combat: click enemy → auto-attack → damage numbers → EXP/gold gain
- Player death → respawn in Eichenhafen
- FastAPI backend with SQLite game state
- LLM bridge (Ollama) for dynamic events and NPC dialogue
- Event validation system (rejects events that block paths, move NPCs, etc.)
- Gitea repository: https://gitea.die-heimatlosen.eu/arch_agent/aether-chronicles
### Known Issues
- Skill bar has no functionality yet
- Inventory not implemented
- NPC dialogue is static (LLM not yet wired to frontend)
- Only one map (Eichenhafen)
## v0.2.0 — M7: LLM Integration Frontend ↔ Backend (2026-07-17)
### Added
- API bridge (`api.js`) connecting frontend to FastAPI backend
- Backend health check on startup — shows LLM model name in event log
- Dynamic NPC dialogues via Ollama (gemma4:12b)
- Each NPC gets unique dialogue based on personality, mood, and player class/level
- 30-second dialogue cache to reduce LLM calls
- Fallback to static dialogue if LLM unavailable
- Periodic world event generation (every ~10 seconds)
- LLM generates optional events (weather, discoveries, encounters)
- Events validated by backend (no soft-lock possible)
- Events displayed in event log with ✨ prefix and purple color
- NPC interaction now shows "LLM generating..." placeholder while waiting
### Changed
- NPC interaction is now async (waits for LLM response)
- Event log color coding: purple (llm), red (combat), green (quest), yellow (system)
### Tested
- Backend health endpoint: ✅
- Event generation: ✅ (gemma4:12b generates atmospheric events)
- NPC dialogue: ✅ (personalized, in-character responses)