Sunday, August 13, 2006

Revamping Kudos

I'm pleased with Kudos, it's a game I'm proud of, but It needs to be better. I'm fully aware of the game needing more content, more variety, and greater ease of modding, but there's something else that it needs to, and that's something that's harder to achieve:

It needs to look better.

People tend to look at screenshots of a game before deciding whether to download a demo. I reckon a huge number of potential customers for *any* game are killed off at this first hurdle. If my game is immersive, interesting, fun and original, but the screenshots make it look dull, I'm sunk. It shouldnt be this way, but it is. Chess looks dull as dishwater in screenshots, but it's still a cool game. I'm not making puzzle games here, but games that bridge the casual/hardcore crowd. Some people only download very impressive looking games, and Kudos screenshots make it look too samey.

So I'm working on it.

One thing I decided I needed to do was have more variety of backdrop. Right now, you have a single high-res quality image of your characters face against a wishy washy blue effect backdrop like this:



And that's ok, but what I thought I could do instead would be to reflect the current weather as a backdrop instead of the blue washy bit. I already have a weather indicator, but it's much nicer to have it reflected in the whole screen instead.
The problem is, that means rendering multiple passes per frame to compose each backdrop, because having 3 1024*768 bitmaps for each avatar (3 weather types) would bloat the game. I decided I could do it by splitting the composited backdrop into the separate layers, and put them together at runtime, this would give me mroe flexibiltiy whilst also shrinking the filesize.
But the fillrate required may be too high for older video cards.

Luckily, there is a solution, and it's the one Sim City 4 uses. You do all the rendering once, to a special texture, then just draw that texture each frame.
It took me a while to get the rendering to a texture to work ok, and I need to ensure it works ok on other cards, and have fallbacks in place, but so far, I'm pretty pleased. Ideally I'd go further and have proper 'live' rendererd weather effects, but sod that for now, I'm already happier with the variety it gives the backdrops: