With the recent release of The Outcasts expansion pack — which I’m still in the process of playing/losing/reviewing ;) — Gratuitous Space Battles now has seven distinct pieces of DLC, each of which add new ships, races and so much more to the base game. What began as a relatively humble game about a few races slugging it out with your custom-designed ships has exploded into a game with full-blown mod support, dynamic galactic campaigns and much more. Since revisiting the game with the new expansion pack, I’ve found a game much different than when last I played it, and I was curious to find out about the game’s journey from initial release to now. Therefore I jumped at the chance to do a Q&A with the game’s creator, Cliff Harris, the results of which you can read below. Enjoy! :)
Brian Rubin: Hello! First off, for those who might not know you, could you please introduce yourself and give us some of your background in gaming, as well as the founding of Positech Games, please?
Cliff Harris: Sure, My real name is Cliff Harris, although people generally call me cliffski. Ive been coding games on and off since I first got a ZX81 computer aged 11, but worked in all kinds of crazy jobs before I ended up in the mainstream industry for about 5 years, at Elixir and then Lionhead. I was making my indie PC games in my spare time for quite a while before I finally quit to do it full time about 6 or seven years ago.
Brian: Where did the original idea for Gratuitous Space Battles come from?
Cliff: I was actually working on an RTS/strategy dictator-simulation game, sort of like a more serious and heavy version of tropic. When I started working on the maps and units for that, it somehow just morphed in front of my eyes into a space strategy game. Ive always loved space battles, and am a huge Star Wars and Star trek Geek, so it was kind of automatic for me to make a space game.
The idea of hands-off battles was basically a reaction to frustration with the actual reality of most big RTS battles, which is total chaos where you know you *should* be on top of it all, but especially as you get older, you realize you just cant be. I wanted to design a game that accepted, and even embraced that as a design concept.
Brian: I’ll admit, when I first got GSB, I didn’t play it much because the lack of control twinged my lack of patience. ;) I see since then you’ve added direct control to the game, which helps me enjoy it much more. What else has been added since the initial release outside of the DLC?
Cliff: Oh a huge amount. The first game was very basic. I added a totally revamped system for looking at post-battle stats, I added a whole bunch of AI improvements and performance boosts. A lot of GUI stuff was improved, such as a way to really easily compare all of the modules against each other for any given statistic, there were a lot of tweaks to the ship design screen to make it more intuitive. In total there were 62 patches to the game, and each one added or improved or tweaked a whole bunch of things. I also vastly improved the mod support for the game, because modding it became incredibly popular.
Brian: Speaking of the DLC, how do you come up with the ideas for the different races in the DLC, and how do you then try to balance it (or not) accordingly?
Cliff: The ideas involve a lot of me reading, watching sci-fi and drinking wine. Thats pretty much my design system :D. The ideas for the races are basically an attempt to come up with something quite interesting from a back-story point of view, and a specific design aesthetic which allows you to recognize those ships just from silhouettes, and then I aim to blend the backstory with a bit of ‘catch-22 style war-satire to make it all make sense.
Balancing GSB is pretty hard, but fortunately it has a bunch of very hardcore modders and players who represent a great sounding board for bouncing ideas off. With the outcasts DLC, I actually posted the ship and module stats on my forums, and let the hardcore players rip into them and suggest improvements and tweaks to them, which I think worked extremely well.
Brian: Speaking of the races, they all have really great AI. Even when I used direct control for my ships, I am still getting slaughtered (one of the other things that twinged my lack of patience early on). ;) How do you craft the AI of the various ships to be as intelligent and cunning as it is?
Cliff: I find AI quite easy to code, but then it has always historically been the job I was given. Essentially it comes down to just a very complex weighting system for the AI ships when they decide who to shoot at, at both the level of ‘which ship should I go after and then ‘given where I am, who is the best target to shoot at right now. There are quite a few lines of code making those two decisions, and its balanced by a lot of trail and error on my part.
Brian: One thing I do love about the game is the amount of detail on the ships when you zoom in. The turrets turning and firing, the battle damage and so on. Could you please explain how you created the engine for GSB that handles all of this detail and yet still has such as smooth frame rate?
Cliff: Yes, that was pretty hard. If you want to make a 3D game, its really easy in some ways, because you buy a Unity or Unreal license, depending on your budget. If you buy a 2D engine, they assume you arte making some simple puzzle game and dont need to care about frame rates or vast numbers of particles and polys. As a result of that, Ive always had to code my own engine from scratch.
Its a hideously complicated process, which I could ramble on for ages, but let me just say that the two things that make it a *real* pain to code are allowing the player to slow down time and freeze frame, and then zoom in or scroll when paused. That means 99% of the smoke and mirrors tricks graphics coders use arent going to work, and it all has to be absolutely perfect to avoid ugly artifacts. A huge chunk of the graphics code is working towards optimizing particle effects. If there is a gap between rendering one frame and starting the next one, the game fills in that time pre-loading particle effects it thinks it might need soon. That sort of code is a lot of work. Especially for it to scale smoothly on different hardware and screen sizes.
Brian: Have you been surprised at the apparent success of Gratuitous Space Battles, or were you expecting it to be as well-received as it has been?
Cliff: Very surprised. I thought my ‘hands-off battles would just baffle people, and I didn’t realize how much they would love modding it, and the online multiplayer challenge side of the game. Obviously when I make a game, I think its great, and fun, and should do well, but when I started coding GSB there is no way I thought it would still be popular 3 years later, or have over half a million campaign battles played, or tens of thousands of player-designed challenges submitted. Its become scarily popular.
Brian: What can you tell us about the future of the series? Will there be more DLC, or maybe a sequel?
Cliff: I desperately want to make GSB2. I learned so much making Gratuitous Tank Battles that I would like to use to improve GSB, and I have a ton of ideas and ambition. The only reason I haven’t started it yet is time, and my desire to do another game first.
Brian: Besides GSB, what else are you working on that my readers might be interested in?
Cliff: I’m currently doing a new version of my political strategy game, which will be predictably called Democracy 3. Its a game that is showing its age in terms of screen resolution support and shininess, so I really feel it deserves a proper update. My current plan is then to consider GSB 2 next.
Brian: Thanks for your time!!
Cliff: My pleasure!