12.21.2007

December 21 (Multitasking)

Wow, what whirlwind the past week has been! Here's a rundown of what's been going on:

  • The website (specifically the Bit Battles preview) got an update (new screenshots and a CSS "fix" (hack) to make Internet Explorer render the page properly).
  • The training campaign is still in-progress. The first two missions are "done" (meaning functional but not thoroughly tested); the third is still in the early design stage.
  • I shifted focus and started taking care of the growing bug list.
  • On top of that, I played artist and reworked the sky/cloud textures and created some new terrain textures for the next multiplayer map.
  • Speaking of which, I roughed out the terrain for the next multiplayer level. Multitasking at it's best (or worst...).
The Fanatical Games website got a bit of an update this week. Specifically, new screenshots of Bit Battles were posted and the Games section was reworked to better accommodate Internet Explorer's "interesting" ideas on how to render CSS. Most notably, a vertical scrollbar no longer appears on the page when rendered in IE.

As for Bit Battles, when I left off last week my intent was to finish up the first two training levels and get started on the next two. Instead, I was forced to put those on hold and tackle a growing number of bugs (some of which were fairly major).

First, the Find & Retrieve gametype was a mess. I've rewritten once already but it's since been broken (several times!) by various engine and script changes. The basics of the gametype worked (players could grab a Nanite and capture it and teams could win) but there were a lot of little cases where things could go wrong (i.e. Nanites that were captured by being thrown into a Nanite Reclaimer rather than being brought in by a player weren't given various state info so they couldn't be stolen by enemy players).

To top it off, the code was just ugly and hard to read. As a result, I gave up hope of trying to fix what was there and just went about rewriting (again). Thankfully, that was probably the best decision because in the process I found quite a few more bugs that hadn't been found. As of right now, F&R is working better than ever. It still needs much more testing but the code is much cleaner, easier to read and just works.

Another serious issue that I'm still tackling is the gametype handling code. Gametypes have always been a bit of a hack (and an unnecessary one at that). They rely on a piece of script that's initialized on both the client and server. Clients use the code to get a list of all available gametypes and associated maps; this is then fed into various GUIs. Servers use the code to load/unload gametypes that actually make the game function. Unfortunately, there's been several longstanding problems with gametypes not being shutdown properly or failing to cleanup after themselves. I thought I had all of the problems with them sorted out but apparently not. While playing through the first training mission, I decided to check something in one of the multiplayer maps. After zoning in, I realized the training gametype wasn't shutdown; I was still getting dialog messages despite being in a multiplayer map. D'oh!

Fixing the problem is really going to require a rewrite of the gametype handlers. I'm not looking forward to it but it's obvious the quick fixes aren't what's needed. I'm sure I'll have more on this next week...

In the midst of bugfixing, I decided to finally redo the sky and cloud textures. Anyone that's been following the game for a while knows that the sky textures are about the only thing that haven't went through a revision. In fact, they've been untouched since the first prototype so their time was definitely up.

Going in, I wanted to make something detailed but still keep the digital theme and it had to have the same color schemes as the previous sky textures. After playing around in GIMP for a few minutes, I came up with something that really resembles the skies of Darwinia (which I've always liked). I'm not quite ready to show them off yet but I will say they really add something to the game. Score one for iterative design!

And lastly, I did what I probably shouldn't have and started roughing out the next multiplayer map, SegFault. I'm aiming to one-up myself with this map, both graphically and gameplay-wise. Everything is still in a very early design phase (and probably will be for the next few weeks while I get the tutorial levels sorted) but I'm excited about working on it.

That about sums it up. Next week I'll be reworking the gametype system, getting the third tutorial level running and a ton of other miscellaneous tasks. Merry Christmas!

0 comments: