This month was busy, but not in a way that you’d see. Much like the end of January, this month began with a ton of documentation being written. I had documented everything (it still needs “copy”), except for our commands. Then, as I started implementing commands (I have a few great working examples in there), I thought… “I’m going to have to update this again, especially when I get into ‘text-based scripting’ instead of our visual scripting that has been the default for RPG Architect for the last four years…”
…and then I made a really crazy, stupid, insane decision. I started adding text-based scripting.
I started working on the 17th of February, and made my first release to general population on the 25th. It took eight days to add this, with the help of Claude. I’ve been constantly working back and forth — first to see if our “commands” could be turned into code. When that worked, I wanted to see if doing conditions (e.g. “if(character_in_party(0))”, etc) would be possible — and if we could chain together “interesting” operations in the form of boolean operations like you would natively in any C-style language (e.g. “if(character_in_party(0) || entity_direction(1))”), and then to support nesting it even further. Once those were confirmed to work, we needed to dial it back and then check out if we could make variable and switch assignment natural as well. Then, build a nice “editor” that works, allow seamless switching between a “written” view and a “visual” view. Compile ahead-of-time for engine usage. It gets complicated!
I’ll be honest — it has been riddled with bugs. Fix two things, break one other. I’m on the tail end of this right now, hopefully. The first release had some pretty atrocious things (variable assignment disappearing, comments disappearing) that were fundamentally broken. I’ve iterated over the entire codebase about 15-16 times at this point, refactoring, rebuilding, reworking. Claude ended up generating about 8,000-9,000 lines of code (estimated, based on the things I know it added, and averaging the amount of lines in each of the pieces that are serialized and taking an approximation).
I’ve been diligently working on other bugs too – so don’t worry about that! Before I had started working on scripting, I think I had resolved about 30 or so bugs.
The 1.0 projects (and documentation) are obviously on hold while I’ve been working on the text-based scripting. It’s going to be somewhat vital to those projects, since it’s my preferred method of scripting anyway. Documentation is as well. I’m still waiting on a few people to work on the “copy” for things.
So, the project overall looks a bit of a mess right now! And I apologize. That said, I expect that March will start really showing some polish.
My plans for March are to continue to resolve any issues with the text-based scripting, while trundling forward on documenting commands and including a text-based script version of the code in the examples. There are some bug reports that came in while I was working on scripting that need to be addressed (and will be when I feel that scripting is “stable enough”). There are a few feature requests that were added as well, which should get implemented.
That’s it for February! Onward and upward!
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!