Way back in the summer of 2014 I began writing my first visual novel engine. Not VNgen, mind you, and not even Edge VN. This was a third, unreleased engine—and for good reason: it was a horrible, broken mess. You see, not only was this my first visual novel engine, but the first program I had ever written from scratch. I've come a long way in four years, leading my work to be praised by developers even with many more years of experience than I have. But while my coding practices may have changed, the ...

Update 33 - The End of the Beginning

I've spoken before about the importance of standardization in VNgen. It's so important, in fact, that multiple times I've discarded working solutions purely because they didn't conform well enough to established guidelines. A while back, one of these solutions involved using a shader to dim characters while they're not speaking—a method that was quickly replaced by blending in a transparent black rectangle instead. And yet, at the time, I said the effort to incorporate shaders into VNgen wasn't wasted, ...

Update 32 - Shader Business Revisited

VNgen's backlog was one of the first things written for the engine well over a year-and-a-half ago. While it might seem like putting the cart before the horse, the backlog was actually a convenient testing ground for some of the new concepts necessary to make VNgen a reality. But then that reality materialized, and the backlog was left the oldest feature, requiring more than one overhaul to keep it up to date. Nowadays, standardization is the name of the game. VNgen's codebase has been cut in half despite ...

Update 31 - Log and Let Log

It's hard to believe a third of a year has already passed since VNgen first released in Early Access. With the advent of GameMaker Studio 2 requiring some extra strategizing for the release of version 1.0, the EA period has definitely gone on longer than originally intended, but not unproductively. VNgen has grown by leaps and bounds both internally and externally such that its code is barely recognizable as the same product that shipped in late 2017. As the march towards 1.0 continues (and indeed is ...

Update 30 - All Things in Modification

As the saying goes, premature optimization is the root of all evil. On the other hand, this means there are some necessary evils in programming before optimization can happen. Up until recently, that's where VNgen has been, but now with 1.0 fast approaching it's my job to root out those evils. In other words, it's optimization time. But don't let that word conjure up false impressions of fanboy wars arguing over whether Game X is poorly-optimized or their platform of choice is just inferior. Optimization ...

Update 29 - Gotta Split!

VNgen is an unusual GameMaker product. As previously described, it breaks the linearity of Step cycles and re-implements many built-in functions to do more work faster. With 1.0 approaching, I'm forced to evaluate the state of each part of the engine and ensure it's working as desired and is consistent with other engine functions, which has often led to even further reworks of standard GameMaker conventions. Some of these have been significant enough to warrant spinning off into their own, separate ...

Update 28 - Drawing Infinity As Fast As Possible