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

New Beta ‘balance’ patch for Democracy 3.

After a brief period of thinking about writing AI that plays Democracy 3 (I am still going to do this one day), I took to doing some cunning data mining, and then did a lot of play-testing, and musing, and staring at graphing calculators and came to a few conclusions as to what improvements could be made to Democracy 3 to make it a more accurate sim, a more fun game, and a better balanced game. The conclusions I came to are in the beta patch I’m releasing today on steam, meaning that you need to right click the games name in steam, go to the properties tab for it, then betas, and opt in to the pc beta (no password)

beta

. That gets you the following changes:

Version 1.26
============
1.    Unemployment now contributes towards obesity
2.    Increased impact of car usage on traffic congestion
3.    Increased base likelihood of a teacher shortage.
4.    Unemployment now reduces the chance of a teacher shortage.
5.    University Grants now increase the chance of a teacher shortage.
6.    Reduced impact of CCTV on Armed Robbery.
7.    Added impact of low inequality on Armed Robbery.
8.    Changed equation for GDP impact on Alcohol Consumption to be non-linear.
9.    Added impact on doctors and teachers strikes from trade union membership
10.    Adjusted impact of state school funding on teachers strikes.
11.    Added effect of wages on Teachers & Doctors Strikes.
12.    Added effects of science funding and the environment to contagious disease.
13.    Arts subsidies, Bus subsidies and community policing now reduce unemployment.
14.    Adjustments to triggers for various events.
15.    Increased impact of refugee crisis event.
16.    Effects of corporate exodus event worsened.
17.    Increased impact of Unemployment on CrimeRate.
18.    Impact of religion on antisocial behaviour now linked to membership, not frequency.
19.    Unemployment now linked to antisocial behaviour
20.    Trade union and Socialist group memberships now contribute towards general strike.

As you can see there are some new links which should have been in there but I never thought about them (unemployment causing obesity is one), plus some tweaks to simple numbers and influences on events. It was really interesting to look at stats and realize how some events and situations were simply not triggering for many people, so effectively they were missing out on part of the game, and the numbers now mean that they are m,ore likely to experience the whole range of events and dilemmas etc. I feel such a fool for not having done this analysis ages ago, but I guess you live and learn. I felt like a fool for never having multi-threaded the ‘next turn’ bit of the game until recently. (BTW thats why its so fast).

Hopefully a bunch of ambitious tweakers will opt in to the beta (you can always go back to the original game at the moment), and give me feedback on if this marks an improvement on the basic game. I’m probably going to leave this beta for a while to see what the consensus is before I set it live, or maybe do some more tweaking.

In the meantime I have 2 big announcements about other stuff coming up. Oh yes.

Oh and if you are confused and wonder what democracy 3 is. click here. And if you have any opinions on these changes feel free to post them here, I read them all.

 

 

Autobalancing Democracy 3 (part 2)

So it turns out that we already have about 2,000 games of Democracy 3 being played every day by actual players, rather than some hacked-together AI of mine, so I thought step 1 might be to grab data on how those games are being played to see if I could spot any obvious balance issues. I started collecting a few basic stats at the point of elections yesterday and already have a ton of data here:

http://www.positech.co.uk/democracy3/stats.php

I have a few pieces of data I was interested plus a snapshot at elections as to which of the best known situations are active during victories and during defeats. So for example 1% of people who won the election have gridlock, but 10% of losers do. Average GDP during an election is 51% but 55% if you win, and so on…

Actually extrapolating balance issues from this data will be a bit tricky though, as I likely need more data to back up my assertions, but right now, from the current data I am tempted to proclaim the following:

  1. The game is too easy (85% of elections are won. Granted some people get assassinated beforehand…but still..)
  2. Unemployment at victories is still 28%. Maybe unemployment is not having enough of a negative impact?
  3. 20% of people have eliminated poverty entirely (got it to 0%). That seems high. This should be harder.
  4. Gridlock is only a problem for 1% of victories. Maybe this should be harder/slower to fix?
  5. Teacher shortage never seems to be much of a problem, this should trigger more?
  6. Armed robbery is generally very rare, even when losing. This should maybe trigger more?
  7. Corporate exodus is actually higher during victory. This may actually make sense, as people are ‘buying’ the public support despite a huge debt?

Its going to be pretty difficult to get the exact data I want. For one thing, the game NEEDS situations that are *bad* but only crop up in later terms, and I don’t currently track which term we are in. Democracy 3 Africa has a very cool mechanic where people arent bothered about some issues until more pressing issues have been fixed. I suspect I may need to introduce an element of that here.

My main worry, a bit like a doctor is that I need to ensure I ‘do no harm’. Its better for me to leave Democracy unbalanced but hugely popular than tweak it and break it…so I#’m nervous of any big changes.

Theoretically auto-balancing Democracy 3

The problem with games like Democracy 3, or indeed Gratuitous Space Battles, is that they are VERY hard to balance. Balancing a game is exceedingly hard, even if you agree, like me, that ‘some’ inbalance is actually what can make a game fun. (If all choices are equally effective, why pretend there is strategy to the game?). DFor big AAA studios with huge testing teams, pre-release balance is easier. For one or two man indie studios, its almost impossible to do in house.

The common solution is early-access / pre-orders with beat access, which get a lot of people to play the game. However this assumes that

a) Those players are representative in terms of skill, time, and play style to the wider public

b) You get decent feedback from all those players, not just the hardcore and

c) The feedback from the players is impartial and can be relied upon.

With a game like Democracy 3, c) is a real issue. A lot of people complain that capitalists are hard to please, but how do we know if that’s true, or if its feedback from socialist players? Anyway, as a geek, and a coder, and someone who embraces complexity, an alternative strategy of letting the game balance itself obviously appeals. So clearly, getting the game to play itself constantly and discover, then report, and maybe even auto-tweak and adjust its own rules, is the ultimate goal.

This would be an ideal ‘summer vacation’ project for me.

Actually, the bit most people are probably wary of (coding the bit where the game comes up with a strategy, plays the game and developers improvements to its play style based on the results), isn’t the bit I’m worried about coding. That bit wont be too bad (i’m not aiming for alphago levels of skill here), the bit that makes me roll my eyes and go ‘Can I be arsed?’ is the mechanics of introducing a wrapper to the game that lets it play itself. The problem here is just doing a nice, clean job of introducing such a system without breaking the game or introducing anomalies.

This is where Alphago is AMAZING, because it simply uses visual input. Frankly that ain’t gonna happen, so I’d have to embed code in there…or would I? an ideal system would be hands off, a new ‘GeneticD3.exe’ that launches D3, non invasively, makes player decisions, then handles everything without touching any D3 code directly… Surely that cannot be done?

Mwahahahaha. It possibly can…almost, because D3 is already set up to autosave each turn. And because its turn based, all the ‘decisions’ happen at once. So all I really need to do is to write code that parses the D3 save game (handily already xml), makes decisions as to what to do, runs those decisions through the D3 engine (that bit gets tricky), and then dumps out the next turns save game, repeat ad finitum. To do some rough maths, lets say saving and loading D3 takes about 2 seconds (I rule at optimizing), and we give a generous 2 seconds to make a turns decisions, thats 4 seconds a turn, 64 seconds per term in office, or a 4 term complete game in 256 seconds, so roughly 14 games per hour, or 300 games a day. Thats actually remarkable slow. If AlphaGo needed 100,000 games to learn, I’d need the best part of a year. Still, assume some cunning multithreading and optimizing (I don’t ever need to touch the disk really, all save/loads could be trapped in a RAM buffer), I could probably quadruple the speed, so 1,200 games a day?

I am seriously thinking about it. It would definitely be fun.

Democracy 3 and its situation mechanics. Broken in implementation?

In playing a lot of Democracy 3  lately (also playing a lot of democracy 3:Africa), I have started to wonder if the way a lot of the situations are set up is a little too ‘steep’ and could be balanced better, especially regarding some of the negative situations.

Take for example, technological backwater…
This kicks in at level 0.6, and ends at level 0.4 for its inputs. So if your hidden backwater value reaches 60% it starts, but you have to go below 40% to get rid of it. I think that mechanic is fine but…

The impact on GDP (for example) is
-0.02-(0.12*x).
Which means that when this kicks in, you will get
-0.02-(0.12*0.6) which equates to -0.092, or a 9.2% drop in GDP. (actually not that simple, because its a 9.2% cut in 0-1 terms, which if GDP is, for example 0.5, that would be a 18.4% overnight drop in GDP).

Looking at it backwards, when you beat the tech backwater, assuming a GDP value of 0.5, that
impact on GDP just before it drops is
-0.02-(0.12*0.4) which would be -0.068, or 13.6% of current GDP.
Thats a sudden jump up and down of GDP in double digits, which seems huge, given that its a fairly arbitrary measure.

I’ve tried to illustrate the current setup with this crude graph. Bright red is the bit where the backwater kicks in and is in force. Dark red is the bit where its still in force once its triggered. The green lines show the sudden ‘jumps’ in impact on GDP when its triggered (rightmost) and when its fixed (leftmost).

graph

What I’m trying to avoid is the situation where you GDP just flat-lines or is 100% all the time, rather than being more interestingly poised between the two and shifting more realistically. Which countries GDP ever jumped 13.6% in one quarter? I’d say few:
http://data.worldbank.org/indicator/NY.GDP.MKTP.KD.ZG

So…if you are still reading..well done :D. What I’m suggesting is that maybe the situations such as these need to be tweaked a bit so that the ‘entry’ and ‘exit’ top the situation is less drastic, and that, for example ‘reducing’ a situation like tech backwater becomes more relevant than the current situation where its a bit binary and a bit of a ‘its active or not’ mechanic. For one thing that -0.02 starting point could go and be replaced with an adjustment to the top end (so 0-(0.14*x)) or maybe it needs more of a curve and a different starting trigger. Or is it fine as it is?
Thoughts welcome!

Political awareness vs income and education (Democracy 3)

Lets say I wanted to introduce the concept of spin, and media campaigning into a political strategy game (hypothetically).

I put to you the following conjectures:

  1. There is an extent to which everybody is influenced in making their political decisions by their perceptions of the candidate as produced by ‘spun’ media stunts and the extent to which they are exposed to political campaign literature and advertising.
  2. The extent to which that influence takes hold of an individual is higher if that individual is of low education than if they are of high education
  3. There is a correlation between income and education, with regards to the individual.

Now I am talking about the greater STATISTICAL model here. I am not saying that all rich people are well educated, that ll poor people are badly educated, or that all well-educated people are like spock and can see through the spin, whereas all poorly educated people are gullible fools who swallow party-propaganda without question. There are MANY MANY exceptions, of course. What I am asking you is this… is there a correlation (maybe a weak one, affecting maybe 10% of the vote) in these values?

This would seem to suggest that its not nonsense to correlate the level of socio-economic status of an individual with their political awareness…

spso_0006_0167_1

So is it not fair to suggest therefore a link between an individuals income and their level of political awareness? And as income affects education, should overall education not be a factor?

To put things in more crude terms, here are some yes/no questions:

A) If we spent a lot more on education in any given country, would that increase the extent to which people made informed decisions on political policies rather than voted for trivial/superficial reasons?

B) Is it easier to get votes from poor people using political ads and spin than it is to get votes from rich people using the same methods?

Be VERY careful. Almost everyone thinks ads don’t affect them, and they are all wrong, but I suggest that if the ONLY information you have about the policies of (for example) Clinton or Trump is from political ads, then you are more swayed by such techniques, whereas if you read 3 different serious newspapers, watch different TV news stations and are well-educated on the topics of politics and economics, are you not better placed to overcome the effects of those ads with your own internal thoughts?

Basically if I add a correlation between the susceptibility of voters to electioneering and their income, and skew all of this by the countries state of education, is that a fair link to make? or is it elitist bollocks? :D  I need your opinions. Supporting studies and charts are vastly interesting too!