Game Design, Programming and running a one-man games business…

Trial By Fire. And Bugs…

I did mention it was a beta didn’t I?
Actually people have been VERY understanding, given all the bugs that leapt out of the woodwork the nanosecond I put this pre-order link up. As expected, its a combination of hardware-related crashes I can’t re-produce (The menu battle bug, the sound crashes) and just UI things that I never thought to check (submitting a blank serial code, deleting every ship, fielding ships with zero modules…)
I’ve fixed a bunch of stuff, the real urgent ones, and released a patch, and hopefully my auto-patcher will automatically update everybody. As of this morning, the game is much more stable and playable.

But

There are a TON of things I need to improve in terms of UI, to get the game more usable. I was amazed to discover so many people prefer mousewheel zoom to be reversed to the way I like it, but that’s an easy fix. I have to totally re-code a lot of Ui stuff (ship hull browser, challenge browser) to make them more usable.
And I’m going to crack on with that passionately, because only when all that is done do I get to do the real fun stuff, which will be the reacting to balance and gameplay issues, ‘stacking’ of ships, better AI orders for the crews etc.
I’m overwhelmed with the feedback from everyone and pleased that people seem willing to put up with a few days of crap in order to get a polished game. My priority this morning is the sound-related crash.
I’m working on it!

Pre-order copies on sale (oh my god…) + Manual

I am so nervous. Normally when I release a game, there is just the distant sound of tumbleweed and a handful of people who give a try after playing the demo. This time I am bombarded at all directions from people who really want to play the game.

If you are that obsessed, skip the rest of this blog post and go grab it now from www.gratuitousspacebattles.com

Some things to be aware of:

This is a beta copy of the game that you are getting. It is not final. There are some bits which I’m not 100% happy with (are we ever?) and I will probably overhaul a few sections of it before it’s actually given a proper release.

The game has an on-line challenge system, and that’s a new thing for me, so expect some teething problems. All of this has been tested, and works, and seems bug free, but you simply can’t plan for the reality of people on-line connecting from all over the world to do stuff with PCs and the interwebs.

You might find some weapons, hulls, modules unbalanced. I’ve played a lot of battles and think it’s balanced, but maybe I’ve never even thought of building a ship with 16 point defense turrets, so didn’t spot what a super-overkill combination that can be. Obviously through the course of the beta, the game will get heavily tweaked and rebalanced.

Finally, this is an indie game, it’s literally a bedroom coder effort, so be gentle on the shouting when you discover something that crashes or won’t work. It’s purely because it’s something that never happened at my end, I will endeavour 100% to fix it as quickly as I can if you have any problems. If you are not happy to try out a beta copy of the game, or genuinely think your PC isn’t up to it, then please don’t get it yet, wait for a demo and the full games release.

I’ll be checking my forums, and blog comments throughout today to see if there are any problems, and explaining any bits of the game that I’ve explained really badly. There IS a pdf manual, and it’s worth flicking through it. In fact, here is a copy for people who want to read it first to see what the game plays like.

Obviously feedback here or the forums is VASTLY appreciated. Hopefully we can get a really good game out of this.

Theres is always something I forget…

The problem with being a lone developer is there is nobody else to cross-check stuff with. Tomorrow I’ll be putting GSB up on pre-order and beta download, so real paying gamers are going to play it for the first time.
I’m pretty sure I have everything covered. I have the final code working and tested, the website pages are ready to upload. My trusty proof-reader is proof-reading the manual, the payment stuff is all set up. The database has been cleared out of my test challenges…
There is always something that gets missed. I’ll realize it 10 seconds after the first person buys it and sends me an email saying “hey cliff…”

At least I haven’t pressed 5,000 CDs like you would have done in ye olde days. I’m sure a patch will be released in the first week with big fixes and updates. Even if there isn’t a single bug, I’ll be adding new and better graphics for some of the bits I’m not happy with.

I’ve never been this nervous about releasing a game before, despite the fact that I think this is my best game. It comes right at the tail end of sales from my last games, in the middle of a games price-war and a global recession, with me about to move house and suddenly we are 100% dependent on games money to pay the bills. Added to this is the fact that this game probably appeals (at first glance) to the more piracy-prone slice of gamers, which can’t help. The trouble is, I’ve never been able to make games that aren’t exactly 100% what I want to play. I could have made 3 or four diner dash or zuma clones instead of GSB, but I’d just be depressed doing it, even though I’m pretty sure I’d have made a more reliable income that way. People I know who do that are doing very well out of it.

It’s a bit weird (and scary) to think that my ability to buy food next month is dependent on whether people think I’ve balanced the ranges of fusion beams and multi-warhead missiles correctly.

Rendering GSB (geeky details)

Here’s something I thought was cool it’s a step-by-step breakdown of a single frame of GSB being rendered (minus the shaders, I had to disable them to be able to do this).
Enjoy!

Finding and fixing some nasty bugs

It’s amazing what bugs you find when you just sit and play through the game for hours (I’m playtesting and balancing the game so that the AI fleets give you a bit of a challenge).

Two bugs squashed today are these:

Firstly, the code that detected that an enemy target was being ‘painted’ by a target painting laser (and thus easier to hit for missiles) was just not working at all. I’d checked and double checked it many times, but because the ‘is it painted’ code is just one of about 6 factors determining optimum target selection, it was hard to tell if it was working right without stepping through everything each time.

It turns out that code worked fine, but some *other* code which told a targeted module whether or not it even *was* a missile launcher, was buggy, and so the code was never even being run. doh!

The second bug was investigated after I noticed some very slow missiles which looked like multiple-warhead missiles but never split into their sub-munitions. It turns out that this code has never worked correctly! The code works fine the first time a missile splits into sub-munitions, but if it gets to live long enough to shoot another missile later, the sub-munitions are never triggered. That was an easy fix.

Unfortunately, that means I’ve been underestimating the destructive power of multiple-warhead missiles all the time, which means I need to re-play through every battle, on every difficulty, and both re-balance the fleets, and maybe re-balance the cost and strength of the appropriate missile modules too. This will take all of today at least.

Damn :(

One thing I did notice, that was pretty cool was an imperial AI fleet I’d put together that sends its fighters in ahead, and the rest of the fleet shows up afterwards (moving slower). By lucky hap, although the fighters were useless against the heavily armoured federation cruisers, they did manage to blow the crap out of the row of point-defense equipped escort frigates that flew alongside them. So when the Imperial cruisers got into range, they could bombard the feds with missiles without opposition. This is exactly the kind of design and thinking I hoped the game would reward, so it’s cool to see it is all about strategy and not just luck :D (Obviously when you play against that fleet, make sure you don’t have a line of unarmed frigates sitting waiting to be blown up :D)