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

Risking everything you have to make it as a successful….cliche?

I think the key to making money at something is to invest for the long term, be prepared to lose before you win, to put your money where your mouth is and take big risks…

…to an extent.

You probably know about survivorship bias, where you listen to nothing but the tales of success from people who took big risks. There are definitely many, many cases of people taking insane risks, those risks playing out and them making a huge, incredible success of it. In the world of video games, valve deciding to sink all the half life profits into HL2 AND also trying to create a digital distribution store when retail was still all-powerful was an insanely high risk venture. It worked, and the rest is history. Making a game which fits in no established genre such as the Sims or for that matter, ‘Democracy’ is also a big risk. Doing this entails being prepared to be wrong in a BIG way, and lose 100% of your investment.

This is something I am minded off today when reading a very long, depressing and complex email about a renewable energy investment I made that is being held up and rejected by government bureaucracy (with zero cause) which could, theoretically lose me a fair chunk of money. Real actual *OUCH* levels of money. It will be extremely vexing if this is the case. I tolerate that sort of risk, because when investments like that work, they work very well, and the returns are great.

I’m a high-risk investor who is happy to tick the ‘yes I know what I’m doing and may lose it all’ box on a regular basis. I have some money in lithium mines, some in palladium futures, lots in the electric car company ‘Tesla’ and a bunch of robotics and biotech stuff. Some of this has been a huge success. others… not so much. Overall… I think I’m doing well, but you never get to say that until you cash out. I’ve also invested in indie games, both as a publisher (Redshirt, Big Pharma, Political Animals, Shadowhand) and as a passive investor. Some of these made several times my money back, some have lost me money.

And right now…as I type this I have two CFDs (very short term bets) on Tesla, both of which I am DOWN on, and both of which cost me money each day just to keep the bet running. I have made 37 consecutive profitable trades doing this, but may be close to coming unstuck on these two. Only time will tell. You can probably understand why I thought I couldn’t lose: (The loss calls still make a profit, just at the lower range of my position)

The trick is… I’m never betting the farm. Do not bet the farm. Ever. I’m not even betting a small barn from the farm.

Don’t think I’m not tempted. I’ve seen stock market trades, AND video games, where I’ve thought ‘LOL, this is easy money. I should sell the house, car and liquidate everything else to really max out this sure thing’. Sometimes those trades shoot way up, and I hate myself for being such a coward. Sometimes they go up a bit. Very, very rarely, they crash like a meteorite. The end result of my level of caution is that I’m not a billionaire, but I’m not in the gutter either. This is a *good thing*.

Do not risk everything to make your dream indie game, or fund the writing of your first novel, or even your second or third or tenth. I’ve made a lot of games (at least 20), and even if I thought my next game was a sure-fire hit, I wouldn’t bet ANY money that I couldn’t afford to lose. Obviously this is much easier to say with no mortgage and some cash in the bank. Normally people cannot possibly make a game without spending their last dollar on it… or can they?

These days we have kickstarter, we have patreon, we have indie publishers. if you cannot persuade anyone to give you the minimum money you need to make an early access game through any of those three avenues, then that is a BAD sign and NOT a sign you should remortgage the house or sell a kidney. There is a myth that you have to ‘risk it all’ to become a hit, which is perpetuated by Hollywood movies, and TV shows where this trope of ‘risking it all’ and ‘succeeding just before they ran out of food’ becomes embedded in peoples idea of what it means to be ‘creative’. The romance of the ‘struggling artist eating out of bins who then becomes a billionaire’ is frankly bollocks.

Democracy 3 is a good example. Its a successful game that made me some decent money. Did I risk everything to ‘take a chance’ and make a hit? Nope. I risked fuck-all. I coded that in my spare time while I had a full time job (and a contract to ensure that was ok). I then made a sequel when I knew that the original was already popular. My wife and I both worked full time and we had no kids, so me then deciding to quit and make more games was zero risk, especially as I was already making more from my older games than I was getting in salary anyway. In all my times making video games from 1998s Asteroid Miner onwards, I’ve been unable to pay the mortgage for two months in total.

By all means take some risks. Risks are good. Risk is part of life. Don’t make any decision that could wreck your life and screw up your family.

 

 

Playing a ‘role’ on social media

I have a superpower, which is effectively useless. I may have mentioned it before. I have an uncanny, even seemingly impossible ability to memorize dialogue from TV shows and movies, even if I’ve only seen them once, depending on the style of the show. Sometimes its even from shows I just overhear and don’t watch. Its strange. A line of dialogue that comes to mind to me today is this, said by Toby in the west wing:

I asked him about his vote, he told me, I said then if he's asked about it
tonight he
should and only because it's the easiest thing to remember, tell the truth.

 

I like this quote, and I like to broaden it out to a general principle, which is, if you want to make life easy for yourself, you should, because it’s the easiest thing to do, be yourself. I think this applies pretty strongly to social media.

I was chatting to a dev recently about social media profiles, and what you should put on there in terms of your Bio, and whether you should admit to this, or highlight that… and it got me thinking about the fact that I never really bother spending too much time thinking about this sort of thing. The ONLY exception I make, and the only situation where I edit myself, or pay any attention to what I’m sharing or talking about, is that although I’m married, I don’t mention my wife a lot on social media, because I do not feel like I have the right to include her in any public discussion without explicitly asking her. Its generally good form to let people stay in control of their own privacy. I also dont make that many references to exactly where I live…because there are crazy maniacs out there, so why risk it?

But in terms of everything else, I’m pretty much ‘me’ on social media, and I thus tend to ‘enjoy’ it more than many other game devs I talk to. I do *not* spend a lot of time thinking about ‘what to tweet’ or ‘what I should write a blog post about’. My twitter and my blog are basically my diary, and my chats in bars with buddies. I’m not writing the Gettysburg address here, and I dont think what I type here will accelerate or destroy my career in a single paragraph.

There is a brilliant ‘German living in England’ comedian called Henning wehn, who makes a whole career out of affectionately mocking his own Germanness, and he has a great line, which I find very funny, and if you don’t see that its funny, I think you might be taking it the wrong way:

“I’m just one accidental holocaust denial away from ruining my career”.

Which if anything is mocking people who cant see that they are being offensive, whilst also giving a nod to the English view of Germans. He also has a lot of jokes about stalingrad, I’ve seen him live twice, he is awesome.

Anyway…

My point is, you ARE NOT going to lose half of your steam revenue because you say something mildly controversial on twitter, or because you admit that you enjoy a certain band, or comedian, or that you eat meat, or you are gay, or bisexual, or trans, or black, or white, or anything else. 99% of your customers don’t follow you on twitter, and 99% of those who do follow you because you make games/art/whatever. If you are a republican, or Christian, or communist, or animal rights activist, then fine, thats part of YOU, thats the honest YOU. Unless your hobbies include serial killing you are unlikely to shock people with revealing the true you, so go ahead and do so, its incredibly liberating. Plus people are easily blocked and muted on twitter anyway.

I do all of my weekly blog videos in one take, unless something catastrophic goes wrong. I’m not going to go back and edit out things I said that were dumb, or if I swear, or I make an unfunny joke, or I screw my face up and look baffled. I am an unfunny dumb guy who often looks baffled and forgets what he started talking about, and letting me do that on video makes video recording a breeze.

And yes, a non-trivial proportion of my twitter posts are made after a drink or two (especially the really bad ones). I still (sort of) remember this night:

..and hey, thats fine. This is what I’m like, and I think people prefer to really know someone is a real person rather than just a stream of PR fluff like:

“We at positech are so excited to have #ProductionLine in this years #SummerSale. Its our most popular SKU, going forwards.”

Who cares?

And I don’t think it really matters to have some politics in your social media. I don’t hide mine. I’m a liberal-minded capitalist with a passion for environmental issues. I’m sat here typing this wearing a Greenpeace t-shirt and not afraid to say so. You might hate my views on tax, or dislike Greenpeace, or think I swear too much, or be shocked I’m an atheist. Thats cool. everyone’s different, but it makes little difference to whether or not you will enjoy playing production Line, and I’d rather be honest about who I was than spend half my life trying to play a bland inoffensive ‘role’ to add 0.1% to my income.

Be yourself, its not as stressful as trying to be something else.

New forums coming, plus modding justification, youtube DMCA

About two weeks ago someone pointed out to me that the positech forums were ‘disabled’. I assumed that they had been auto-disabled because their phpbb3 version was old, and I had put off updating it. So I set about doing the (incredibly buggy and tedious) update process, and it got confused, and borked some things, and then started running slowly, with the database being a different version to the php files, and me wanting to basically burn the whole thing to the ground. Its 2018, and phpbb3 frankly still looks like its from 2005, and I hated updating it, and I hated having to fiddle with the (frankly random) UI for assigning permissions which seems like it was written by seven different coders, none of whom speak the same language, and who definitely dislike each other…

So to cut a long story short, I hunted around for decent, managed forums, found a package I really like (although its eye wateringly expensive TBH), and decided top go with that, and they are currently trying to migrate it all, so that every post, image, avatar, user account and so-on, all get exported and we can just pretend this whole phpbb3 thing was a mistake made in our past, which will always haunt us, but something we agree never to talk about in polite company. I’ll keep you updated.

Now i am fully aware that the ‘general consensus’ is that forums are a waste of time because you can just use reddit/discord/steam/someone else, but frankly the idea of working for years to build a nice big community that will then get suddenly overnight locked behind a paywall (as facebook did with its groups), or which someone could suddenly just close (like people whose twitter accounts vanish) or where someone can start dictating different terms (like youtube are doing to monetization)… well that doesn’t sit right with me.

Make no mistake: community has value. it has a LOT of value, which is why silicon valley is often assigning such sky high insane valuations to social media networks with no business model (snapchat), in the belief that just ‘capturing the place where the community is’ has incredible long term value for a business. My forum has been neglected on and off, but now it has a total of 75,000 posts in 10,000 topics, none of which is spam. This is all discussion of MY games, and is an SEO goldmine in terms of making my site a go-to site for discussion about them. This has VALUE. It also will have more value if I give it more love. So… in the near-term expect to see me banging on about my posh new forums, and how I will be taking part in discussions there more often.

Recently I did a blog video:

And in that video I talked about the modding support coming to the game, which prompted a few people to say WHY! WHY are you doing modding support now, when nobody asked for it? The answer is quite simply that hundreds of people asked for it, they just did it through the in-game questionnaire on developer priorities. I present to you the charts from the last two versions.

So yup, mod support is coming, and its cool, although not the final version by any means. And yes. I AM keeping an eye on the ‘vehicle types’ demands and plans are underway.

I recently read a question online from a developer who found youtube videos with links to pirated copies of his game, wondering if he should politely ask them to remove the links, or if he should get a lawyer and get them to write a DMCA request for him etc. There was some VERY POOR advice given to them,, but I thought I’d chip in and say YES TAKE THE LINKS DOWN! And its easy to file a DMCA request with youtube without needing a lawyer or more than 2 minutes, you do it here:

https://www.youtube.com/copyright_complaint_form And select copyright infringement.

And you don’t need a lawyer, and if everyone who had an indie game occasionally checked youtube and did this, a lot of these people would lose their channels, which would be *no bad thing*.

 

Twenty Years Old

Not me…hahaha! I wish. My company is now twenty years old. That isn’t twenty straight years of indie game development with no breaks, but its twenty years of existence. Our first ‘real’ game was ‘asteroid miner’ which was released around 1998 and looked like this:

You cant even buy it now, it used directx5 and doesn’t work on many PCs. It was ok, but kinda sucky by today’s standards. Multiplayer asteroids with mining, basically. I did the art myself. Impressive huh? It sold a few copies in shareware, and then it got bundled into a collection by a retail company called egames. After that I made a game called StarLines INC, which eventually got renamed Starship Tycoon, and got revamped and improved graphics. I think I actually used some paid art for that one. it did much better, and it looked like this:

I still like the idea for the game. maybe when i retire I’ll do a re-make?

I then got distracted by doing some really bad top down racing games called Kombat Kars and Rocky racers, I even made a minesweeper clone, and some space shooty things called Space Battle 3001, and Saucer Attack. Not long after all that I think is when I ended up working at Elixir, then left there and made ‘Planetary Defense’ which looked quite reasonable:

Then I got a job at Lionhead. I think by this time I’d already made Democracy 1. I quit lionhead, and made Democracy 2, and Also Kudos and Kudos 2. These started making proper money, to the extent that I didn’t vaguely regret leaving my job. I then made Gratuitous Space Battles:

Which was a big hit, my first game on steam, my first game to earn a million dollars. Then came Gratuitous Tank Battles and GSB2, and the publishing of redshirt, my first 3rd party game. At roughly this time I made Democracy 3, which was an insane hit and also made millions of dollars, and not that long after that I think I published Big Pharma (I think this was the third million dollar selling game), then came Shadowhand and Political Animals, and Democracy 3 Africa (The first game where I employed someone to write code)

Along the way we have twice donated a chunk of earnings to war child and built two schools in Cameroon. Positech has made a profit every year and made enough to live on since Gratuitous Space Battles, which I guess is quite an unusual feat. I’ve avoided growing the company at the rate at which most people would. At one point I was developing (coding one game) managing the coding of another and publishing two others, all without any help on the admin side, and that was too much for me. Unless I was to hire a personal assistant or someone similar, I’d never be able to scale to that many games at once again.

So now in 2018 my focus is on first-party games (not publishing). We are developing one game (Production Line) and there is another game that will be announced once there is something to show. I have a full time coder working on that project. In terms of people management and time-management and project management I guess I’ve learned the following things:

1) At a certain level, time really is money. I’ll pay very high amounts of money for software or services that save me time. I’ll also not waste any time. Unless you are Gabe Newell, or someone who I KNOW is going to earn me lots of money if I talk to them, I’m never going to ‘hop on a call’ or ‘catch up’ with someone for ‘networking’ purposes. I’ll not schedule a meeting with any company whose business I haven’t already skimmed by an emailed proposal. I pay people to clean my car and my windows, because the opportunity cost of me doing is > the cost of hiring someone.

2) Dealing with people is the most stressful part of expansion or development or project management. No technical bug, hardware issue or monetary/scheduling problem is anywhere near as tricky as dealing with humans with emotions. I’m a bit ‘on the spectrum’ and not good at dealing with people anyway, let alone people I’m paying money to. I’d hire someone I could get along with with an average skillset over someone who is a pain in the ass but with l33t skillz.

3) You have to speculate to accumulate. its a cliche because its true.

4) Don’t feel bad about just saying ‘no’.

5) Some things that make money just aren’t worth the hassle to make that money. This includes porting a strategy game form PC to ipad, or…linux in any of its forms. If you prot games ‘for fun’, thats different, but I don’t.

6) Unicode is hell.

Two things I’ve managed to do that effectively grow my company but don’t require me to hire people is to invest the income, and to spend on advertising. I can double my ad budget with a mouse click, whereas doubling my games dev output requires interviewing hiring and managing another person. I know which is easiest. Over the years, Positech has invested in other indie games (in a hands-off capacity), Solar & Wind farms, tidal energy projects, a number of US tech stocks and ETFs/Funds, some commodity ETFS, UK & global equities, P2P lending to both businesses and individuals and corporate bonds. I even dabled in shorts and leveraged investments, even did some day trading of CFDs. This has gone on long enough that right now its fair to say that Positech is 80% Game Development, 20% investment vehicle. I enjoy picking stocks and shares and average 10% return per year, over the last 4 years, which is pretty good.

Its been a good twenty years so far. I’m happier as a person, and definitely calmer, and work just as hard as before. The industry has changed beyond all recognition, but its definitely possible to make a good (even great) living from indie games if you do the right things and make the right decisions and work like crazy.  UK retirement age is currently 67 but probably 70 by the time I retire, so I am likely only half way there.

Yikes.

 

 

 

Coding your own ‘middleware’ is easier than you think

I have a system in the early access version of production Line that when an error happens that I assert() on, it logs that error out to a debug file, along with a timestamp, and the file name and line number of code where the assert failed. This is easy to do (google it). I recently changed this code so it also posts the error message, line number and filename data to my server (anonymously, I have no idea which player triggered it). That code basically just uses the WININET API to silently post some URL variables to a specific php page. That page then validates the data to make it safe, and runs an SQL query to stick the data into a database on my server.

IU can run SQL queries on the server to see what bugs have happened in the last 24 hours, which ones happened the most, what the version number of the game was, and how often they are triggering etc.

This has proven to be awesome.

The default solution these days to this kind of stuff is to buy into some middleware to do this, but thats not how I roll. I also have some balance-tracking stats analysis stuff that does the same thing. I can tell if the game is too hard, or too easy, or if players dont get to build electric cars until hour 300 in the game…and all kinds of cool stuff. This is the sort of thing that middleware companies with 20 staff, a sales team and a slick marketing campaign try to flog to you at GDC in the expo. Its really not that hard, it really is not rocket science. I get the impression that the majority of coders think that writing this sort of stuff is an order of magnitude harder than it actually is.

Oh also, production Line checks once per day on start-up to see if there is a newer version, then pops up a notice and a changelist if there is (for non steam versions). Thats home-grown code too, and its easy, EASY to do,m once you actually sit down and work out whats involved.

I know the standard arguments in favor middleware ‘it comes with tech support, its faster than coding it yourself, it allows you to leverage the experience and knowledge of others’, but I reject all of them. The only reason I know how to use WinInet, php and SQL and all that sort of stuff is because I taught myself. I taught myself ONCE in the last 36 years of programming, and I know how to do it now., I have my old code, and my own experience and skills. I dont care if XYZ Middleware INC is going to go bust, stop supporting my platform, double their prices, or stop answering emails, I have all this experience in house.

When you look at most middleware, its vastly bigger, more feature packed and complicated than you need it to be. Middleware has to be, because it has to be all things to all people. My stats tracking and error-reporting doesn’t have to work on IOS or on OSX or on mobile, or XBox or Playstation. it doesn’t have to be flexible enough to talk to four different database types, or support Amazons AWS. I don’t NEED any of that stuff, so guess what… the code to do what I *actually* need to do, is incredibly, incredibly simple. Don’t think about middleware contracts and APIs and excuses not to write the code, ask yourself ‘what exactly does the code need to do here anyway?’

I think when coders do that you will find, its actually way easier than you think. I did my error reporting code, both the client side and the server side, and tested and debugged in in about an hour. This stuff is not complex. Stop buying ‘fully-featured’ bloatware you don’t need.