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

One month in: Democracy 4 in Early Access. Phew. We survived!

Sometimes I get so caught in the insanely complex todo list that is my public trello board for democracy 4, that I forget to occasionally taken a breath, take stock, and analyze how things are going. So this being two days after the US election, (A still undecided one as I type this), its time to catch that breath and reflect.

Firstly. OMG we did it. Democracy 4 is in Early access, and being played by thousands of people who got it through the epic store, GoG, Steam, Itch and the Humble Store. We are properly 100% out there and launched. For a game that has had a pretty long (for positech) dev process, it does feel good to actually be out there in the hands of actual gamers. From a business POV its also good to have a project flip, so that it brings in money each month. Game dev is a terrifying business where expenses go up and up and up in hope of some future reversal of the process :D

From a biz POV, the game is selling pretty well. Nothing earth-shattering, but we did have a bit of a weird relatively-soft launch, in that when the game launched on steam Early Access, there was ONE country, ONE language, and the game was $26.99 and had no discount. (The price is the same now). Since then we have added a crowdsourced Italian translation, and have added the USA, Canada, France and Germany, but still… there was a lot of reasons why people may have wishlisted the game thinking to grab it later.

Overall, I’m quite happy with the way things are going, from a wishlists and sales POV. As I type this, we have 50,000 wishlists for D4, which is quite good, especially as approach Christmas.

The next thing to reflect on is… we made it to the US election without major meltdowns. Nobody has screamed at me and called me a fascist (well…they might have done that on twitter, I block a lot of idiots…) or a communist. The games website/forums and steam forums have not been completely besieged by political extremists hurling abuse. There have been no major political arguments on my forums, or the steam ones, and the number of bans and moderstaion events have been pretty low.

I think in general, the game attracts an audience of people interested in political philosophy and economics and strategy. Its thankfully not acting as a ‘meme’ game attracting lots of twitter mobs and qanon style conspiracists. This is a good thing :D

Obviously there have been some bugs, but I think I have just about kept up with things, so that the games reviews have stayed pretty good (I expect them to climb later as more content is added, balance gets better and the last bugs get squashed). We got some press coverage and some popular youtubers played the game, but we also got pushback from some people saying “no way am I touching politics on youtube” and so on. I expect after the US election is settled, that will change.

We *have* had some tricky moments. There was some issues with some pre-order customers not being able to find their free steam keys, and we jumped from the humble widget to itch, then back to humble again as a result. We had hoped to simultaneously launch on steam, gog, humble and epic, but epic was actually about ten days later. I did have a bug (election day crashes for 3 party systems with colorblind mode) that went unfixed for a few days longer than it should have… but thats actually about it.

I sometimes think that these sort of blog posts can be dull, because lets face it, its more entertaining to read about how the developer was trapped in a canoe in a blizzard while terrorists stole the servers with the source code, and then the publishers turned out to be Chinese military who sold the source code to the mafia, but frankly, its been uneventful. Thats likely because its something like my twentieth game release, so TBH I should know what I’m doing by now.

However if you DO want to read about absolutely crazy-ass shenanigans going on in tech companies that make you shout ‘wtf?’ then I am currently enjoying this book.

Its amazing the absolute maniacs that run companies some times.

Communication. The secret weapon of one-person companies

It amazes me how many businesses are just totally and utterly hamstrung by poor communication. Games companies, Payment companies, Stores, and outside of games, Telecoms companies, Governments, Car companies, Any large organisation. Communication fails and the business is in tatters.

I would go so far as to suggest that having easy, clear and effective communication between people in an organisation is pretty much the most important factor in the success of a company. More important than technological advantage, more important than branding, more important than the ad budget or the intellectual property… its vital.

Poor communication means you completely fail to convey both good AND bad news. With bad news, that news will never filter upwards to the people in a position to do something about it. Is your website totally and utterly BORKED right now? unless customers have a way to communicate that to you, how are you going to know?

And if a customer even does manage to tell someone in customer services about this, are they able to easily, effectively communicate with the person in charge of the website? Is any information going to be missed during that transferrence? is the web dev going to take what the customer services rep says seriously? Do they even HAVE a way to communicate in that direction?

When you are a one-man company, communication operates at an extremely fast rate. According to this site:

“Neurons, by comparison, fire at a rate of around 100 times per second or so”

So, the marketing department at Positech Games (me) can communicate with the Tech Support department (me) at about 100 times a second. Not bad. The communication speed between whoever mans the twitter account at Electronic Arts and the Lead programmer on Battlefield V is likely slower. Maybe a lot slower. Maybe weeks. Maybe never.

Laser mimics biological neurons using light – Physics World
strategy meeting at positech games

The failure to communicate critical failures is one thing, but this also causes failure when it comes to communicating good ideas, or new ideas, or excellent money-saving ideas. Not only do people like to be listened to, and have their concerns taken seriously by management, sometimes those ideas are fantasically profitable or awesome. When you have mechanisms that filter out feedback to the people in charge, your risk of losing out on those ideas.

I constantly encounter stuff thats broken. For example, I’m using chrome (latest version) on windows (latest version) and wordpress (latest version), and yet for no reason at all, the spellcheck does not work. I could report this… but where? how? and why? We all know nobody would fix it, so why bother? We have all learned that big companies do not really want feedback, and they dont read it, and NEVER act on it.

Twitters phone app (an abomination of evil) constantly suggests I can ‘see less often’ some absolutely unwanted crap, but it never acts on this. It lets me change my timeline settings, but never keeps them that way, because the huge megacorp doesnt actually care what I think, or have any interest in making the app better. Does Jack Dorsey even know this?

I’ve fixed bugs many times in Democracy 4 the same day they were reported. I’ve actually fixed bugs the same hour they were reported. The turnaround time is thus shorter, the customer experience better, the profits higher. Its easy.

The beauty of 2020 is that we predominantly use asynchronous communication. Your customer service people can be in direct high-bandwidth contact with everyone else in the company WITHOUT phoning or physically disturbing them. Slack is not real-time, email is not real-time, skype chat is not real-time. You can have everyone propagate important information through your company asynchronously but directly, ensuring communication is rapid and both good and bad news gets to where it needs to be.

Sure, some people need training on what is, and is not important enough to share, and people need to learn discipline on how to stay focused, but those are relatively simple challenges. Far worse to take the standard approach where nobody talks to anybody outside their own department.

Its easy for me. My company communicates 100 times a second with everyone. If you work in a company >1 people, you really need to focus on this as a core skill.

Democracy 4 crowdsourced translations now on localizor

I was musing about how on earth to manage the people who are keen to help out translating Democracy 4 when I was pointed at this awesome website called localizor which seems to be set up to do exactly what I needed: Localizor

This is so cool. Its basically an online database for you to share the translation keys for your game, and optionally a single reference language (in my case obviously English) and anybody who wants to contribute can enter text for any of the languages you have listed. There is a cool progress bar and it also shows you which users have made the biggest contributions. Its basically awesome.

This has cool features like showing you the google translate version of any string, so I guess you can check that people are not typing in absolute nonsense (or worse, something offensive), and people can vote on each others contributions etc. I think you can ban people too, if they are being malicious. Its basically a reall well-thought out system for doing exactly what I need.

There is a free trial, and then it costs a monthly fee, but its cheap, and a no-brainer really. TBH the biggest hassle was writing the code to output all my translated data (which is in csv files, and some ini files) into the right format to be imported into their database. It works on the assumption of KEY = VALUE as opposed to some of my stuff which has KEY,VALUE1,VALUE2,VALUE3 etc, for a bunch of different columns of data.

All-in-all it took about 90 minutes to write code to dump out all my text, and then manually submit the whole lot to the website. I also need to import the nearly-done fan-made italian translation I have, and eventually write my code in reverse to slurp up whatever format the site exports to and pump those values back into my own format.

Democracy 4 is, by its very nature, a global game, and its really cool to be able to leverage all the work jeff did regarding unicode, and vector rendering and fonts so we can support some often less-supported languages. I’m especially excited at the thought of Democracy 4 in Korean :D

Democracy 4 is in Early Access at last! omgz etc

I’m super tired and got little sleep, but whats the point of a release-day blog post if you do it weeks later? Frankly I need sleep, and a day off. Making this game is REALLY hard, and we had last minute problems, and I actually have a minor eyesight thing recently thats freaking me out. Argggh. Game dev is HARD.

Anyway, last night at 8PM my time (why? because I’m stupid), Democracy 4 went into Early Access. We have already sold a lot of copies, we had 7,600 games played yesterday, there are tons of emails, and forum posts, lots of youtube videos are cropping up, some previews and reviews…its all very hectic.

We launched with a bad bug for maybe 4-5% of players (maybe less), which caused major GUI mayhem. Icons would dissapear, or be massive, or the wrong icon. The game became unplayable, then there was major lag. It was a mess, and the worst possible thing: I could not reproduce it on any of my PCs. Fixing a bug that has no error message and you cant reproduce is…challenging. At the time of writing I’m feeling pretty good that I’ve fixed it, within 14 hours. Thats actually *not too bad*, although it still probably dinged our steam reviews a bit. (if you bought on steam and like the game PLEASE give us a nice thumbs up review!).

I made a lot of mistakes, and I guess this is as good a time as any to confess to them. Mistake #1 was that I didnt treat every warning in my code as being serious. I was seeing some warnings about icons being sized wrong, but it didnt seem to show up on screen, and I figured it was a harmless thing when they got resized correctly before being drawn. who cares right?

Turn out that on some PCs, in some screen resolutions and in fullscreen mode… This caused MAYHEM of EPIC proportions. I just wasn’t seeing it under any circumstance in my test cases. PLUS! we had a lot of pre-EA alpha players who had not experienced this. But… yesterday 4,500 hours of Democracy 4 were played in 14 hours. No wonder stuff cropped up we had not seen before.

We converted the game to be 64 bit a few days before release (Mistake #2), which sped up the start-up time, and future proofed the game against any insane move my microsoft to ban 32bit…but this seemed to be the cause of the bug. It also stopped it running under WINE. I decided the 64 bit middleware had broken the game. I reverted to 32bit, it achieved nothing (but got us WINE back), but wasted my time in tracking down the real cause…

Eventually I think we have found whats going wrong, and here is Mistake #3. Some of our code was just blindly accepting data and doing what it thought was right. This is BAD. You should code defensively, and if you are about to draw an icon on the screen, its worth checking that the width is not -25 or 10 billion pixels wide. if it is… then somebody probably screwed up, so don’t draw it.

Anyway… this sort of thing is SUPER stressful, because we have moved from the lovable, friendly ‘community of friends’ atmosphere of my early-access players on my own discourse forums, to the terrifying confrontational angry wasteland of the steam forums, where people pull no punches. Its always fun to be told your game is rubbish, or biased, or you are a stupid/lazy developer who doesnt know how to code etc. Oh fun times!

Anyway… its out there. it was in the steam top sellers. it might still be, I’m too busy to look! And you can now get the game from us direct using the widget below, OR from steam gog or the humble store.

At some point I’ll do a proper update with a bunch of stats about wishlists and release and all that (we had about 20,000 wishlists on launch day), but I need to deal with the huge list of stuff in my inbox first… Thanks to everybody who put down their hard earned money on buying my game, its hugely appreciated. I hope ya like it!

The super-helpful 2020 indie games company costs breakdown smorgasbord

In a continuing war with the patronizing wordpress ‘headline clickbait analyzer, I tried using smorgasbord to rate as an uncommon word…but no joy. Enjoy this non-clikbait post I guess…

How much does it cost to run a one-man indie game studio in the UK? What are all those costs that you don’t think about? I have no idea! but I can tell you what it costs to run positech games, if that’s interesting? Lets assume so:

WEB HOSTING

I have a dedicated server with liquidweb. Its possibly overkill, but it runs this blog, a lot of back-end stats reporting stuff and the challenges system for gratuitous space battles, the web pages for a handful of different domains and about a dozen games. Its also handy as a ftp-drop for sending stuff to people without worrying about dropbox accounts/limits/costs etc. The cost of this is $219 / month. A dedicated server is l33t because I can reboot it at will, install any version of php or whatever I want, and I’m not at the mercy of sharing a physical box with someone else.

ACCOUNTANT

I have a proper Limited Company, and its hellish without an accountant if you deal with VAT and multiple currencies, and multiple banks accounts and business investments etc…so I have an accountant in the UK that charges me roughly $135 / month. They are more like bookkeepers than accountants, as I handle my own VAT and don’t do any clever tax avoidance/offshore nonsense.

MAILING LIST

I use ymlp to maintain a small mailing list of about 10,000 people. I send one email a month and this costs me about $30/month. This means I don’t have to worry about my domain being seen as spam, and they can handle opt-in and unsubscribe handling etc. Not 100% sure its good value for money, always hovering on cancelling.

COMPANIES HOUSE

To have a limited-liability company in the UK you have to pay an annual registration fee. Worked out on a monthly basis its just $1.40/month.

APPLE DEVELOPER FEES

To sell games on apples store, and some other stuff, you need to pay them money (WTF?) looks like in the last 12 months I’ve paid them roughly $7/month for this honor.

ANTI-VIRUS SUBSCRIPTION

Do not risk being without it. I use malwarebytes paid version, works out at $3.25/month.

BACKUP SOFTWARE SUBSCRIPTION

Again, don’t risk it. I use carbonite, and it works out at $6/month.

BANK SOFTWARE

I use quickfile, to do automated tax-payments and access bank accounts remotely. It costs me about $5/month.

INTERNET ACCESS

I have fiber-to-the-premises (140 mbps down, 30 up) and a landline phone (I know old people!) and monthly this costs me a whopping $80/month.

Everything else I can think of is one-off payments for equipment, like a new PC or whatever, and project-specific stuff like PR or marketing/advertising budgets, or obviously what it costs me to hire people to do art/music/code and so on. But these are the current ‘fixed costs’ of positech. A summary:

Web Hosting $  219.0045.00%
Accountant $  135.0027.74%
Mailing List $    30.006.16%
Companies House $       1.400.29%
Apple $       7.001.44%
Antivirus $       3.250.67%
Backup $       6.001.23%
Banking $       5.001.03%
Internet $    80.0016.44%
 $  486.65

Now I actually write it all out, it seems like quite a lot. Almost $500 to just exist, without eating or paying any other bills, or hiring anyone to do anything.