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

Explosions

I’m trying to get better explosions today. So far I’ve achieved sod all. The topis the sample explosion from Star Wars:Revenge of the Sith. On the bottom is my current attempt.

It’ll get better…

GUI Coding is slow and dull…

I still hand code my GUI stuff. TBH, although I know people talk about using GUI libraries, I can’t see how it can save them that much time. I have a library of stuff like button, and window classes. This isn’t the issue. The issue is coding all the stuff that says “this window has a button here, and when you click it, that scrolls through this list there”

GUI stuff takes ages. it’s also really boring to code, and there is a huge long list of features which are automatically assumed by gamers which you must have. All buttons need mouseover states and tooltips, and you need the idea of modal windows, draggable windows, windows that go to to the top when clicked, etc.

Add to all that, the nightmare of making a GUI that runs nicely in different resolutions. I know that stardock have some clever system for doing this, but they employ dozens of people and run their own GUI software business, so they can spend a lot more time on it than me.

This is why I’m not blogging about exciting enw stuff in ‘the game that has no name yet but will have a code-name soon’. I’m doing GUI stuff for one of the three big ‘management’ parts of the game, and it’s nothing exciting to talk about. Not compared to the lasers and explosions anyway.

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.

BANG!

Today I’ve spent the whole morning working on getting my old particle engine editor doodad from Rock Legend (used to do the pyro effects) in a fit state to use for my next game (should that continue to be my next game).

I’m often amazed at how crap my tools are in comparison to everyone else (maybe that’s why i get the games done though?). Anyway, this is the most feature-rich tool I’ve ever had for one of my games (and It’s not finished yet).

The post-release crush

There is tons of stuff to do after you release an indie game. There isn’t much of a relaxing pause as you might assume. Sadly, many indie devs DO take a few weeks off after they release a game, which is a mistake. There is much work to do! (I am planning on a holiday but not for about 3 weeks yet).

Firstly there is the telling everyone you have released a game bit. I’ve done a *bit* of that, and a proper press release will go out to people on Monday. I told a few journalists I know personally, and have a few more to do. If anyone knows a website that reviews games and might be interested in Kudos 2, point them my way (or me at them)

Then there is the download sites like download.com. They are less and less useful these days. They are still worth submitting to, but their relevance compared with ten years ago is minuscule. These days it’s all about the ‘portals’. This sucks slightly, because the download sites ranked stuff according to popularity and often thus, how good it was. The portals rank stuff based on how much money they make from that sale. This is very different :(

Then there is the tech support. All games ship with bugs, and Kudos 2 did too. And even after the patch it seems I still have one. It’s to do with the script parser. Basically, some of the scripts have blank newlines in them. This is no big deal, as any script parser worth it’s salt will discard empty lines and not process them. Mine does this fine, at least it does on my two test machines, and all my friends test machines.

But lo! There are machines which seem to interpret low level text reading code differently and thus the empty string discarding isn’t working. I think this is trivial to fix, and tbh, I could have fixed it in the last patch, but I wouldn’t have been understanding the bug then, just sticking big sticky tape over it and pretending it was dealt with. That is the WORST way to debug. Proper debugging means you find out exactly what circumstances had caused the problem, fixed it, and verified that those same circumstances now no longer cause issues, as well as being 100% certain you are aware of how the new code operates in all circumstances.

This is harder, and takes longer, but bitter experience eventually persuades you it’s the way to go.

So far sales are ok, but nothing that inspires me to buy a new yacht, or indeed a new car. I am going out for a meal at a pub tonight (it won a gastro pub award once!) so that’s about the level of riches the game equates to.

“Cliff is a stressed, tired software-developer.