December went much better than planned, and I’m writing this just a few days before the end of the year to disclose where we’re at. I’m very confident that we are going to be ready for our Steam Early Access release to the greater public! We have been going thru more feedback loops, cleaning things up more and more, and I’m pretty happy with where we are at, presently.
Shops were fully implemented this month. Originally, I was just planning on implementing “buy an item or equipment with money,” but it evolved into “or a variable,” “or with some other items,” “or, you know, run a script if they buy it.” It is now completely possible to make a trading system that will take item components and give you a new item… or paying someone to heal the party or add a temporary status buff (eventually, when I expose the commands).
We also made some progress on… saving and loading! Game state can now be saved between gameplay sessions. The user interface options for it are a bit barebones while I figure out the best way to proceed forward with exposing enough of the information associated (without loading too much data as well) to it. However, I’m pleased to say that it works completely.
I’ve updated the sound effects that we’ve gotten from Bit by Bit Sound — we have over 150 sounds at this point, with more incoming. Speaking of audio-related updates, music now supports looping and configuring loops. If you have existing .ogg’s that handle other methods of looping (e.g. LOOPSTART and LOOPLENGTH) tags, these can be imported on your audio with the click of a button — otherwise it’ll restart itself at the end of the song if looping is turned on. There have been numerous other improvements in how the audio engine behaves and numerous bug fixes to sound effects.
In scripting, loops were added — there are two types — a fixed loop and a conditional loop. The fixed loop operates like a programmer’s inclusive “for” loop — you specify the start, end, and how much it increments. It automatically detects (based on start/end) what kind of comparison to do. The conditional loop operates like a programmer’s “while” loop — you specify a condition for it to validate, and then keep performing iterations in the loop until that condition is false. Performance-wise, I was able to iterate thru a conditional and fixed loop 100,000 times without suffering any frame loss. A “break” command was also added — it’ll break you out of a Conditional, Loop, or Scope (e.g. if you put a “break” in a shop script that needs to exit) early — everything after that command will be ignored until it gets to a “higher” level.
Leveling up is now a thing — battle rewards are implemented as well. A section has opened up in the Battle Configuration to handle a Victory script. You can leverage the battle rewards from this and display things in whatever format you like. Making a screen that shows character’s level up one level at a time (if they gain multiple levels) is possible, but will require a bit of nuance and scripting.
The above is just a quick proof of concept. Our actual templates and demos will hopefully look a little nicer.
Numerous fixes were made in-engine for rendering — there were some issues with how 2D rendered its layers, which was fixed. Some of the stuttering/random gaps in the tiles have also been fixed universally. Everything is looking cleaner and cleaner.
Our wiki is now at roughly 75% completion. Almost every item in the database is documented, as are most commands. Everything is appropriately linked in the editor back to the wiki as well. We also have several of Jason Martin’s LoBit resources included in circulation with our releases now — so you’ll have options when you make your own games.
December has been extremely productive. Huge shout out to Jason, Bert, Nathan — without your assistance, RPG Architect would not be in the state it is in. I’m grateful to have y’all giving feedback, time, and effort to really make this thing take off.
That’s all for December!
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!