Project Updates - Aug 6, 2024
Back at it again! I'm hoping to get these devlogs up to at least once a month, if possible, assuming I can keep up this kind of pace with coding. Updates under the cut~
SWN GM Tool
When I decided to update my project list, I said I was moving my old SWN GM Tool down to a sort of backburner status. It felt a bit like the end of an era; the GM tool was my first real personal project that I had started after college and had been poking at it for the last ten years or so, so officially putting it on hold with a desire to come back to it one day was a little interesting.
Especially since I started working on it again that very same week.
I decided to start the whole project over, essentially, and use this as an opportunity to learn to use Godot more at the same time. Within a few days, I had made a simple Faction creation widget as well as a list of factions. In a week, I had a mechanism for saving that faction list to a file and loading it back up as well. All in a simple application made with Godot UI nodes!
I haven't touched the project again in a little over a month, now, but I'm feeling very good about returning and working more on it. Next steps are to make a Faction View scene that shows the stats and assets of the faction, and allows adding and removing assets. Once I feel like I have a good enough user experience for it - something that's not really my specialty - I'll probably upload it to itch.io with just the Faction and asset tracking. After that, I'd like to include a simple map and then a way to run the Faction Turn.
Libtcod Tutorials
Over a year after I received feedback from r/roguelikedev about my attempt at making a C++ tutorial for libtcod, I have begun making a concerted effort to continue working on the codebase again!
After the whole effort of getting a simple eventing system using double-dispatch in place, I took a pretty good break before returning. I decided to make sure the code was working on both Linux and Windows, and updated to the C++23 standard at the same time, which introduced some issues. At first I thought it was a problem with MSVC, but was able to replicate it with Clang as well. It turns out that the way I was doing virtual inheritance for the event handlers worked perfectly fine in C++20, but broke in C++23. Getting that figured out took a few days, but after that I confirmed it worked on GCC, Clang, and MSVC :D
Next I'm going to continue working on the actual tutorial code before I return to writing the tutorials for C++ again, to make sure that there's not more optimizations or architectural changes I'll want to do down the line that would be better to backport again.












