ThinkBoxly is the personal developer blog of Lucas Chasteen, author, programmer, artist, and always learning. Read more

Friday, April 20, 2018

Update 32 - Shader Business Revisited

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, but that it served as a proof of concept for shaders possibly finding their way back into VNgen in the future.

Well, my friends, the future is now. That's right: as of version 0.9.8, shaders are now implemented into VNgen as first-class citizens alongside transitions, animations, deformations—the whole lot.

Friday, April 06, 2018

Update 31 - Log and Let Log

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 more features being added since the first Early Access release. For the past two weeks, it was the backlog's turn yet again—and this time, other problems were also solved in the process.

Friday, March 23, 2018

Update 30 - All Things in Modification

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 nearly drawing to a close), each component of the underlying engine is being re-evaluated. Why does X feature exist, or why doesn't it? How does it work, and how can it be standardized to work like everything else (or vice versa)? Does it feel natural to use?

All of these are important questions, and only scratch the surface of tests a new change must pass to determine whether it fits the image and scope of VNgen 1.0. But there's also another question that's often more fun: can this feature give users more control without requiring them to modify anything?

For the past two weeks, the answer has been a resounding yes.

Friday, March 09, 2018

Update 29 - Gotta Split!

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 is... well, a lot of unexciting humdrum much of the time. But it also has a habit of producing new tools you can use, and with the latest update to VNgen, there are several—and you can use them right now!

Friday, February 23, 2018

Update 28 - Drawing Infinity As Fast As Possible

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 products. However, none so far have been quite as amusing as a certain trick added to VNgen over the past couple of weeks—one which makes drawing infinity a cinch even for the lowest-end hardware on the market today.

Friday, February 09, 2018

Update 27 - Semantic Arguments

With all major features in place, VNgen is now on the straight and narrow path to version 1.0. As you'd expect, this means isolating and fixing bugs—many of which are difficult to produce in the first place—but more importantly, the past two weeks have been all about standardization. Sound boring? Well, read on, because as you'll discover, standardization doesn't mean nothing new was added. And even better, you can see for yourself right now!