face8023a4
- 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 ✅
2.3 KiB
2.3 KiB
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)