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

Ho! Ho! Doh!

There was a bug in Gratuitous Space Battles: Galactic Conquest until today. It was a bit obscure, and very baffling. Basically, in seemingly random circumstances, regardless of file version, people would develop a bug where the campaign backdrop was just plain white. I could not reproduce this. Re-installing seemed to fix it, for *some* people.

Anyway, someone noticed when I asked about it, that a line in campaign.txt storing the background texture name was missing. They had the latest version, and I KNEW that line was in there. It made no sense. Then they noticed that they could paste that line in, when the game was running, and voila, it worked. How weird.

So I looked at my code, and sure enough found some code which overwrites campaign.txt. Old, boring, unused, debug code for doing the campaign editing from about three months ago. This was before that file had this line in it, so because that code had never been updated, it meant that whenever it ran, and  saved out campaign.txt, it overwrote it with a new copy that had no data for the background texture (it used to be hard coded).

What a dork.

But even worse, I had left in this debug code mapped to the ‘H’ key (S was in use), and never remembered to remove it. So if anyone ever pressed ‘H’ during the campaign, it ran.

What a huge dork.

Anyway, it’s gone now. The bad news is, I am obviously a clueless muppet who could not code his way out of a paper bag. The good news is, I fixed this on Christmas Eve. Hurrah! It’s in patch 1.54, you will get it today / tomorrow.

Happy Christmas / Holidays / Festivus / Ascension of Kahless day to everbody!

Gratuitous Poster

My office wasn’t looking enough like a games studio office, so I got a nice big blown-up poster of the GSB campaign game background framed for the wall. This picture makes it look crap (reflections and blurriness), but it’s actually pretty cool.

stercesynamoot

..-. .-. --- -- /  -. --- .-- /  ..- -. - .. .-.. /
  ... .- - ..- .-. -.. .- -.-- /  -.-- --- ..- /
  -.-. .- -. /  --. . - /   ..... ----- /  .--. . .-. -.-. . -. - /
  --- ..-. ..-. /   --. ... -... /  .- -. -.. /  --. ... -... /
  -.-. --- .-.. .-.. . -.-. - --- .-. ... /  . -.. .. - .. --- -. /
  .-- .. - .... /  - .... . /  -.-. --- -.. . /
  -... ... -.-. .... ----- ----- ----- ..- --...

Quick bug / code update

version 1.51 is live. This does the following:

version 1.51
1) [campaign] Fixed exploit where you get 1 crew when you scrap a fighter.
2) Added new order 'Last Stand' which overrides the auto-behavior of ships retreating if all of their weapons are destroyed.
3) [campaign] Some difficulty balance changes.

it MAY be causing a bit of a crash. I just spotted it, when looking into something else (typical). I’m working on a  quick 1.52 now. It should only happen if you capture enemy fighters, i think, and it s a popup message you can click ignore to, anyway. Ironically, it’s a pop-up message helping me find a rare bug, that I still can’t find :(

Anyway… I have fixed a bug where fleets dissapear on retreating if you viewed the post-battle stats. that will be in 1.52 as well. Plus, I’m working RIGHT NOW on a fix for a retreat related crash bug. I think it’s caused by retreating with a fleet where there is a friendly planet to retreat to, but your ships cannot move there due to anomalies. It should be fixed in 1.52 as well.

The sheer tonnage of code in GSB is staggering.

I hope I get this bug squashed before the apprentice is on :D BAGGS THE BRAND!

Things I did wrong in GSB

GSB is a big success and sells well, and I love it. it’s my fave game, out of all the games I’ve made, but it still has problems, because I made some fundamental screwups, technical and otherwise. here is what I think I did wrong in no particular order

  • It doesn’t support netbook resolutions
  • There are a fixed number of ship sizes
  • The battles are not deterministic, preventing replays
  • There are no achievements
  • The tutorial is weak, and the learning curve too steep
  • The auto-update system is dumb regarding where the game is installed.
  • The online integration doesn’t include many features, like friends lists and user profiles, clan tags etc
  • It makes poor use of multi-core CPUs.
  • The player cannot customise the physical appearance of their units very much
  • Mod support is not quite as easy to use as it could be
  • The unit design tools (ship editor) used during development was laughably poor
  • The UI was not as gratuitous as it could have been, given the subject matter

Have I missed anything? Obviously if I ever did a similar game, I’d be keen to fix all of those issues.