# 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)