Monday, April 30, 2007

Last ever blog entry

Not really, but it seems that this blog:
started this thing where you make your pretend last blog entry, and I was 'tagged' by this guy:
To make mine. So here we go:


There is nothing 'special' or 'talented' or 'clever' about the people who start up companies, or write songs, or write novels, or achieve great things. Their DNA is just like anyone else. I have no natural musical ability at all, and cannot sing a single note in tune, yet I ended up a guitar teacher. I can barely swim, yet worked as a boatbuilder. They didn't even have computers when I was at school. I work as a computer programmer. All it takes is time, persistance and confidence.

If you don't like your job. LEAVE. It's really not that hard. It's much less risky than you think it is. You will *not* starve in the street. If you really want to make a success of yourself then get on with it. Don't sit watching TV and drinking beer and surfing the web and kidding yourself yourself that you are 'unlucky' or 'didn't get the opportunities. If you are educated, computer savvy and healthy, then you have an advantage over 90% of the planets population. Quit dreaming and start doing.

And don't pay too much attention to doom mongers telling you that you are mad to quit a 'nice' 'safe' job. I once quit a £54k job as an IT consultant (about ten years ago), and don't regret it one bit.

What you need is more self belief, and less concern about what others think of you.
Bye all. :D


Friday, April 27, 2007

ServWise - new Web Host

A friend of mine has set up this company apparently:

worth a check if you are looking around for decent web hosting.

I bought a new motorola phone yesterday, in a naked act of consumerism. I am so 'down with the kids' now.

Monday, April 23, 2007

Font Rendering was rubbish

I used to use GDI for my in-game text. yeah Yeah, I know... it's sloooow and people say you should never call Lock() every frame on a surface, but its all nonsense. Thats how Democracy and Kudos worked, and they run fine.


The problem is, you really can't go mad calling getDC() and Lock() when you use DirectX. doing it 4 times a frame is bad, doing it 10 times is BADDER.
I went to huge lengths to avoid this, but if you have GUI elements you can slide around, you can't render all your text at once, because some should be obscured by objects above (as with a windowed GUI).
So the GDI stuff had to go...
Actually, it's still in, and lots of Kudos-RockLegend uses GDI text. But the main screen, with all the overlapping icons, no longer does, purely for performance reasons.
I spent a lot of time improving the good old Starship Tycoon era Font Renderer, and it looks much better. it STILL doesn't look as sweet as GDI, but it's not bad.

So that's all done, and now I'm back in playtesting land. Just did a 5 year playthrough this morning, and I'll spend the afternoon improving, fixing and tweaking all the stuff I made notes on during the playthrough.
Can't be far off till I declare it in a beta state I reckon.

Friday, April 20, 2007

Ten Times Faster

Just made a nice tidy up in my text rendering code. Previously I had this:

GDITextChunk* pchunk = Chunks.front();
delete pchunk;

Now I have this:

std::list::iterator it;
for(it = Chunks.begin(); it != Chunks.end(); ++it)
GDITextChunk* pchunk = *it;
delete pchunk;

And its TEN times faster that way. woohoo. I probably changed the way chunks were rendered at some point, and never thought to re-evaluate that part of the code. I might see if I can get away with the chunks being in a vector instead, that might be even faster.
Rock Legend is going well, done some serious play balancing, and now I have the gig art in, so its a case of having a quick look at performance optimising. That's the trouble with developing on a dual core machine with an 8800 GTS, you have no idea if normal amchines can run the thing ok.

Sunday, April 15, 2007

Gameplay Balancing

In my efforts to reproduce a very rare but nasty crash bug, I've been doing some long playthroughs of the game. I'm probably going to 'end' the game at the five year point, with the score shown then, and the option to continue forever if you like (not sure about that yet).
I've got a lot of things that need tweaking to keep the late part of the game balanced. As you get to the bigger venues, it becomes too easy to sell them out, and your big concern is to get together the cash to hire the venue in the first place. This is wrong, and selling out a gig needs to be a tricky and rare situation.

Currently the potential audience is FAME * 10, and the amount who show up is affected by your hype.
But there is a mismatch in data between the size of venue you can afford to book, and your audience. This is just a numbers game, I need to tweak it a lot and get it right. I think I'll write some code that logs how famous you are at each gig, and the gig capacity, and then adjust either their capacities or the equation for attendence accordingly.
This is one of those things that might take a few weeks of constant fiddling to get right. I know I'm at *least* 4 weeks from a finished game right now.

Thursday, April 12, 2007

Modding and Skinning

My last two games (Democracy and Kudos) both had some limited mod support. They even had a built in feature to download new content direct from my server as it became available. I think that's quite a cool feature to have, especially if you can make it easy for people to create their own content (web '2.0' is the buzzword for this).
To be honest, Kudos-Rock Legend will NOT be my big 'mega-moddable' game. It's just not designed around it like my next one will be.
However, I'm determined to get at least some customisability in there, so I added a very basic supprot for different 'skins' for the game.
At the moment it's just a different background graphic for the game, but once I have all the support in there for choosing a skin, and everything else is donw, I might come back and add some more customisability.
Ideally, people who made some really good background graphics could share them with other players. I can imagine some die-hard Iron maiden fans knocking up suitable backdrops for example.
Right now, there are only 2 -> the 'classic' and 'metal' skins :D.

Wednesday, April 11, 2007


Super excellent indie-game centric site GIBBAGE has relaunched. Not only was gibbage always a fun read, especially for people who have a *ahem* cynical view of the games industry, but its now gone all 'bill and melinda gates' on us.
That's right, the huge multi-million pound earnings from the GIBBAGE website are apparently going to be re-invested in original, innovative and fun games by indie developers.
To celebrate this hugely charitable act, I'm suggesting all dozen people who read this blog (most of you are apparently pirates who like defacing my forums, months after we had declared a truce, or take-2s legal dept), go check out GIBBAGE.
Theres even some l33t reviews of cool games like Kudos and Democracy on there.

Friday, April 06, 2007

Rock Game progress report

Ok, so what's been going on?
Firstly, I moved my site to, which will be the new name. Secondly, the game will come under the 'Kudos' brand now, so it's officially Kudos : Rock-Legend, or 'KRL', which sounds kinda cool. The game *does* play in a similar way to Kudos from a basic concept POV, but it's way more different to Kudos than a traditional sequel or expansion pack. It's a major variation on the turn based life sim strategy thing.

I'm currently at the 'check the long term playability and balance' stage, which is proving tricky, and rewarding at the same time. Many big changes and tweaks have happened 'under the hood' that you can't easily point at.

I changed the way that the success of gigs is determined in quite a big way, to enable me to scale the game properly from small pubs to big venues (18,000 capacity is the biggest right now).
I also had to revamp the publicity stuff to reflect this properly. There needs to be a point (stardom wise) where handing out leaflets to passers by just won't have the same effect on your popularity (in percentage terms) as it did when you were a little pub band, and the old system didn't allow for that.

I also decided to 'scale' the rates at which stage show expectations, and performance expectations improve with bigger venues. Eddie Van Halen may be twice as good, or maybe 4 times as good as a local pub guitarist, but you expect him to have 100 times more lights, lasers and visual effects on stage, and I needed to allow for that too.

My current task is to balance a new thing I put in which monitors all the different 'inputs' to a gigs success, and causes disproportionate problems if any of them is tragically low. For example, we probably reckon that the light show accounts for maybe just 20-30% of the impact of a gig, but if that light show is totally awful (1 30w bulb at madison square gardens) then it needs to have a seriously bad effect on the overal gig. This way, you need to keep an eye on everything that goes in to a good gig in order for it to go well.