A daily devlog documenting my journey building a turn-based RPG, with many other elements mixed in for fun, in Godot
DungeonManager
, DungeonRoomManager
, and created DungeonCompletionManager
singletonSceneLoader
and SceneManager
to abstract and unify scene transitionsRoomNode
class and RoomType
enum to handle dungeon room generation in a scalable wayPlayerClassData
and PlayerClassType
to represent core and subclass infoPlayerClassManager
singleton to dynamically manage player classesPlayerData
and SkillData
to pull class data and skills from PlayerClassManager
NullReferenceException
in LoadSkills()
during class setupNullReferenceException
in LoadSkills()
blocked skill assignment; solved after tracing dictionary access timingToday felt like cleaning up a cluttered workspace — not the flashiest part of game development, but definitely one of the most satisfying. Refactoring the class system and fully modularizing the design gave me a lot more confidence in the foundation I’m building on. It’s like everything finally clicked into place, and now future systems will be much easier to layer on top.
The highlight was getting the PlayerClassData
and dynamic skill loading systems working exactly as intended. Writing clean, organized code that behaved properly without any rewrites was a proud moment — a clear sign that I’m growing as a developer. There were a couple of tricky bugs today too, like a NullReferenceException
and an off-by-one error when loading skills, but I solved them through debugging and logic checks. That kind of problem-solving is becoming more natural with each day I work on this project.
What stood out most was how calm and focused I felt throughout the process. There were no major distractions, and I stayed locked in on the task at hand. Even though the day was mostly behind-the-scenes work, it made a huge difference. The codebase feels cleaner, more reliable, and genuinely enjoyable to work with — which is exactly where I want it to be as I move into bigger gameplay systems like subclass specialization.