Thursday, November 29, 2007

Why fictional countries?

A few people have asked why Democracy 2 has fictional countries rather than real ones. Here is why...

1) Democracy 1 has real countries, and it will still exist, so I would prefer to have a different approach.
2) I got a LOT of people complaining that the real countries did not cater for all the real-world issues in that country. Plus people saying they lived in country X and country X does not have inheritance tax, and in fact it does have a high level of technological capability, and that they don 't have street gangs, and that clearly I was some evil foreign devil who just hated country X.
3) Having fictional countries lets me have more radical things happen. For example, your country controls an island that can be invaded by foreign armies. This just doesn't make sense for a lot of real world countries, but with virtual ones, I can go mad.

Those are the main reasons I'm doing it this way. Flexibility basically. Hopefully people will not be too sad that their favourite country isn't in the game . I guess some people really enjoyed making Canada a patriotic militaristic empire...

The game is shaping up really well. I haven not gone a whole day of playing it yet without spotting something to fix, so it's not releasable yet. But now its minor things, like text needing correcting, or some minor visual tweaks, support for swapped mouse buttons etc.

Wednesday, November 28, 2007

NAME THAT COUNTRY!

I need country names for Democracy 2. The ones I have picked are rubbish. They need to be fictional, with no accidental clashes or mean anything dodgy. but they need to sound like countries. Any ideas? You don't win anything :D

Sunday, November 25, 2007

Title screen

I didn't like the American flag in the old version, and beta testers have agreed with me. the game isn't set in America, so it seemed wrong. What do people think of this? It's a flag made up of a montage of classic election posters, with a color hue on it.
Opinions much desired.

Free Image Hosting at www.ImageShack.us

Friday, November 23, 2007

Worst Bug of the Year

I recently encountered a bug during Democracy 2's first beta test that drove me mental. It took me two and a half days to fix. Here's the details...

The game would crash on shutdown. Not in debug, not in release-mode if run from within visual studio. But if I just clicked the exe and ran it, I'd get an exit crash.
Everything everyone knows about release-mode only bugs says this is a variable that I had not set a default value for (debug will do that for you, and even release-from dev studio does it).

I spent at least a day looking for such a variable, and found none. Bah...

So I try allsorts of tricks to see WHERE it crashes, running 'release with symbols' which still crashes but lets me see where. It's in the code where a dilemma is being freed. Aha... I must corrupt the heap somewhere during the game right?

But no...
because not only is ALL the dilemma data fine, if I run heapCheck() JUST before the memory is freed (in the destructor), it says it's fine. Everything seems ok and the memory seems fine right up to the picosecond where it clearly isn't and the game crashes... On top of that it happens in the 34th dilemma. If I remove #34, it happens in the next one, so the data must be fine. how weird...

Day 2. In a co-incidence, I realise it runs fine on my laptop. that's Xp,not vista, but I have XP testers with the bug. how strange...

Day 2.5... I am experimenting and realise to my amazement that if I exit from the quit button, its fine, rather than just alt+f4 or using the windows X button. Why could that be? I step through the code...

Holy cow, in the quit button stuff I release all my game data then do this

PostQuitMessage(0)

nothing wrong with that. but in the code for WM_DESTROY I do this:

PostQuitMessage(0)
GetGame()->ReleaseData();

Holy crap. I see the problem and its fixed. On a single-core PC I think this is fine, but on multi-core, it looks like one core does the PostQuitMessage() while the other starts freeing my data. The PostQuit() stuff (which is part of windows) finishes and terminates the process while the other core is still deleting the dilemmas, and in code-terms, pulls the rug from under the other cores memory.

Somehow in debug, this isn't allowed to happen.

Lesson learned kids! Always ensure you don't do bugger all code after PostQuitMessage()!

Now back to the fun stuff.

Wednesday, November 21, 2007

Kotakoooed

So apparently the copy protection blog post made it to kotaku. Some reasonably intelligent debate followed, which makes a change, although I got a lot of blog comments that just had a go at me, or told me to go get another job etc. ho hum.

To clarify:

I don't like DRM and have historically not used it
I totally understand and sympathise with honest gamers who are inconvenienced by on-line
checks
I don't want to spend any time on this, or inconvenience anyone
I don't feel entitled to earn a living from my games, but if people like them enough to play beyond the free demo, I feel i have earned the right to charge them $22.95 for it.

I will probably go ahead with on-line one-off server validation, to prevent casual piracy. I will also almost certainly remove that with a free patch within a year. The chances of 'me going bankrupt' and leaving people with games they cannot play is zero.

People get very upset and angry if you say you are going to do something about piracy. The thing is, those people almost never make their living from developing digital content. Working your nuts off for a year to create something original, and then seeing it being given away by other people for nothing the day it goes on sale is totally soul destroying. Especially when the idiots doing this get upset if someone does not 'thank them for their work', meaning their forum post with a rapidshare link.

Something has to be done about piracy if we expect to still get anything but half-finished amateur content in the future. piracy is getting too bad, and the PC market is already falling to bits. Who really expects people who want to keep making commercial PC games not to try and do something about it?

Saturday, November 17, 2007

Donnie Darko

Donnie darko is on uk tv tonight. That film was the original inspiration for kudos.
Yeah.. the design changed a lot. The main game mechanic used to be keeping your character sane.

Friday, November 16, 2007

MSN Ads

I'm trying out advertising on msn for a while, as google isn't paying off right now. I'm not sure why I bother though, increasingly everyone on the net just pirates everything and tries to put small devs out of business. At this rate I'll give up game dev and have to go work writing databases.
Grrr.

Thursday, November 15, 2007

Democracy 2 Website

It's not vaguely final, but I like to work on things in bits and pieces so my work day isn't too tedious:
www.positech.co.uk/democracy2
I'll probably have a new redirecting page at www.democracygame.com that links to both the old and the new game, once I'm ready.
I'm bugfixing and tweaking still. two days ago I went clay-pigeon shooting. I'd never held a gun before in my life, so it was a bit weird. Still, I got well into it, I even hit 8 in a row at one point. Ph34r me, you clay nemesis.

Wednesday, November 14, 2007

Copy Protection

I've done most of the code for Democracy 2's copy protection. The original game was a full install exe that when bought, you just installed and ran. In any sane world, that would be fine. But todays world is sadly not that idealistic .(I even had one scumbag of a customer buy the full copy of one of my games, then post the download link on a warez forum. This person didn't think they were identifiable, but in fact I have her home address and phone number. If I wished to do so, it's an open and shut case for prosecution.)

I don't live in a box, i know about warez, and I know when my games get posted.

Sadly, I need to do something to prevent the rampant casual piracy that is becoming the norm in pc gaming. The industry seems to have 3 solutions right now:

1) make MMO games exclusively.
2) ad-supported games which are free
3)on-line validation by a central server

I'm not about to do 1) and I hate 2), which leaves 3). So Democracy 2 will need to be validated on-line. It should be very quick, and very painless, and there's no spyware or rootkits or other nonsense. Just an on-line serial number check before you can run the game for the first time. And it-s a one-off thing.
This means that if you want a friend to buy the game, burn it to a disk for you, so you can play it on your machine that has no internet access, your fucked. Sorry, but that's the inevitable downside, and I suspect 99.99% of my customers have web access, as I am pretty much an on-line company. Don't buy the game if you want to play it on a machine that never has web access.
You will still be able to install it on multiple machines (but not dozens!), you can still backup the installer, you can still get the game again in 5 years time if your house gets blown up by terrorists etc etc.

I wish I didn't have to take time away from game development to do that crap, but as usual in life 1% of people are screwing it up for the other 99%. People who pirate games might as well wear a T shirt saying " I hope PC gaming dies", because the number one reason for that right now is people not buying the stuff,

Feel free to say what you think about all this.
BTW, the game is going well, only a few weeks still to go before final testing starts,

Wednesday, November 07, 2007

DIGG ME!

you know you want to!

http://www.digg.com/pc_games/Democracy_Game_Launches/

yeah its plugging the retail release, but every bit helps right?

Phone Line Fixed

W00t. A dodgy terminal at the top of a telegraph pole apparently. Just in time for tomorrow's release of Call of Duty 4.
HURRAH!
I am in the final testing stages of Democracy 2 now. Screenshots and maybe a limited beta test coming soon.

Tuesday, November 06, 2007

Ministerial Decisions

Just fiddling with the code for ministers a bit today. I did a playthrough which seemed ok (won the election just about, but I hit the debt ceiling just afterwards and got booted out...), but the ministers are more of an annoyance than a fun element. I came to the conclusion that they must be calculating their loyalty wrong. Basically what they do is have two voter groups whose opinions they acre about, say commuters and socialists. If I treat those groups badly, the minister will be upset, his loyalty will drop, and the amount of 'political capital' I can get from him to further my policies will fall.

The problem is, I had not set the ministers 'calculation mode' right. So they were adding the two groups opinions rather than taking an average. This meant a lot more annoyed ministers than were justified, so it meant less political capital and too many resignations. Hopefully that's all fixed now. Back to playtesting

Monday, November 05, 2007

Recruiting Terrorists

I decided to ignore what the game looks like today and concentrate on gameplay. I've tweaked the visuals a lot lately.
Anyway, met all kinds of bugs and problems, mostly fixed, but my main problem was terrorists. The number of people joining the groups was too high (easily tweaked) but the problem is it seemed counter-intuitive.

Lets say you have a green terror group.



As a devoted environmentalist, I may be quite happy, because the govts policies are ok, but as a poor, socialist trade unionist, I may dislike them intensely. So I end up joining a green terror network, to vent my frustration at other issues. Obviously, I join those terror groups too, but that's not the point.
If greens are happy, there shouldn't be gren terrorists, however much the members of the group may have other legit grievances.

So I'm changing it so that each terrorist group has a 'key voter group', and its only open for recruitment if approval within that group drops below X.
That should sort it.

Saturday, November 03, 2007

dodgy router

so after a lot of testing, and a visit from a BT engineer, I'm now convinced by D-Link DSL-G624T ADSL router is crap, and generates static line noise that drops its connection and rumbles in my phone line.
So I've ordered a new linksys router/adsl thing. should be here in 3 days.
Grrrrr. ALL ADSL/Routers are CRAP in my experience. they just DIE.

Someone make a reliable ADSL router. every existing one sucks. Charge twice as much for it. people will buy it. we are all sick of buying cheap disposable crappy electronics with a 6 month lif expectancy.
You get what you pay for. Never be afraid to make a better product and charge more, whether its a phone, a TV, a leather chair, a computer game or a pizza.
Grr, it even died during this blog post....

Thursday, November 01, 2007

Spending boasts

Check this out:
http://news.bbc.co.uk/1/hi/uk/7072584.stm
lots of boasts about how much money is being spent. People do this a lot in the Uk. often when you see roadworks there is a sign that says "new £4.2 million underpass project". This bugs me. It's like the more money that is spent, the happier they are. Lots of politicians boast about how much public money is spent on X, where more == good.
More is NOT good when you spend MY money. Less is good. Tell me how much better the health service is despite reductions in the amount you spend. Don't boast about what things cost unless you are boasting about how little they cost.
They same is true in the private sector. I care not how much your Movie / TV series or game cost to make. This does not affect me. What matters is how good it is. I don't care if Call Of Duty 4 costs $4 million or $4, but i *do* care how good it is.
People should stop boasting about costs, and start boasting about efficiency and quality.

By the way, my games are made by one full time and a few part time people and do not cost much to make. They are still awesome :D.