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

The kickstarter reality

It’s great to see a game get made that could not be made because a publisher would not fund it, made real because actual real gamers, who are the whole reason for everything, stepped up and pledged the money. It’s great news.

http://www.rockpapershotgun.com/2012/02/09/double-fine-kickstarter/

But this is not *the* new publishing model, far from it. RPS noted that the developers ‘don’t have a publisher breathing down their necks’. Really? Maybe they have 10,000 publishers now, impatient, possibly wanting contradictory stuff (almost definitely…in fact), and not restrained by the politeness of scheduled milestone meetings behind closed doors. I hope it goes well, but it could get messy.

Plus the developer is boxed into a corner, they know exactly what they have to do with that money. This is not always a good thing. I ship maybe half the games I start. Gratuitous Tank Battles was not the game I intended to make. I intended to make a life-sim game, then abandoned it to make an RTS, then it morphed into GTB.

What if kickstarter had funded subversion? the game that introversion admit ‘didn’t work’ when they actually got half way through development. Would they have had to plough ahead, and ship a game they fundamentally knew was broken? Not a good position to be in.

Yeah I know… I’m mr doom and gloom.

Gratuitous Manual Battles

A lot of people really liked the manual for Gratuitous Space Battles, and I’m conscious of this fact when working on the one for GTB. As with all complex strategy games, there is a ton of stuff to tell the player, and they will likely want to reference it after playing for an hour or two, in order to look-up or clarify stuff. It’s also a good place to put stuff like lists of hotkeys, or unit stat comparisons, although I probably won’t be doing the latter.

Some trendy designers would suggest that ‘a game that needs a manual is badly designed’. This is just silly. We don’t all want to play games as simple as Bejeweled, and sometimes, a separate reference manual is a good idea for a game that has real depth and a ton of features. I also like doing a manual because it means people can read how to play the game on their laptop, or a work PC, where maybe actually playing through a tutorial isn’t an option. Plus it means people who are really on the fence can read the manual before deciding to buy the game.

The manual is maybe half done. It’s mostly all there, but it will need some more images, some proof-reading, spell checking, and a second pass for actual humour and flavour text to make it more in-keeping with the blackadderish spirit of the game design. I might change my typewriter font to make it more typerwriterish, a tradeoff between authenticity and legibility. I like the idea of a 1914 army document that never got updated during 200 years of war. maybe the army spent all it’s effort on making more deadly lasers and none on word processors?

On the technical side, it looks like the server move went ok. Just quadruple checking it all before I turn off the old one. That still scares me…

Suprisingly complex health indicators

I’ve never liked health bars in RTS and Tower Defence games. They always seemed annoyingly crude to me, like the designer just thought ‘err…health bars? lets just copy the games from 1980 ok?’. They really break immersion badly for me. Worse still, if you wanted 3 different indicators, for health, armor and shields, you got 3 bars, which was silly.

Gratuitous tank battles solves this with cunning health ‘discs’ only on selected units. The image below shows some infantry with full armor and health, and a damaged turret that has lost some armor. I need to change the code a bit to make the colors relative, rather than always splitting them equally, for situations with high health/low armor etc… anyway…

The problem with this system is that to draw the discs programatically you need a lot of triangles to be smooth. Given GTB supports VERY high zoom in and out, that means either blocky hexagons when zoomed in, or triangle-calculation nightmare framerate if you select 500 guys when zoomed out.

The solution is ‘continuous level of detail’ which 3D engines sometimes do with meshes (not sure how common it is), where you basically add triangles as you zoom in, so you have a constantly varying image complexity. The human eye should never notice. With a simple triangle fan, it’s relatively easy. With a big complex mesh, it’s way harder. I know, I worked on Elixirs ‘infinite polygon engine’.

You might think drawing a few hundred triangles here and there makes no difference to frame rates, but it all adds up. I like to write the fastest code I can. It’s also pretty cool to play about with stuff like this. I can’t actually see it happen, even though I know it is, because I can see it happen in wireframe. Nobody playing the game will ever care, but it does add some polish to the game. it makes my GUI look much smoother than it otherwise could have done, given the framerate I’m expecting.

Bogged down with end of project stuff

I am currently wading through my list of stuff to do before GTB ships. The list is huge, but not colossal, and I’m now measuring time to beta + pre-orders in weeks not months. Some of the stuff still to do:

  • Auto-updating functionality (hopefully better than GSB’s), both version-checking, and also downloading of updates and installing.
  • Checking mod support works as expected. (not started yet, but likely to be similar to GSB’s installs system.
  • Checking the game runs and is functional on a range of different screen resolutions.
  • Putting together the scripted AI attacks for each mission
  • Finish off the metrics stuff which helps me detect and gameplay imbalance or difficulty spikes.
  • Finalising what is unlocked and what is locked at the game start, and checking the unlock system works as expected.
  • Gameplay testing for obvious exploits and weaknesses, such as overpowered units or silly tactics that somehow work.
  • Getting the final manual text done
  • Getting the final sound effects & sound balance done.
  • beta-release launch trailer, press release and screenshots
  • Website improvements ready for taking orders.

What will happen post-beta:

  • Fixes to any crash bugs
  • Implementation of any awesome must-have ideas from beta feedback
  • Some further optimisations for performance
  • balancing of units and maps based on feedback
  • release-video and promotional stuff.

The stuff that will take time will be the gameplay testing, auto-updating and metrics stuff. I can’t see a February release, but maybe early march? That’s only beta, so hopefully a full release not long after that. Eventually, I will need a BIG holiday…

Server Move

The positech server, which hosts the website, this blog and various other magic, has hopefully today moved. If you commented on a blog post or forum thread, and it disappeared, that is why. Sorry about that.

This is part of my sudden desire to organise and professionalize everything here, so that things run more smoothly. The new server has more hard drive space, better backups, and double the memory. This should ensure a smooth release of Gratuitous Tank Battles in 2043 when I finally finish it.

I have many tedious admin things to do now, plus I have a potentially really cool thing happening which i can’t discuss yet. Sorry! Plus…. If you are in London, come along to the ‘bit of alright’ thing tomorrow to hear me waffle about stuff. I blogged about it, but I think the blog post got lost in the shuffle. Typical eh?