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

Protest votes in Democracy 4. Final piece of the puzzle?

Democracy 4 is a game, but its also my attempt at a fairly accurate political simulator, given the limitations that are to be expected when you do not delve into the individual mechanics of voting systems, and constituencies and different systems such as primaries, mid terms etc.

One of the things that may feel unrealistic to you if you play the game and get good at it, is that sometimes you will win with a laughably high share of the vote. 80%, maybe 85% maybe even higher. In the real world, in true trustworthy and secure democracies, this is super rare. Why is this? and how can I fix it in Democracy 4?

The most obvious answer is probably that ‘differing views on politics exist…duh!’ meaning that no party is ever going to win over everybody. This is obviously true, but there is definitely a phenomena where political debate shifts focus over time, and either takes the electorate with it, or is dragged BY the electorate towards it, depending on your POV. This is often called the ‘overton window‘ and is the space in a theoretical political compass that contains the ‘theoretically electable possibilities’.

For example right now in the USA, segregation of the races is most definitely not inside the overton window. No serious party would suggest setting up apartheid in the US. Similarly, the forced seizure of wealthy peoples second homes by the state is not considered. This is also clearly outside the overton window. But there are policies that move in and out of that window over time. Is socialized medicine now in the US window? perhaps obamacare suggests it is, but thats a fairly recent inclusion.

The point I am making is that mainstream political opinion can shift over time, so in theory, if a government does a really good job, it could shift a LOT of people towards supporting it. There may remain 5% hardcore racists and 5% hardcore communist, but its *feasible* that a centrist party could get 90% of the vote, based on policies.

So why does this not happen, ever, and why does it feel weird if it happens in Democracy 4?

The trouble with letting a computer programmer like me design a voting simulation is that we act like classical economists, who have a concept of a rational consumer. Rational consumers have a price at which they buy product A. If the price is too high, we don’t buy, if its low, we buy. Thats classical economics. The problem is, it turns out that classical economics is horseshit.

Read up on ‘behavioral economics’ and you will find its a crazy world out there. It turns out that ‘free’ is a magical price that behaves totally different from $0.01. It turns out that sometimes we will buy more if the price goes up. Sometimes we will value a product at a higher price than we paid for it…for no reason at all other than psychological feelings of ownership. It turns out that we get confused between $2.99 and $3.01 and think the first price is WAY cheaper. If we buy a product for $9,500 and we see an option to add biscuits worth $5 to the price as an add on, we happily pay $20 for the biscuits. In other words, we are dumb, irrational chimps!

The same is true of voting. We do not look at all of the impacts of the various policies proposed by the various manifestos and then make a rational choice. We vote for dumb reasons, in dumb ways, for animalistic and pyschological and completely irrational reasons.

Democracy 4 models some of this as best as it can. Voters are individuals that have a sense of elasticity of opinion, based on age. In other words old people stick to their views and loyalties, young people chop and change. Actual chance of voting depends partly on party membership, partly on strength of feeling, partly on the campaign effectiveness by the likely party we normally vote for, partly on their innate tendency to do things like vote (randomized at birth).

Once a voter actually votes, we base their choice partly on rational policy evaluation, partly on their perceptions of the leader (strong/compassionate/trustworthy?), partly on how fed up with the ruling party they are due to its time in office (inverse political honeymoon), partly on the appeal of the ruling party’s ministers, and the amount that party spends. And a lot of this is mitigated based on how educated the voters are. Poorly-educated are more manipulated by this, and less by policy.

And ultimately this super-complex bunch of code spits out a decision by each voter… and sometimes 90% vote for you.

I just today realized what I’m missing. Tactical voting and protest voting. Basically people actually supporting you, but voting for someone else.

This is a big thing, especially in ‘safe seats’ or ‘non-swing states’ for US readers. If you live in a state where the democrats get 75% of the vote every election, and you are hard left…why vote for the democrats? You can safely vote for a third party harder-left candidate safe in the knowledge that the message will be received…but there is no risk of you letting a republican in. And the same vice versa.

LOTS of people clearly do this… but the game does not yet handle it. Not only that but the *chance* of someone voting is probably also influenced by this. I know 100% that where I live, our next MP will be the same Tory MP we have had here for decades. Its a super safe conservative party stronghold. So in theory, if I was a natural Tory voter, I could safely ‘use’ my vote to send a message to him that he should not be complacent…OR I could just stay at home that day, safe in the knowledge that he doesn’t need my vote and will win anyway.

I need to include this in Democracy 4, and I am just working out a way. Clearly some people are likely to vote tactically and some are not. I could simply give it a percentage and say 10% of the electorate are susceptible to these thought processes, then assign some other thresholds. For example if the polls show >70% approval for the ruling party, then scale in a chance I don’t bother to vote if I support them anyway, or scale in a chance I vote for the closest party to the ruling party that is *not* them (could be one of two opposition parties…).

I need to code this, and test it, but also hopefully find a way to represent this in the game. One way might be to make up a bunch of small protest-vote parties with fringe views, and represent them as another column of ‘smaller parties’ on election day. This could effectively be the ‘protest vote’ column… Still thinking about it, but I think it does need to go in…

Could this work?

Common mistakes by indie game developers

Background: I’ve been a one-man indie studio for over 20 years, sold millions of games on steam, direct, and on mac and even some console stuff. I’ve arguably had 4 ‘hit games’ over that period (seven figure revenue). This is all just my opinion, but its based on long experience. I’ve been programming for 40 years.

Making an indie game is really hard, but making a financially successful one is way harder. Luckily, indie game development is not new, so there are a lot of old wise experienced devs like me whose mistakes you can learn from. Nobody ever listens to the old timers, but I commit this to the web anyway for the 1% who do. This is offered purely as a means of help, I’m not trying to sell anything to developers. So here is what you probably do wrong :D

Do not choose the wrong platform

Do not make a mobile game. No small indies make money from mobile games. Its entirely owned by the big mega-corps churning out bland F2P monstrosities. Your innovative and polished arty indie game will get zero visibility. The discoverability for games on mobile is awful. Unless your advertising budget is in seven figures, avoid mobile.

Some indies do seem to make reasonable money on consoles, especially switch, but be aware that there is a built in timer here… the new console will come out in X years and render your target platform out of date, also be aware there are publishing hurdles here, and QA hurdles, and that you are again reliant on the discoverability efforts of the platform holder.

PC is probably your best bet for now.

Do not choose a bad genre

So you fancy yourself as a talented 2d side-scrolling puzzle platform developer huh? Let me guess… this one is different? it has a cool mechanic nobody has seen before! its got a cool setting, its got a cool art style…you REALLY like puzzle platformers etc..

Unless you literally have a seven figure marketing budget, or….. actually no, I cannot think of any other circumstance that makes sense… Do not enter a genre that is super, super-crowded. Look up the genre on steam and check out new releases sorted by date. Are you absolutely sure that you are going to get visibility there?

Game Influence | Run Willy Run | BK Insight | Banana Kick

Do not make a game you will not love

There is conflict here with the previous tip, because if the only games you have ever played are puzzle platformers, you may be screwed, but c’est la vie. You can NOT make a success of a genre that you do not really absolutely love. I tried to make a tower defense game once and it (relatively) bombed. You cannot just ‘do a bit of research’ into a genre and understand what makes it tick, and what players want. If you really do want to make a game in a genre that you have not played before, then you better set aside six months minimum, and rack up a good 500-1,000 hours in the hit games in that genre.


You also need to read forum posts, blog posts and watch lets-plays of people in love with that genre. You have to eat breath and sleep that genre, and know what an audience is crying out for. You have to work out why the hits in the genre worked and the flops failed.

This is one reason why my own top genre (political strategy games) has very little competition. The venn diagram of indie game developers, and people who studied economics and politics as their degree must be really small. Sure, you can clone an existing game, but are you able to converse with players of that genre like one of them? I KNOW why we do not have women represented as a distinct social group in Democracy 4, and why we do not model individual states. I could give you a 10,000 word essay on each topic at the drop of a hat.

Know your genre. Know it really well. Be the superfan in that genre.

Pick your dev tools, language, engine once. NEVER change them

I code in C++ using visual studio. I coded my own engine. I have not changed this. Ever. Not in twenty years. Why would I? What do you see in indie strategy games that I cannot do using this development environment? Almost all indies chop and change languages, IDEs and engines like they are changing clothes. This is utter, utter madness. You do NOT need the features in the latest shiny engine, and you NEVER will. If you must use something like Unity, pick a version and never, ever change. Not for the new shiny thing, no matter how shiny, not for all the talk of ‘better productivity’. Its all bullshit, and it will waste your time and cause you stress.

When I edit the csv files for Democracy 4 I use my copy of office 2010. I have not upgraded, nor will I ever do so. I can do everything in Excel 2010. I will not upgrade from Visual Studio 2013. When I tell people this, I get angry tirades from people calling me stupid, and telling me that clearly they are using much more productive tools than me.

None of those people ever seem to ship anything.

Do NOT upgrade your tools, do not upgrade your dev PC. Get everything sorted, start your game’s development, and touch NOTHING until a year after you have shipped your game and support has dwindled.

Use a name that describes the game.

Do not get all arty and clever and name your game ‘Adrift upon fragility : prelude’ or anything that sounds like a pretentious prog-rock album cover. Can I tell roughly the theme of your game, and its genre from the name? If not: you failed. You are not Jonathon Blow. People are not buying the game based on your name, they just see a game name and a thumbnail. If they cannot tell the genre and setting, you lose. Minecraft is an excellent name.

Actually start marketing from day one.

The minute you have anything, even some blue blobs on a black background, thats when you start talking about your game. Marketing your game is your job. Apple and Google will not do it, nor Sony, nor Valve, and streamers are not constantly scouring steam looking for obscure games. YOU have to drum up interest. Start tweeting, start blogging, start posting on reddit about your game in development. Do something related to your game marketing every week, right from the start so it becomes a habit.

Your individual style will determine what platform works best for your during-development marketing. I love youtube, despite being a complete introvert. I used to do weekly 15 minute youtube videos talking about my game. Now I do them every 3 weeks. In between this I also post development stuff to Facebook, reddit, my forums, steam’s forums and twitter. You need to cover multiple channels for people to hear about your game.

Marketing is NOT beneath you. Marketing is a skill, that is every bit as hard, and technical, and involved as programming. You need to take it seriously. its a BIG part of what you do. Marketing the game IS game development, and you have to put the hours in.

Tweeting a WIP screenshot once a week is not a marketing plan. Do more. Do much more. Ignore how many followers you have at the start, it WILL grow.

Do not make excuses.

Your game normally fails because you fucked up. Yes you. You did something wrong. Its almost always your fault. Its tempting to blame poor release timing (again…thats your fault anyway), or to blame a platform for not promoting your game, or even to blame gamers for not realizing how awesome your game is, but its almost certainly your fault. If you cannot accept that you screwed up, you will never learn how to avoid that mistake again.

Maybe your game had poor performance (learn to optimise) maybe the character art was poorly received (change artist/work on art skills), maybe the game was too short (add more content!), maybe you got the price wrong, maybe the name/platform/genre choice was bad. These are all your decisions.

This is especially seen during marketing. Devs always say they are too busy to do youtube videos or blog posts (MAKE the time, this is poor scheduling on your part). or that they do not bother tweeting a screenshot because there are no views. Its a circular argument. Nobody is hanging on your every word, because you never say anything…

Many devs DRAMATICALLY underestimate the effort required to market a game during development. As a good rule, tweet your dev progress every day, do a video once a week, a decent blog post with screenshots once a week, and submit this all to reddit and facebook and whatever other platforms you are marketing on. There should be dozens and dozens of articles and videos about your game BEFORE it releases.

Have an actual marketing budget.

Knowing what I know now, if you took away every penny in my bank account and asked me to market an indie game, I would do 3 things.

  • Sell something I owned, probably a laptop, to raise money for marketing
  • Get a part time job waiting tables or driving to raise money for marketing
  • Put in 40 hours a week full time making videos, writing blog posts, replying to forum threads, tweeting etc.

If you have zero dollars marketing budget then you need to go get some dollars. Not $100 or $1k, think $10k bare-bones minimum. In an ideal world, 20-50% of your development budget would be for marketing. This might be spent going to shows / keymailer subscriptions / PR companies / Advertising / Software and equipment to make better videos (webcams/lights/greenscreens).

The extent to which established developers spend advertising money is under-reported. Most developers have some weird superiority complex about paid-ads, and feel dirty and guilty for doing it, so they don’t blog about it. They want you to think that it was all word of mouth because they are so awesome.

I spend a lot of money on advertising. Probably $100,000 per game. Yes really.

Support the game post-release.

Releasing the game is literally just the beginning. As far as many of your players are concerned, this is a BRAND NEW THING. They do not want to forget about it and move on. They just played it for the first time today and oh boy, they are excited about all the improvements you will be making on a regular basis over the next 12 months bare minimum.

You hate this right? Most devs do, but I don’t mind it for a year or so. If you plan to release the game and then forget about it and just expect money to roll in then YOU WILL FAIL REALLY BADLY.

Gamers, esp on PC, EXPECT post-release updates. If you do not exhaust all those post-release update visibility things on steam, then you pretty much are saying you abandoned the game. The absolute #1 best thing you can do to boost sales after release is update the game. Fix ALL the issues that players complained about in week 1. Yes ALL of them. You should still be working full time on the game at this point. Meaning 40-hours a week minimum developing requested features and adding requested content.

Not all player ideas are good, sure, but you need to fix all the bugs you can, improve performance when required, and add quality-of-life features that players request.

The day you release your game you basically get given FOR FREE (in fact they pay!) a small army of QA staff who work around the clock to provide you with bug reports and feature requests and data to help you balance the gameplay. So many devs just turn their backs and ignore those players and all their free help. Do NOT do this. It doesn’t matter if the launch was not a big success, even if you sold just 100 copies, its worth updating the game with those low-hanging fruit fixes and tweaks.

I’m on update 40 for Democracy 4 now, which took about a year of updates. Each update probably has between 10 and 30 changelist items. Every single one of these things improved the game. And yes, a solo developer can do this. Its really hard, but what did you expect?

Talk to other developers.

There are lots of indie devs, and we are not all your rivals. The competition is Call Of Duty and Fortnite, and frankly Netflix and Twitter, not another indie dev likely selling a few thousand copies a year. Helping a fellow indie is not a zero sum game.

There is a ton of wisdom out there. Almost anything you run into during development is something that more experienced devs have seen 5 or 6 times. Ask us how we dealt with it. Ask for advice, and TAKE advice if its relevant to you and it comes from experience.

Note that developers who are on reddit 8 hours a day are not people to listen to. There is nothing ‘elitist’ about checking the credentials of people telling you how to make a game. There is a ton of content out there from long established devs like Jonathon Blow, Introversion etc, who discuss what they did, what worked, and what did not. Read/watch and actually apply the lessons they have learned the hard way.

Solar Farm Update #2

So…it turns out its a loong time since I blogged about positech energy, so here we go with an update…of sorts.

Quick recap: I started a new company that is in the process of hopefully building a 1MW solar farm with 500kwh of grid-tied battery storage for frequency response/load shifting. Its privately owned by me and my wife.

Progress TAKES FOREVER if you actually want to build something in the UK. Not because of covid, or shortages, or because of Brexit (it would be convenient to blame all 3), but just because nobody in the UK, especially bureaucrats have any sense of urgency whatsoever. Its absolutely infuriating. But anyway… some progress is being made. Here is the basic high level run-down of whats involved in building a solar farm:

  • Find a site where a landowner is open to having a solar farm, and where grid connection is possible, and where grid capacity is available and planning permission is likely.
  • Get an agreement in principle with the landowner regarding rent and location of the panels, and stuff like access roads, location of substations.
  • Gather all the myriad insane pieces of paperwork, like visual impact assessments, biodiversity reports, archaeological surveys and other assorted paperwork needed to apply for planning.
  • Apply for planning permission
  • Apply to the DNO (Grid network operator for that region) for a grid connection quote.
  • Get the grid connection
  • Order battery/panels
  • Install everything
  • Profit! (ha…maybe).

The actual order these things happen in is subject to change. There is a definite matter of chicken and egg when it comes to some of them. A grid connection application costs £750, and planning permission costs £7,500 (just to apply, no guarantees). So you don’t really want to spend £7.5k without knowing if the connection is affordable, and conversely the £750 is wasted if you don’t get permission. The problem is both the DNO grid quote AND planning permission take ages, so they can easily add months each to development time.

Also note that a grid connection quote does not mean ‘we can start Monday’. It could be ‘That will be £30,000 but we cant start for six months’. This means you really ideally do not want to wait several months for planning, then maybe a month for a DNO quote and add six months on the end of that… before you know it its 2050.

So My plan is to finalize the landowner agreement, and assuming thats ok, to do the pre-planning stuff (various paperwork) at the same time as the DNO application. At least that gets the ball rolling. Then, if it turns out we fail planning permission (£7.5k wasted) then an extra £750 isn’t a complete disaster, just a relatively minor additional loss.

It may seem ages since I announced I was doing this, and to be honest, little progress has been made. We found a site…and then the site was basically nabbed by someone else. Then we found a second site…and the grid connection cost was mad (but planning already existed). We are effectively just moving a few hundred meters from that site now into another field and thus doing planning from scratch (arggghh), but we reckon the planning costs in total (£15-20k) should be less than the reduction in grid connection costs due to shorter cable runs.

So right now we are still basically on the first item on the list, but hopefully close to finalizing the second. This required a topographical survey of the site, which is basically an extremely expensive CAD drawing of the elevation, which you need to reference in a lease, so both the land owner and you are 100% agreed on what part of what field contains what equipment.

This isn’t just 10 panels on a frame, but a battery storage unit (shipping container size), 2 electricity substations (one for us, one for the grid operator), an access road and 2,760 solar panels on frames, plus 9 seriously big inverters, so you need to be in full agreement on where this goes. Plus there may be CCTV and a perimeter fence. Its quite a lot of kit…

If everything fell apart now, then I would be down a non-trivial annoying amount of money, but this is to be expected when I start an energy company and start to build actual power stations. I suspect this site will go ahead ok, but its agonizing having so many things up in the air and out of my hands. Its precisely *because* doing this is hard, that I am doing it, to show other people how to do it, and so we get more built.

Expect blogging on this to increase as we get deeper into the process of planning applications. I would tell you all the specs of the panels/inverters but TBH they are all subject to change because of the unknown timescales involved in the grid connection and planning permission. Current plans are to get South Korean cells though, due to concerns about labor practices in China.