December 29 (Betanoia - Possessing a Fear of Reaching Beta)
Well, it's official, I'm starting to see the light at the end of the tunnel. It's a tiny glimmer at the moment but I'm definitely getting there. "There" being the dreaded "beta" stage where all of my blood (not so much), sweat (only in June, July and August) and tears (none of those, either) will be put to the test. Sure, the cornerstone of an iterative design approach is constant testing but for the past few months all testing has been done by me (with the exception of the occasional playthrough by my wife). No "outsiders" have had a chance to play the game in months which should explain why I'm particularly nervous about calling Bit Battles "feature complete" and simultaneously opening it up the public. But that's what I'll be doing in about a month, or so I keep telling myself. In the meantime, there's plenty of work to be done if I hope to have a beta out by February.
On my "must finish by January 31" list:
- GUI refinements and possibly some redesign
- Two final multiplayer maps (one of which was started last week)
- Map revision/refinement
- Bug fixes!
- Testing, testing and even more testing
As for the final multiplayer maps, I'm looking forward to working on them. Pushing out two maps in a month is going to be a challenge, though. On top of all the art and sound assets needed, the final two maps are really the least fleshed-out. D'oh!
On top of that, I'm setting aside a week so that I can give each map a once-over and cleanup any problems, enhance a few things graphically, etc. The goal isn't to fundamentally change any of the maps but, rather, to cover up the fact that some of them (like The Breach) were made before I really knew what I was doing or what the world of Bit Battles looked like. It's interesting to see the difference between levels made later (like Gateway, which is full of various special effects and just oozes coolness) and those made early on. The newer maps just have an extra level of detail about them and that's exactly what I'm hoping to add to every map.
And on top of all of that, there's still tons and tons of testing and bugfixing to do. It's going to be a busy month!
But enough of what I plan on doing, let's get to what I actually did.
Quite a lot, actually. All five training levels are complete, the gametype system has been fixed, a few engine optimizations were put in and I polished some art and sound assets.
![[Click to Enlarge] Doing battle with an AI drone in the Training level.](http://bp1.blogger.com/_zRRV2DPDc2c/R3csytNqKtI/AAAAAAAAAGg/7-oN1TDfDqE/s200/bbTrainingPic1.jpg)
The training levels were actually easier to create than I anticipated. Each map builds off of the previous one thereby forcing players to not only learn new skills but continually practice the ones they've already learned. As it turns out, developing the training maps with this idea in mind had the benefit of reducing code complexity while increasing reusability because each level can make use of the code written for previous maps. As an example, the third training level teaches players about powerups (what they are, how to get them and how to use them). In order to familiarize the player with powerups, one of each type of powerup is spawned around the level, waypointed and an AI drone is created to guard it. The only "new" code written for this map was dynamic powerup spawning; the code for waypointing level objects came from the first level and the code for spawning AI drones was a quick copy-paste job from the second level.
Getting the training campaign done is a major milestone for the game. It means I can refocus on the multiplayer aspect which is a good thing for a multiplayer-only game! Here's hoping the testing goes just as well (and just as fast!) as the actual implementation.
I spoke last week about several issues with the gametype handling code. Thankfully, most of these turned out to be false alarms. The only gametype dealing with server shutdown cleanup issues was the training gametype. A quick fix was all that was required to get it behaving normally. Given the crunch mode I'm about to find myself in, avoiding a rewrite of the gametype handler is definitely a bullet dodged.
The engine optimizations were added not because they were "needed" (the game actually runs quite well, even on older hardware) but simply because they were simple to add and could do nothing but help performance. Most notably was the Optimization Kit released for TGE 1.4.2 which included batched decal and precipitation renderers. The performance increase wasn't tremendous but any improvement is good. There's still more work to be done in this area (especially with moving the renderers over to retained mode rather than immediate mode) but that's something that'll have to wait.
And lastly, polishing. I mentioned last week I reworked the sky/cloud textures. This week I continued that trend by redoing the smoke textures that emit from damaged players, adding a simple firing animation (with muzzle flash!) to the hovertank and tweaking a few sounds. They're small things, really, but attention to detail is important.
On the agenda for next week: testing training maps, getting properly started on the SegFault map and preparing for the final push to beta. Oooh, "beta"... sounds like fun!
0 comments:
Post a Comment