So, updates.

Okay guys, so here’s what’s going on with me right now.

I was offered one paying job, which I’ve turned down (it was a difficult decision, but in the end I just decided that it wasn’t the right thing for me right now).  The downside of this is, of course, that I still have no income coming in for the foreseeable future.  But on the plus side, I’ve saved up enough money over the years that I’m not in immediately dire financial peril while I look for more work.  I’ve applied to a few places, and am still waiting for replies from them.  Cross your fingers for me.  :)

In the meantime, I’ve switched gears on my home stuff.  I’ve temporarily set MMORPG Tycoon 2 to one side, and have begun to work on an iPhone game instead.  I’m expecting development on it to take about a month full time, followed by a little more time to get graphics and sound wrangled.  Add a few weeks to go through the approvals process, and we’re looking at potentially being saleable sometime around the end of the year (Probably later, since I assume that Apple lets their approvals people have some time off at the end of the year, so approvals are likely to be extremely slow around that time).  The goal is for this game to do well enough to pay for at least part of this period of unemployment.  Will it manage that?  Who knows?  But it’ll be fun finding out.  :)

And it’s always good to run your game engine in a clean codebase from time to time, to show you what actually works and what just appeared to be working, based upon the single codebase it was developed inside.

I’ll eventually post more about this game I’m writing, but at the moment I really need to be spending most of my time on coding, rather than blogging.  So apologies in advance if I’m not posting daily screenshots or etc for the next little bit.

Fun stuff today:

  • Discovered that my current development branch of the VectorStorm library crashes and burns if you try to draw anything 2D through the standard rendering pipeline.  Absolutely every 2D object in MMORPG Tycoon 2 had provided a custom ::Draw() function, and so I never noticed the problem.  But as soon as I started working in a clean codebase, it was crashing like mad.  Relatively easy to fix the problem, though.
  • Discovered that although I had implemented this fancy “Fragment” system which allowed the renderer to group rendering operations together based upon render state settings, there was no way to use that system without writing custom rendering code.  So today I added the ability to create and use an arbitrary number of Fragments from a sprite or model data file.  This also added support for storing data on the video card, with that data specified from within the data file, instead of from within code.  And this also also added support for specifying a full hierarchy of named sprites based upon just a single data file, which was never possible before.  This change was huge;  opens up all of the performance improvements to games which have statically created models and data, rather than the procedurally generated ones being used in MT2.
  • Also, I got to write some really neat camera code.  Have I mentioned that I like writing camera code?  It’s one of my special subjects, and one of the big reasons why I’m probably never going to leave the professional video game industry;  I’d never get to write camera code again if I was working at (for example) a bank.  And no amount of money is worth that.  :)

(Edit:  And no, the job I turned down wasn’t at a bank.  That was just an example.)