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

The angst of original game design

Game design is a pain. But ORIGINAL CONCEPT game design is like a pain intensified with pain amplifiers set to MAXIMUM_PAIN.

90% of games have very little originality. Some of them have some original ideas or twist ion existing concepts, and very few of them are totally utterly new. The Sims was a reworking of little computer people, and Kudos is in some ways a new take on the Sims, albeit different in fundamental ways. Democracy is a bit of a weird one, being influenced mainly by neural networks and watching TV debates over politics, but it probably looks like some other game to someone. I’ve heard talk of ‘shadow president’ but never seen or played it.

The last 3 games I did were Kudos 2 Democracy 2 and Kudos:Rock Legend. These are all games I worked hard on and am very proud of. D2 and K2 are my fave games, and I think they are the best I’ve done so far. But the last time I released a totally ‘new’ game was the original Kudos.

I’m determined not to coast on past successes, so this new game is totally different. I’m trying to carve out a new idea for a game again, and it’s a pretty tough job. The problem this time is technical, not conceptual. I can see the game in my mind, how it plays and how it works. Translating it into code is tricky. There is a lot of conventional AI to code (unit AI, as you might get to some extent in an RTS), and that stuff is a pain to get working consistently at reasonable speeds, especially with the pretty big number of units I’m hoping to support.

So this next game will take a while, hopefully getting done before the money runs out. But it will be pretty origianl (I think). That will give me 3 strings to my gaming bow (kudos, Democracy and NewGame). On the positive front, it’s also got me coding more hours than ever before, because I hate it when the game looks like it’s a mess…

Guitar Vs Piano Vs C++

I haven’t played the guitar for ages, and just picked it up and hammered out a few notes. I find doing so very frustrating these days. Years ago, I could easily practice up to 12 hours a day, but the guitar is like weight lifting, you need to keep doing it to stay up to a certain standard, a little each day (or a lot).

The thing that I find most frustrating is the lack of precision. I used to spend hours playing through the simplest scales, making sure each note was perfect, that there was no handling noise or slurs, and that every note sounded clearly and precisely. It’s important to practice really slowly and cleanly with a metronome if you want to play fast, because the slightest imperfection when you speed stuff up and it just sounds like a mush.

Life is much easier on the piano. you can’t accidentally apply some vibrato or a bend, and it’s very hard to actually miss a note as there is no bending involved. You don’t need two hands synchronised to play a single note.

But C++ is right up the other end. The code is either correct and works, or it doesn’t. Better still, I can step through the code and even step backwards through a frame render and see exactly what I did, when and how it went wrong. There is no fuzziness, ambiguity or degrees of perfection. The code works or it does not work. Its binary, not analogue.

Somehow, I’ve become inteolerant of analog stuff where you can screw up ‘a bit’. I find it frustarting and I’m never happy with what I’ve done. Years of playing thr guitar and working with wood have probably taken their toll on my ability to perform analogue tasks. Binary FTW!

Give me micro-content

People keep talking about micro-transactions and paid items on online games, but they are 100% focused on MMo games and nothing else. 

I’d love to have a few extra units for company of heroes. $10 for 2 new russian tanks and a few new infantry units? Go for it, my fingers are poised over the buy button. I wish I had a single mass-market game that supported that kind of stuff, because I’d love to be able to release ongoing expansions for stuff like Kudos and Democracy. The thing is, such expansion content is 99% fixed costs, and it’s just not financially viable. Maybe the next game it will be.

The problem will always be transaction costs. I’d happily release some new policies for democracy 2 for $0.20 each, but it would cost treble that in credit card processing costs. We need someone like google or amazon to set up a mass market, one-click economic micro-transactions scheme. Great things are ahead when such a system is in place.

Finally moving to Directx9

Up until my new game (still un-named) I’ve been using version 7 of directx in my engine. How old is directx7 well lets see…

When Directx7 came out…

The Dow Jones was around 10,305 (it's 8,903 today!)
Harold Shipman had just been found guilty of murder.
George W Bush had just won the primaries, along with Al Gore.
Vladimir Putin was about to be elected head of Russia.

so it’s….

March 8th 2000.

So I think we can all agree it’s the time I GOT WITH THE TIMES, and at least caught up as far as DX9. It’s going quite well, I have lots of groovy stuff on screen, with decent frame rates despite zero real optimisations. So that’s cool (still need to get my text engine ported accross).


Why do it?

I wanted to do a game with lots of flashy graphics in, and have decent driver support. DX7 is unsupported now, and the nvidia profiling tools only work with directx9. A lot of cards are now just emulating dx7 using dx9 calls anyway, so it’s silly not to talk to the card in a language it understands.

Why not DX10?

That isn’t as widespread on peoples machines. Although my next game will not be that casual, I don’t want to assume people have DX10, as I certainly won’t be including it in my games installer. It offers no real advantage for 2D gaming over DX9, AFAIK.