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

More about the complexities of Democracy 3 income…

Wealth is a complex thing in Democracy 3. far more so than before. I’ve been wrestling with bugs in it today which have reminded me how intricate the new income simulation is. How does it work? Well here is a rough synopsis.

Every sim voter in the world (defaults to 2,000 of them) has an ‘innate income’ which dictates basically where on a scale of 0 to 1, they sit on the big income spread. This is their best effort, in an unchanging world, to make money. If you implemented no policies, they had no characteristics, and the world was unchanging, this would be their level of income. Obviously the real world is more complex. The simulated voter is actually a fractional member of a whole bunch (maybe 5 to 8) different voter ‘groups’. For example, to keep it simple lets say the voter is 52% motorist and 33% parent. That might sound weird, but this just makes him an average car user, who maybe has teenage children, so not a ‘hardcore’ parent with multiple infants.

Now the player may have policies in place, or simulation values may exist in the world that affect income for the groups in which the voter is a member. For example, Child benefit may make parents better off, whereas Petrol tax may make motorists worse off.  Because our voter is a member of these groups, we run the equations and work out the combined effect on their final income based on these changes.


But it’s not that simple… because we also have policies, situations etc which affect people based on their income. For example income taxes affecting the middle classes, or luxury goods taxes affecting the wealthy. The real complexity hits where someone may be middle-income by default, but the taxes levied on them due to their middle-incomeness actually makes them poor. With me so far?

What this means is that the income calculation has to essentially do this:

Step #1: Work out the extent to which we are poor, middle income or wealthy, based on our innate-income. Using this data, calculate the effects of the policies that affect those 3 groups on our actual income

Step #2: Calculate the effects of all the other groups, such as being a farmer, motorist etc, have on our income, to come up with a final figure for our new ‘adjusted’ income.

Step #3: Given the final income figure, place us in the poor, middle income or wealthy group accordingly, which *may* differ from our membership in step #1.

Why all this grief? Because it is possible, through social engineering to take people whose basic income would be poor, and raise them 9through state benefits) to be middle income, and then reap the benefits of their membership in that social group. For example, middle-income members may get a kick out of seeing a certain cabinet minister in office who sympathizes with them as a group (they like the speeches he/she makes…). This can work, despite the effect that only government policy has put them in that situation in the first place.

It’s a difficult effect to describe, but it’s a real one.  Peoples final income differs from their earned income dramatically due to state policies, and you tend to ‘identify’ with the political view of the income group you are ‘effectively’ in. In other words, you base your views on your take-home pay, not your headline salary.

I’m definitely going to make a simple pong clone one day…

Blog woes…of a minor kind, and trouble with RSS

So… I have better things to do then muck around with RSS, but it seems the gods of the internet do not want to hear that…. Anyway, there is a spanking new update to the positech games website coming (it may even be here as you read this…and the link is you might need to shift+refresh to see it). The site now includes blog snippets using RSS, which isn’t as easy as you’d think in 2013. With all this talk of going to mars, you’d think it would be something you could just plonk in an html tag like <rss> now, but oh noes…

You need to use javascript to do it, so there is a javascript plugin, which itself uses another plugin, which itself uses some library or other, and all of this has to connect to the third party service which is feedburner. Now that’s fine, because feedburner is free but… it’s owned by google who apparently have lost interest in fixing it’s many bugs (it doesn’t seem to want to update it’s grab of my feed at all today. yay! and the contact email link is dead. yay!).

More details:

I wish google would just be honest and tell people they are going to close a service, or maybe even charge for it, but to just let it fall apart is kinda shabby. It is is a blot on an otherwise reasonably productive day implementing the new homepage stuff.

PC Hardware Woes

Ever since I bought my latest PC, it has been very rarely, but annoyingly susceptible to random power-shutdowns. The PC then reboots fine, although when it is in the mood to do so, it may then power off after a few seconds (or minutes), and basically be unusable until I get grumpy and leave it for a good few hours, or overnight. It’s very rare, but very frustrating when it happens, and I don’t like the worry that one day this could actually nuke the hard drives or graphics card.

(I’ve pretty much ruled out any other cause of the shutdowns also, it’s definitely hardware, and definitely inside the box)

The PC cost £1,000 mostly because I had a big RAID array and an SSD and a meaty video card put in there. It never occurred to me that the PSU might suck. It’s apparently a ‘powercool pc-650auba-m’, which doesn’t mean much to me, except that it’s a brand nobody has heard of, which is a bad sign.

I finally lost patience with it this morning and ordered a new corsair PSU, which I will bravely try and fit myself. I used to actually work as a PC hardware engineer, so you might imagine I wouldn’t give this a second thought, but that was long ago, when PCI was a fascinating new technology, and USB was still a cutting edge feature. PSU’s now look nothing like the ones I remember. That’s reason #1. Reason #2 is that inside the case it’s cable city Arizona, and fairly squashed. I’m probably going to have to work out how the SSD is attached to the case, and remove it in order to get the PSU out, and re-running the mess of cables will be a pain. I think I should use all new cables, so I can rule out that as a potential cause. (kinda scary because the SSD is the boot drive)

Theoretically, the whole PC is under warranty, but I’ve done the PC hardware job myself, and I don’t rate much the chances of them actually caring, or agreeing to swap it out, and certainly not swapping it out on site (even if I pay), because I can’t be without a PC for any period. Plus, they will likely only do a like-for-like swap with another cheap PSU anyway…

So right now I am staring at a depressing progress bar while an agonizingly slow backup copy of all my source code (to an external drive) takes place. I have it all backed up online anyway, but the art assets are only local (and with the artists as original files) and haven’t been fully backed up for a while, so I’m going the extra mile. Realistically, the chances of really screwing up a PSU swap-out are pretty minimal, but this is my work PC…

In future, I shall be buying PC’s with really good PSU’s. It’s a silly thing to skimp on, and given current PC prices, and positechs sales, it’s madness for me to think about economy when buying a PC for my job. You live and learn etc….

Democracy 3: Voter type income design…

Sooo.. I found myself almost sleepwalking into adding a new feature to Democracy 3. I honestly can’t remember actually making the decision to include it, it just seemed to ‘happen’. In democracy 2, the model for income of voters is fairly basic. You can implement policies which affect different levels of income (luxury goods tax hits the rich, for example), and that would affect the membership of the poor, middle income and wealthy voter groups. So far so good.

But it turns out that life is more complex than that. My example of choice is ‘agriculture subsidies’. In the current game, Agriculture subsidies make farmers happy, and they also encourage people to become farmers (so farmer voter group membership rises). This is accurate, and logical and works well. But it has no actual effect on anybodies personal income. This is clearly wrong. So in Democracy 3, I’ve changed things so that each voter group has an ‘income’ value, and policies (and events) can feed directly into them. You also get an extra tab on the graph, and list of effects to see these things happening.


So now… Agriculture subsidies have their usual effects, but also they make farmers wealthier. The subtle effect is to push farmers out of poverty, and towards wealth. This may be more logical, and detailed and accurate, but why is it good game design? what does it add?

let’s say you have identified the poor, and farmers as two ‘core’ groups that you will base your support on. They are the bedrock of your voting block, and you will keep them happy. So far so good. One of your policies, as demanded by your poor farming supporters, is higher agriculture subsidies, and so you do their bidding. One of the side effects is now that a chunk of those poor farmers are now not so poor. They start joining the middle income or even wealthy groups, and that brings with it a host of other influences to their thinking (voters are in multiple groups, at varying strengths). Suddenly, there are more farmers thinking ‘hold on, I don’t think I appreciate this luxury goods tax, or inheritance tax. What were you thinking???’. Your policies that subsidized the poor and hit the rich (including those taxes on the rich you levied to pay for the subsidies) are now inadvertently affected the very voters you were trying to help…

it’s a subtle effect, but I think it’s real-world, and also represents an interesting trade off. I see this in British politics a lot. The left were concerned about child poverty and pensioner poverty, so to combat it, we got better provision of child benefit and winter fuel benefits for the elderly. Worthy goals, but they also push up the living standards of parents and the retired. This has side effects. Now, in a time of austerity, the government finds it extremely hard to reduce either benefit. This is the problem of so called ‘middle-class’ benefits. A policy designed to do one thing has had other effects, due to the changes on people’s income.

I think this is an effect worth modeling, and it’s fascinating to see it in game. When trying to make environmentalists happy, all my feed-in-tariffs and grants also make them better off, and suddenly I’m the champion of the wealthy and not the poor. I love trade-offs and compromises like that. They are the key to what makes Democracy interesting to play.

Gratuitous Space Battles FREE weekend on steam

…has now started. behold:


I could (and probably will) talk at length about the reasoning behind doing this, from a business POV. Suffice it to say for now, that there are always people who are skeptical of buying a game based on reviews, or a demo, and feel they need to play the whole game properly before they can commit to buying it. I guess this is the appeal of pay-what-you-want in some ways (I guess retrospectively…) and also FreeToPlay games. Never let it be said that cliffski is an old man afraid of trying new things :D

If you don’t know what I’m talking about here, Gratuitous Space Battles is my best-known game. It’s a space strategy/management game, that in some ways is like football-manager with space fleets, and in some ways it’s a puzzle games, and in some ways it’s an RTS. You can control the ships mid battle these days, by the way. The game has sold VERY well for a small indie, and won awards and stuff. You can check it out for free this weekend on steam (and there is a nice tasty discount to tempt you too).

So as to show off some of the latest shininess, here is the video for the last GSB expansion pack: The outcasts again… PLEASE TELL EVERYONE ABOUT THIS FREE WEEKEND!