My momentum in working on the RPG game stalled out over the past month, mostly because I had gotten past some of the core mechanics and was getting more into the realm of real game design. Being able to put characters on a map and coding them to walk around or interact opened up a lot of opportunities. The book I've been working through shifts to UI and dialog boxes as its next big area, and I had a hard time motivating myself to work on menus when I didn't even know what kind of game I was trying to build.

All of that being said, I did wind up making a proof of concept for dialog / text boxes. In the process of incorporating basic UI elements into the game, I learned a lot about the megaui package which is the provided way of adding UIs to macroquad games like mine. I ran into the lack of font size customization and created my own fork to accomplish this, including PRs (here and here) back into the main package which probably won't get merged since they don't resolve how to dynamically scale certain UI elements with the font.

After finishing up this dialog POC, my attention has shifted toward building an actual game instead of just building out these core game components. Specifically, I'm starting to research and design a turb-based combat system. On one hand, the wide open world of combat design feels overwhelming enough to possibly stall my progress. On the other hand, this creative process is much more motivating to me than just building out menu and combat systems for a generic/unoriginal JRPG style game as the book had me do.

All of that being said, I hope to have some demos and playable iterations of the combat system available in a week or two. I also may invest the time to make the combat multiplayer-enabled to facilitate play testing with friends. I do realize that I could POC significantly faster by leaning into my past experience with traditional Javascript frontend apps, but I want to continue investing in Rust learning and so that will mean things taking a bit longer in the short term.

Latest build

Basic dialog