Journal

Refactoring Exploration, Progression, and Battle Feedback

Posted by:

This week’s update is about several behind-the-scenes systems that connect exploration, battles, save files, and player feedback.

One area we worked on was the tunnel system. Tunnels allow the party to take shortcuts between connected tunnel entrances if they have the right party capability. We refactored that logic to better match the newer structure we’ve been using elsewhere: clearer party capability checks, localized interaction text, and cleaner separation between scene behavior and gameplay rules.

We also rebuilt several progression popups. The level-clear popup and chapter-clear popup now use cleaner controller, view-model, and text structures. That means the game can more reliably display things like the current location, dungeon tier, renown gained, and completed chapter name without relying on older global variables.

Related to that, chapter and dungeon completion logic has been moved into dedicated resolver/handler classes. Instead of the map scene directly deciding everything, the map now asks focused systems questions like: “Is this dungeon tier complete?” and “Is this chapter complete?” This makes progression rules easier to understand and safer to expand later.

We also fixed several battle feedback issues. Lore learning and stealing now show better preview information, including cases where an enemy has no lore or nothing to steal. Hit chance is now resolved more consistently so special actions like Steal and Learn Lore use the same action accuracy result as other battle effects instead of calculating hit chance separately.

Finally, we found and fixed a save-related issue. The game was supposed to autosave after scene transitions, including after returning from battle, but the transition system was still checking an older map-name field that no longer exists. We updated that logic to use the modern map context and GameMap data instead.

This is the kind of work that makes the game feel more reliable: clearer battle messages, safer progression tracking, better save behavior, and fewer hidden dependencies on outdated systems.