March was a pretty significant month in terms of stability and updates. The big focus was altered at the last minute to be focused on getting the physics engine working just right. I was expecting it to take most of the month, but it ended up taking a week.
Physics was a fun one. I’d been debating moving to Jitter Physics 2, but it didn’t perform nearly as well as bepu, despite being friendlier/easier to use. A number of the problems were the exact same. However, working with it did get me more connected to what I needed to do, which was significantly helpful. I have nothing but good things to say about both bepu and Jitter — great developers on both.
After working thru the issues, I was able to delve into about 5-6 different edge cases and solve all of them for our current physics problems. No more “sticking” to walls, flying off slopes, bouncing between tiles, and so forth. The added processing was already there before — but now it’s more efficient and cleaner. As such, the physics actually runs faster than it had prior. This is good news overall.
There’s also a Slider user interface element now. These are controllable and allow you to change/toggle things up and down (or left and right). This is a staple in user interface design, since folks will want to do things like be able to configure volume, change brightness (we don’t have that setting – yet), adjust shop items that you want to buy or sell, and so forth.
Outside of that, I discovered a bug in FNA, which has introduced some fun issues and ramifications as a result of last-month’s changes with Action Sequences. The default implementation/driver (D3D) that RPGA uses doesn’t properly clean up buffers when rendering and forwarding data to the Editor. So, running an Action Sequence could instantly (at 1080p) add 8MB per frame rendered in your memory, without cleaning up. Add that up… and some users were getting 500MB jumps at a time. Yikes!
The fix was relatively easy — I forced everything (in the Editor) to render in OpenGL — and thus the memory leak disappeared. In the process, however, I managed to find a number of other (smaller) memory leaks and addressed those, resulting in more memory freed.
There were a number of commands added — “Code Block” which allows you to put scripts inside and then disable them with a comment (very useful if you’re testing something). “Display All Messages” which allows you to instantly make any/all messages showing pop up instantly (very useful if you’re testing and/or want to fast-forward thru text). “Set User Interface Context” had an addition to specify a “child context,” which allows you to take a current context (e.g. a hero), and then get something underneath it (e.g. a skill) via a command, rather than a user interface element. “Change Tileset Image” which allows you to switch out the images used in your current tileset by slot or overall tileset (it doesn’t change anything except the images/textures used).
Scripts can now pop out of their windows and into another window for added usability.
There were multiple other bugs fixed — roughly 60. I’d list them all, but I’d rather be coding. I’m sure Bert can make another cute video scrolling thru and reading, uh-huh-ing the different patch notes from this month. I’ll leave that up to him.
There have been some updates/progress on the 2D Template — so you can start a project and run with it. Here’s some footage that Matt and Jason have been working on this month! Multiple menus and systems have been setup and are ready to go to make a Dragon Quest/lo-bit style game. It will be relatively easy to change out the details on these and work in your own resources to skin it, or start adjusting individual details to make your own style. With RPG Architect, you are in control of what you make.
April is going to be an interesting month — I haven’t quite figured out what I’m going to do in particular, yet. There are a number of things that need some attention, such as weather effects (which were conveniently left out this month), working on tile-based movement, improving pathfinding a little bit more, and so forth. There are a number of usability enhancements that would probably be really helpful in Script Editor that should probably be gone after, and a myriad of feature requests in our Discord. Don’t worry, there’s plenty to do and more features that will need to be handled. You’ll find out next month!
I did make some progress in at least getting a blue screen showing up with Web Assembly (output to “HTML” or really just the web), but didn’t get much further, since a number of bugs were posted (and I wanted to finish everything I could to make our game jam users happy). There have been developments on the FNA front in regard to this, which is rather interesting. Someone seems to have formally picked up and started working on getting everything ported as necessary… so we may see a “better” implementation via FNA much sooner than expected. No promises, but I’m going to back off for a bit and see where it goes in the meanwhile. Last I saw, I think they were working on converting shaders to WebGL, which is even cooler.
That’s it for March!
As always:
Thank you so much for your support so far. I’m looking forward to building this community further and giving you the engine you may not have known you always wanted!