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

Fixed the low-hanging bugs…. pause for breath…

Yikes,. so we had a lot of MUST FIX NOW issues in the first four days of releasing Gratuitous Space Battles 2. I think in retrospect I had bitten off a bit more than in possible for a single coder / designer to do.

GSB2 involved a phenomenal amount of re-engineering to support the kind of graphical fidelity I wanted. I sometimes read comments like ‘its just a new engine’, as though I just went into a drop-down box in unity and selected ‘new engine’, then hit the ship-it button. Arrggghhh. This new engine took well over a year of mind-mangling stress to develop. I love it, but its still hard work.

Anyway… Lesson learned #1: Multithreading increases your bug count by at least tenfold. Especially on ‘other peoples hardware’.


Lesson learned #2: Don’t do a multi-platform release. Do a Windows release. Fix everything, THEN worry about mac & Linux. Or hire another 3 or four people. Or make a much, much simpler game.

The good news is that after tracking down some pretty obscure stuff, I’ve got version 1.26 out there, and early reports suggest it is MUCH better. MUCH more stable, and a lot of silly dumb-ass mistakes by me have been fixed. The only *big* bug left is some series of actions that leads to ship designs being (temporarily) deleted until you restart the app. I reckon thats easily fixable today. Which then means I can get on with what I wanted to be doing all along: tweaking values, improving GUI elements, supporting modders, and getting a feel for what features people would like improved or added. I know people want galactic conquest put in, but thats a HUGE project, and not one for the next few months. That didn’t ship with GSB1, and that was with good reason, I assure you. Every single weapon and module from every race & expansion pack of GSB1 is in GSB2. It also has more initial missions, but even then people complain it doesn’t have enough content. Argggghhh.

Anyway, at least I can smile now for the first time in a few days. If you are enjoying the game, please leave a positive steam review. Even better, tweet about it :D.

10 thoughts on Fixed the low-hanging bugs…. pause for breath…

  1. Hey Cliff,

    I bought the game as soon as I realized it was out. I only saw it because steam had it on the recently released list. I specifically wanted to touch on the idea that the game doesn’t have enough content. To clarify I think it has plenty of content, however upon my first inspection I immediately looked at the modules and weapons that frigates had available to them. It seemed to me that frigates didn’t have quite the variety of things that they had in the first game. I investigated further and it appears as if some of the things that frigates had in the first game have been moved to other ships like the destroyer or in the case of my favorite weapon (the disruptor bomb) to the gunship. What I’m trying to say here is that because of the added ship classes your selection for modules and weapons may be stretched more thinly than it was in the first game. To be honest even in the first game frigates had less of a selection than I may have desired. (But I’m biased you see I love frigates.)
    All that said, I think that the game is fantastic, especially for a project that had one developer. Thanks for making a great game. I hope I don’t come across as abrasive or harsh, because I didn’t intend it that way at all.

    1. Yeah thats is a good point actually. More classes means less unique weapons and modules per class… I do plan on adding new ones inn the future so hopefully that will rebalance things.

  2. I’ll be buying this game as soon as I get some spare cash. ;D
    Why didn’t you let Red Marble Games handle the Mac port for this game, like they did with Democracy and the rest of the Gratuitous series?

  3. Keep your head up, Cliff. Releasing to the public is something I can avoid luckily in my professional work. But i helped out some friends with their releases.

    Let me tell you that as long as people complain and take time to write it down they still care enough to do so! If everything works fine you will probably not hear anything at all. Positive reviews are seldom and you should value them much higher than easier earnable negative reviews.

    You fixed the most urgent problems within the first week. That is waaaaay faster than other studios can handle it. Great job there!

  4. I’ve pretty much avoided multi-threading in my projects as default – it’s the same kind of magic as “multiplying the number of people in this project by x makes this project done x times faster” – works best with the assumption that no communication is needed when the work starts. Most the low end pc probably have dual core some with HT. That kind of means if you expect to seriously use more than 2 threads, then those machines could end up running choppy. And while the game probably could run on my old 1 core old gaming laptop with nice GPU, it probably won’t. Not that I use old laptop to game but some people might give their old laptops to kids and they might.

  5. Hi Cliff

    Loving GSB2 so far, I’ve sunk a bunch of hours in around my study and I’m digging the new look, the feel of having more classes, and pretty much everything. I do have a suggestion however.

    It’s not an urgent feature requirement or anything, just a nice little thing I for one would appreciate. Would it be possible to add a feature to rotate a selected bunch of ships? I make extensive use of saving fleet sub-groups, and on the maps with a different orientation I can’t use my groups as well since they’re out of alignment.

    Thanks for the great work. As a young programmer myself, I really love the detail you go into on your blog. You’re an inspiration.

  6. Just reading comments about the user made paid mods for Skyrim announcement.

    Having advocated the idea few times in public, I do get a bit of “oh 5hit” when reading some comments that point out legit issues. Though part of the this is also that the range of “mod” can range from that classic “horse armor” to essentially entirely different game, just on top of the same engine, to bug fixes etc. The issue pointed out was conflicts with various small partially overlapping mods that you find with much of Skyrim mods as there’s overlap and such.

    In defense of the idea, back when I first had it, the mods I had in mind were along lines of BF1942:DC – it’s almost a BF2 as a mod. So my thinking in terms of mods has always been on the line: “Okay this is a good game and engine, how about a mod that makes it a great game” – not “lets download 100 mods and I’ll hope it’s great game” or “I bought this game but now it looks like I have to do all the work to make it the great game”. In these terms, paying for the mod that turns good into great seems to make sense. But if people are going to pay for all sort of random small mods that conflict, and bug fixes etc – I know some old games have had some difficult bug fixes made later (decompile, modify assembly code etc) … lets just say it could give some conflicting price signals and distort value of things etc as consumers don’t generally have any idea how much work it was to do something – eg. maybe perfectionist spent 5 months creating a “horse armor” and some dude whipped it up in 5 minutes. Only another perfectionist is able to tell the difference and maybe understand why the price is different (big maybe).

  7. I’ll clarify that the “5 months to create a ‘horse armor'” might be justified if it’s still remembered as the best armor decades later. There’s certainly some free pieces of music that took such times to do by a single person, though perhaps putting equivalent amount of work into a virtual horse armor is a bit over the top (though if done like I do my creative stuff, perfectly realistic, as I tend to work on any one project a few hours a week).

  8. Testing is hard if you are a 1-man band. Especially for multi-platform. I use a mix of my own testing with various tools (static analysis, dynamic code coverage etc), paid third party testing and beta testing with customers. I also avoid multi-threading! That has been pretty successful so far. I always still have a few bugs to fix after a major release, but rarely a showstopper.

    The positive side of supporting multiple platforms is:
    -intermittant issues that might be hard to fin one one platform might be easy on another
    -more testing tools

Comments are currently closed.