If you have been reading any of my posts on this project you may have noticed me writing a lot about version numbers.
To many, versions are obvious from the outside but the nuances of how each project numbers their versions can differ. I assume there is some level of standardization at big companies, maybe even between companies, but generally this is a simple way for me to track progress.

For starters, it’s not a numeric decimal system. That is to say, while it uses numbers and decimals, it is not math. So Version 0.1 is different from Version 0.10, for example, it’s not an issue of significant digits. Rather, it’s a sub-versioning number, so:
Version 0 Subversion 1 is different from Version 0 Subversion 10.
As I write this I am in 0.3.6, which means I am in:
Version 0 (pre-release)
Subversion 3 (what I am calling my world-populating phase)
Sub-subversion 6 (or cleanup on aisle 3)
I could also suffix all that with the term alpha, meaning (and what I really am in is) that my current formal version should be called 0.3.6a. But then, I haven’t actually released any code, so its a bit pointless telling you something that you can’t see or download may not work well on your personal machine because I haven’t tested it that far yet.
I have noticed with my versioning system that a small trend is starting to emerge, tho. That is to say, the bigger the third number (ie the higher the sub-subversion) the more tedious the work.
x.x.0 is a new phase.
x.x.1 is me mucking around with big new systems and fun and trying out interesting new things.
x.x.2 through 3 or 4 is more of the same but also fixing bugs and tweaking.
I am now in a x.x.6 phase which is almost all bug-fixing, adjusting pixels left or right, recalculating math checks that I thought were working but could use fine tuning, that kind of thing. It’s sweeping up before we get to the next big feature push.

I want to move into that next big feature push. Those are fun. Bug squashing can be satisfying, but progress is sooo incremental in the higher number sub-subversions that it’s almost toooo incremental. Progress is in the form of “I thought this worked but… uh oh… okay, now it seems to work but… uh oh…”
Tweak. Squash. Nudge. Clean up.
In version 0.3.x I have accomplished an incredible amount to bring the game to life as a world. The population of the space that I built in 0.2.x has left me with added dimensionality for the game, moving from a simple two-dimensional navigable grid to not just a grid with a third z-axis layer of depth orders and stacking logic for the sprites, but also a temporal dimension in the form of a game clock with days, months, seasons and year, a sleep cycle, and the mechanisms for ambiant lighting to change when the time of day changes. And all of that doesn’t even mention the fact that game now acutely takes place in that science-fictiony five-dimensional space of parallel dimensions.
Still, polishing code in this late sub-subversion, zero point three point six, has me itching to move onto zero point four point one where I will get to dive into a stage that is all about building player complexity through adding functions, fleshing out the sprites designs, adding an inventory and a wallet, and a short list of other big things that will start to make it feel less like the little dude is just a ghost walking about and more like he has a point in the world. All of this is big, juicy, code for which I have big, juicy ideas filling my brain…
But I gotta polish, tweak, squash, nudge and all that stuff first.
That’s the version life.
Leave a Reply