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

Democracy 4 Update

YES! We are working hard on this, although its been mostly under-the-hood tech and background stuff so I haven’t been updating people much on progress because there has not been *that much* we wanted to show yet, but that is going to be changing a lot real soon…

So, for those in the dark about this, Democracy 4 is the upcoming sequel to Democracy 3 (what a shock!) which is positech’s best selling game so far. Its a politics strategy game where you play the role of President/Prime Minister of a real world country and have to keep the economy in decent shape while staying popular enough to be re-elected, AND presumably helping change the country for the better (in your opinion :D).

For people who have never played the original games, the user-interface is unusual because its basically just a complex connecting web of icons. here is a screenshot from the main screen in Democracy 3:

And here is the current (work-in-progress) equivalent for Democracy 4:

Obviously the general style, fonts and so-on have all changed, but also we have moved the voter groups from the middle to the left. This gives us some interesting options, because this is now a list that can be (at the players discretion perhaps) sorted by popularity, or by membership, or any other metric. Or sorted alphabetically even, none of which were options in the old UI.

its really hard to see in a static screenshot, but the big under-the-hood changes for D4 are that its unicode from the very start (hello Russian and Chinese!), and also most of the UI is being done with vector-art rendering, meaning everything is pixel perfect regardless of screen resolution or zooming/scaling. For a game that is mostly UI, this makes a BIG difference. basically no more blurry UI elements anywhere :D. Its also cross platform from the start.

So far we are still at the ‘getting the core engine working right’ stage along with the ‘commission loads of art’ stage, so although a lot has been done, there is not a LOT that we want to show you in terms of new events, policies or situations yet. However, that will be coming soon. We already have a bunch of new ministers and voters…

Once we are putting in new simulation content, I’ll start doing regular blogs (probably video ones too) that detail the progress made on the game. I’d love to be able to tell you an exact date for us to go early-alpha (likely direct sales), Early-Access beta and final release, but I just cant be sure about those dates just yet. Obviously I’m well aware that 2020 is a US election year and we want to be coming out before the election :D Stay tuned for more updates etc, you can follow me on twitter, or join our mailing list (see sidebar) if you don’t want to miss anything.

Does indie game development have an ageism problem?

Hi, I’m an indie game dev. I have been since the early days when we had to sell our games at a market stall on punched cards. Actually no, that was a JOKE but still…

I remember before the invention of the compact disc. I remember the fall of the Berlin Wall & nelson mandela being freed. I recall Ronald Reagan being elected president. My first car had one wing mirror and a manual choke. I went to see Metallica’s ‘master of puppets’ tour. I grew up during the cold war and recall Brezhnev as leader of the USSR. I remember TV with only three channels to choose from.

To put it another way…I’m 49 years old. I’m a proper Gen Xer. Not gen Y, or gen Z, or millennial. Gen X, the cool generation. What little hair I have left is about half grey. I read dead-tree newspapers at the weekend and proper books. I saw the original theatrical release of ‘star wars’.

Because I live in a village whose average community gathering looks like a Dark Crystal cosplay convention, I’m known as ‘that young man’, whereas in fact, not only am I ‘middle aged’ but as far as the indie development community is concerned I am…almost dead.

When I think of indie game devs my age or older… I mostly strike out. I know Jeff Vogel certainly looks around my age, but honestly who else? maybe Jeff Minter? was it it about indie devs called Jeff? The other UK-based indies I know of are all younger. yes even the slightly grey-haired Cas from puppygames or Jake ‘I don’t dye my hair yet’ birkett of grey alien games, both younger than me. Even ‘elder statesman indies ‘introversion‘ are all younger than me.

Now I get it…someone has to be the old timer, and I guess its me, and frankly I don’t give a fuck. Middle age is frankly awesome. You can go out for a meal without caring if your clothes are fashionable or if your ass looks too big or if anybody fancies you. Car insurance is trivial, and I bought my house when they cost about as much as a mouse mat. Oh I forgot…you don’t remember mouse mats do you?

..anyway…

I don’t CARE that *I* am old, but I do care that the age-range of indie devs seems to be…roughly 16-21 years old. I exaggerate for hilarious comic effect, but here is a random group of people. See if you can guess which one is NOT an indie game dev.

Hahaha, we old people are so funny. However, maybe this isn’t funny at all. Maybe in all the excitement and righteous identity politics crusading of the last decade or two about making sure indie game dev is ‘inclusive’ we forgot one group of people. One really big group of people. One really obvious group of people… older people.

(BTW dont go all angry on my ass about that pic. I used those 3 people because I know them, not because they are somehow indicative of anything other than being devs I know).

In theory, there should be OVER-representation of middle aged people in indie game dev. Think it through: We have WAY more development experience than you youngsters have. We likely already have experience of triple-A dev and have learned from their mistakes. Finance-wise, we are no longer paying off college debt. We bought our houses CHEAP and are not saving for a deposit for a house. We are likely married, and thus may be able to balance out the riskiness of starting a business with a 2nd income from a spouse…

Go a bit older, to my age and things may be even EASIER. Our kids have left home, the house is paid off, so is the car… and we have even MORE experience, both as coders/artists and as people who have seem gaming trends come and go. We have access to cheaper debt if we want a bank loan to fund our company. Hell..we may even GET a bank loan, unlike anyone with zero credit history. We have seen friends try and fail at running a business and can learn from their mistakes. We know a LOT of people in the industry….so…Where are all the 40+ indie game developers?

Mark Morris from uk indie devs ‘introversion’

Now I can immediately see a list of counter-arguments. We may be wary of ‘risking’ a stable home life with kids and a spouse depending on us. We may even have a pretty good job in the mainstream industry, and be relying on that for job security. We may have realized that gamedev is too risky and not as fulfilling as we once thought and now be working in the *much better paid* finance or web development industry. We may be burned out by overwork and want a quieter career…

But my own experience just doesn’t back this up. I could NOT switch careers now, from indie game dev at age 49, NOT because I’m too old to get a new job (I’m pretty qualified and very experienced now), but because nobody can afford to pay me enough to quit my indie game gig. To earn what I earn now, I’d probably have to get a job managing 20-50 people (or more) and it would involve the hassle of commuting, attending endless meetings and probably never typing another line of code…

…in other words, my current job is perfect for a 49 year old coder. Its frankly VERY well paid, its work-from home, so I can go walk the dog (I don’t have a dog), pop out for lunch (I do actually do this) and basically work when I feel like it. I can live somewhere remote in the countryside, and take holidays when I feel like it. Its bliss. Show me the stressed out financial software contractor commuting to central London to do a job he likely despises who does NOT instantly want to swap places with me. At age 49, this is great.

And yet at every indie gathering I attend, I’m the oldest. Why? It might be chance, but I cant help but think it might be a sort of unconscious prejudice. Lets be honest, when we imagine indie devs, we imagine someone in their early twenties with blue hair on a skateboard, an apple macbook covered in stickers with edgy slogans on it, and a latte in one hand and avocado toast in the other. Indie game dev is a young persons world.

2019 GDC indie party

Go to a party at GDC and you will find loud music, lots of alcohol and people excitedly yelling at each other. Later, if we are lucky, skrillex may play. yay? at the end of the evening we will celebrate the thirty under thirty. I expect to see twenty under twenty soon. Maybe a special event for pre-teen devs next year?

Indie development is COOL its FRESH its YOUNG! Its people all living together in the same house! its all game-jamming till 4am on a train! its loud music! its an obsession with ‘retro! (because to so many devs the 1980s feels like ancient history, known about only from fascinating documentaries).

This is worrying. We should NOT be gatekeeping indie game development to any small narrowly-defined group of people. The biggest irony about the game dev ‘community’ (actually a very cliquey set of people following each other on twitter) is that they INSIST that they are very very inclusive (and will be offended by any suggestion they are not), but in fact its really a club primarily of relatively well off western middle class twenty somethings.

If you want REAL indie development inclusivity , show me the people in their forties and fifties at your indie event. Hell, show me people over thirty. There is nothing magical about indie game development that means only young people can do it. Computer games are not THAT new.

Why epics strategy makes a lot of sense

Not writing about the ooblets thing here, but to address very briefly the core issue: lets talk about why games are epic exclusives, why people shouldn’t be angry and why epic are probably doing the best thing they can do here.

Before going any further I want to make some core assumptions. if you disagree with these stop reading now, because we have no common ground!

  1. Game developers are generally trying to make good, fun games, and stay in business, nothing else.
  2. Its good for gamers if the games marketplace is competitive, as this keeps the prices low, and the services high.

I don’t think either are controversial. if you are literally twelve years old, you may dispute 2), but…do some reading. Monopolies, whether they are near or absolute are a bad thing. Not because the people involved are bad, but just because competition keeps people hungry, keeps people innovative, keeps people working. There was theoretically competition in the marketplace to make cleaner-fuel cars for decades, until one company showed up to provide *real* competition, and then whoah, suddenly the customer has a vast array of cheaper-than-ever and better-than-ever electric cars! Disruptors entering a market make things better for ALL consumers, even if they still stick with the same supplier…

To put this another way, even if you love steam (I do!) and only buy your games from steam (95% steam, 5% origin here), and never, ever, ever will ever buy a game elsewhere…then competition (from epic etc) is STILL good for you, because it forces steam to stay competitive.

Anyway…

So Epic clearly have fucktons of money and want to spend it on creating a true, viable competitor to steam. This is VERY hard. Its almost as hard as competing with amazon prime or netflix. The only upside is that valve are a private company, so they can’t tap the equity markets for cash to run at a loss for a decade to destroy your business… but I digress… competing with steam is HARD, they have been around so long, with such a huge catalog. How will anybody EVER compete?

Well anyone as old as me remembers how valve did it. They were competing with retail, and NONE OF US wanted to use steam. The rage was incredible, I remember HL2s release. people HATED steam with a vengeance and yet…we all installed it because OMG HL2 AMAZEBALLS.

Epic are ‘doing a steam’ to steam, and they are doing it for two reasons, both of which I think are sensible. Firstly, they are doing it because they KNOW THIS WORKS, as they all saw valve do it a while ago. They have also seen many other stores launch…and fail badly without using the ‘exclusive games’ strategy. They know that this *can* work, and they know other strategies *tend to fail*.

The second reason is… this is the best possible way they can promote their store… in the eyes of gamers. yes I really typed that, yes I really mean it. Lets look at the three things epic are doing to drive interest in their store:

  1. Free games literally given away to gamers for nothing but signing up to a free account. Not shovelware, really DECENT games.
  2. A much better cut to developers that means they get to keep more of the money from the games they sell
  3. Advances (guarantees?) on royalties for being exclusive to the platform for a set period.

So.. 1) is epic directly giving money (effectively) to gamers, and 2) and 3) is epic giving money to game developers (quite directly!). How is this bad? And the big point I want to make is…what is the alternative way for them to make the store succeed…

ADVERTISING

Gamers have a choice. They can either say “Yay we love lack of competition! we have no idea how free markets work” or “We LOVE banner ads, video ads, super-bowl ads, poster-ads, in-stream ads. GIVE US MORE ADVERTS” or they can say “If you *have* to spend a lot of money on building a new games store, it would be good if you gave us, and the game devs loads of free stuff”.

I am amazed they do not rally behind 3). It seems the best possible choice they could make to keep gamers AND game devs happy. Literally the ONLY people who should be raging about their strategy are the account managers at the big advertising agencies.

Boo Hoo.

SCALE IT UP. SCALE! SCALE! SCALE!

I like the concept of scale. its why I’m obsessed with the ramp up of teslas gigafactory and car production, and why I am making a game about factories in the first place. I find factorio very impressive. I also find real world scale very impressive. Like REALLY huge wind turbines.

And REALLY huge solar farms.

So yeah… I like to address scale in my work (games!) too :D. I think that optimization and scale go hand in hand. its no good allowing players to create colossal factories if the option is only theoretical, given hugely slow code. So embracing scale FORCES you to write more optimized (i’d say ‘better’) code. I also think that in my tiny, tiny way, if I can get the CPU usage of my games down by just 10%, then thats a lot (high tens of thousands of players) of games running on PCs using less power. Thats good for the environment!

Anyway, on the subject of scale I just swapped my twin 27″ monitors for a single 49″ beast that weighs less and uses noticeably less power (yay progress!) and also way less cabling. I’m not sure I have the height just right yet, and it seems to tell some programs its a mere 3840 res and not 5120 res (which both my game, and many apps agree that it is).

First things first…. LOL huge monitors are awesome. I find myself daydreaming what it would be like to stick 11 year old me, used to playing pong on the CRT TV and stick him in front of a 49″ monitor with twin speakers & subwoofer belting out battlefield V. Its truly amazing. My 980ti cant quite handle a proper FOV in ultra resolution, so I may have to scale it down a little bit but hey…. its super fun.

This has led me to try out various games at that resolution including of course… Production Line! and it looks remarkably fun in 5120×1440 res (which it happily supports… (click to enlarge). BTW runs fine at 60fps with this map…

of course the target market for this is pretty small so far, but I definitely remember a time when the absolute maximum conceivable size for a monitor was about 1920, which is why loads of developers like me used to create 2048×1024 render targets, because obviously we wouldn’t need bigger (LOL), and TBH when I coded gratuitous space battles with 4096×2048 render targets for those show-offs with their fancy-ass 2560 res monitors, that again felt like a limit that *could never be crossed*, and yet here I am, in 2019 with a monitor that my own game from 10 years back (GSB1) now cannot quite cope with at 5120 res…

Scale in terms of coding to support silly monitor resolutions is one thing, but I also think its worth considering scale in other terms, such as users, bandwidth and so on. I doubt I will EVER make a game as successful as flappy bird, angry birds, fortnite or minecraft, but you have to wonder how many times devs got close to that and then kinda fell over (and failed to achieve their full potential) because they couldn’t cope with the scale.

Right now, positech has several obvious bottlenecks preventing us from coping if we suddenly had a mega hit (anything bigger than Democracy 3 probably). For one… I’m the only person doing customer support (yikes!), which means if you email support AT positech dot co dot uk and tell me the game doesn’t run on your linux toaster, its ME, the lead coder, lead designer, and lead biz-dev dude, who gets distracted by your email. Not ideal.

Another bottleneck is programming. Production Line is Windows only. I hate cross-platform stuff, but if the game suddenly sold 5x or 10x its current level, I’d be mad not to do an OSX port, and maybe IOS version (likely never linux…sorry but its way way too small). This would mean hiring someone to do a port, and the problem with that is it TAKES TIME right when you want to hit the zeitgeist with your hit game.

Because the costs of maintaining the infrastructure, both physical, and in terms of manpower, necessary for a mega-hit are so high, it makes zero sense for someone like me to really have it in place without a hit, although TBH I’m better prepared than most. My blog, website and reporting back-end is on a dedicated server, not some tiny VPS thing, and I have CPU time and bandwidth to burn.

The big problem (if I had a big hit and saw a need to scale) is that I’d need people FAST, and thats either hard, or expensive. If you live in downtown san fran, finding people is trivial, but their salaries are hysterical (due to property costs), so its swings and roundabouts.

I guess the sensible thing is to make sure you know WHO to talk to, in terms of outsourcing companies, and have made the contacts and pressed the flesh with them, without immediate plans, but with an eye to the future.

I guess I’m also saying that for companies that help with porting, or customer service etc, it makes sense to be polite and chatty and helpful to *as many indie devs as possible*, so that you are on speed-dial for them when their 16th game goes to #1 in the steam charts.

Maybe Democracy 4?

How to 10x your indie game development process

Oh yes, I know all about search engine optimization. Can you tell?

I talk to a lot of indie devs, although TBH not as many as I would like to, and I find many of the discussions illuminating. Because I work mostly alone in a little room in a field in the shire, I get so used to my way of doing things that its easy to forget there even are other ways. However, one of the most illuminating things is discovering just how long it takes most developers to do things (whether its code, art, biz dev, production stuff, whatever), and I am constantly shocked at how my output seems to not be 20-30% higher than many devs, but seemingly 300-400%+ more than many developers.

This blog post will try and explain how.

Its harsh. This is not touchy-feely happy cliff. This may annoy you, and make me seem a harsh, competitive, aggressive workaholic. This is reality. Most people don’t want to know this reality, but they claim to want it. This will not motivate everyone, but here goes…

Tip #1 Stop fucking around with ‘fun’ disguised as work.

Reading reddit is not work, unless its 100% actual new, informative, well-reasoned and argued and productivity or sales-boosting information directly applicable to indie game development on the platform/genre combo you work in. Reading about how to make mobile games about ponies is not going to improve your bottom line when you are a PC strategy game developer, no matter how much you kid yourself it will.

This also includes playing a dozen new indie games a month, or watching youtube lets plays or twitch streams of a whole bunch of new games. Thats not ‘market research’, its just goofing around. If you are currently between titles, and thinking seriously, and doing market research into industry trends etc, then yes, MAYBE you can claim a few hours for doing this as ‘work’. If you current game design is pretty fixed, and you are > 6 months away from release, it really doesn’t matter a fuck what is #1 in the indie game charts and how it plays. Thats not work. It will NOT change your immediate plans, don’t pretend otherwise.

Tip#2 Work somewhere quiet.

No a coffee shop is not quiet. Nor is any room in your house/apartment where other people walk through regularly. You need to be an end-zone where people only enter your room if they need YOU. Unless the house is literally on fire, someone has been shot, or imminent death or suffering beckons, nobody should disturb you when you are working. Nobody. You are in isolation. Don’t kid yourself that ‘you work better in a gregarious group of chatty people’. Thats crap and deep down you know that.

Tip#3 Get a big monitor, get 2 big monitors. Don’t feel bad if you have 3.

You cannot get a lot of work done on a tiny laptop. Thats silly. its 2019. Get some big monitors, they are cheap. I have twin 27″ monitors at 2560×1440 res. I couldn’t work at my current rate with less. I spend less time alt-tabbing than you. I can glance at my inbox without a context switch from game dev. I can view loads of my code and my game at high resolution at the same time. Monitors are cheap. its a business investment. Trust me. Buy 2, big, high quality ones. Buy them now.

literally the bare minimum

Tip#4 Shortcut keys and batch files etc

I feel physically pained when someone right clicks and selects ‘copy’ or ‘paste’. How many shortcut keys do you know? Copy & paste & cut and select word, select line, select page up + down? Windows + R Windows+F? Alt+tab? Shift+alt+tab? Windows+arrow keys? Know them all. You actually do not need a mouse for much. the mouse is SLOW. I use batch files to process files in photoshop quite a lot. I also know a lot of shortcut keys in textpad32 and paintshop pro. Also… if you use visual studio are you using visual assist? its amazing. use it. USE every productivity tool imaginable. leverage what computers are good at. Get a fast PC.

I know devs who use zipped up files and drag-dropping to back up their code. FFS. Use source control and cloud backup software that automates all this for you. If code and software exists to make you more productive USE it. Use email filters and rules. So much time-saving software exists, use it.

FFS I even have my living room lights come on automatically at sunset without me pressing buttons. Automate the fuck out of things.

Tip#5 Comfort

You will work longer and harder and happier in a nice work environment. When it comes to my office, no expense is spared. If you are an indie developer, your desk and office chair are probably more important to you than your car, TV, cooker and sofa combined. You will (hopefully) spend a lot of time in that chair at that desk. Get a really good one. try many, the really good ones will last a while. Mine is an aeron, 9 years old, still perfect. I actually had a desk made for me (surprisingly cheap actually), It will last forever. Do not make false economies here. Mine was about £800. Thats under £100 a year so far for the place I park my ass most of my life.

other chairs are shit

Tip#6 Mindset

If you are working on your first game, I hate to be that ‘one guy’ who breaks with the happy-clappy hugs and flowers online twitter group hug, but no, you are not an indie game dev, you are a wannabe. You are trying. you might one day release a game, in which case, well done, welcome to the club. the world is littered with people who try and fail, and those who give up. Someone who is ‘working on a novel’ is not a novelist, they are a hobbyist.

If you want the warm glowy feeling of being an indie dev who entertains people and ships games and makes a living from it, they you need to work hard as fuck, for a long time, and get your head down and get the product shipped. Do not surround yourself with well meaning people who tell you what you want to hear. Thats a route that spirals down and down into insular failure and disappointment. If your game is behind schedule then you are failing. Stop whining and work harder, and keep that attitude until you finish something.

Also… don’t kid yourself that you have worked ‘super hard’ because you put in a solid 6 hours work at your desk today. Thats great, but frankly someone flipping burgers has worked longer and harder than you today. You claim to want to make a secure living in one of the most competitive, sought-after, cut-throat industries in the world? Well so does everybody else. Most people fail. Most people lose. You will not make a success of this working less hours than someone doing an unskilled minimum wage job. Do not blame me for the harsh realities of competition, but more importantly do not pretend they don’t exist because that truth is inconvenient.

This job is not hard. You want hard? go work as a soldier, a police officer, as a trauma surgeon or an astronaut. game dev is fucking easy. Don’t kid yourself.

Tip#7 Focus on one thing well

If you are good at making 2D RPGs, make 2D RPGs. Unless you have three years salary in the bank, and a lot of confidence, and are absolutely MISERABLE making those games, do not change. Every 2D RPG you make improves your skills, your experience, your audience, your engine, your productivity and your tool-chain.

I’m a competent programmer. I could make a 3D physics game next. Maybe I have a cool idea for one, but for fucks sake that is a BIG leap away from 2D/iso strategy/management games. Why throw 90% of my audience, experience, skills and technologyonto a bonfire just to switch genres and styles.

You might decide to change genres/engines/languages etc because you are seeking artistic fulfillment. Thats great, but thats the luxury of a leisure activity. Again…3 years salary banked? go for it. Else…thats almost certainly a poor business decision. Get good at a thing, then do that thing until its a big success. There is HUGE opportunity cost when you learn a new genre/style/language/technology. Make sure you are fully aware of this. Few genres are so small they cannot support a single indie dev.

source:spiderweb software, experts in genre focus

Tip#8 Seek out harsh but real criticism

I get a fair few really good reviews and emails from people who really like my games. I love them. they make me feel happy, and warm, and appreciated and other nice things. its a good feeling. They don’t actually make my games better though. The emails you hate, the negative reviews, the dreaded steam refund reasons… these are the harsh angry truths that you do NOT want to hear, and yet you must. When someones tells you ‘i could make a better GUI with my ass whilst high‘, you may be angry, depressed, furious, insulted…but you need to hear it. maybe your GUI *is* bad. Maybe it could be improved.

to be fair, that slider was really crap. its better now.

Do not insulate yourself from the negative. negativity can lead to change, improvement and accomplishment. Data about what you are doing badly is absolutely essential in improving. If nobody ever tells you your games art direction is shit, or your game title is stupid, you will never improve it. If you *absolutely* cannot cope with harsh, hurtful criticism, then you probably should not try to make a living from indie game development.

Tip#9 avoid chances for distraction

I used to use rescuetime. I also used to use an hourglass to focus myself on work. I now find I need neither. I’ve worked so hard, so long, I’ve internalized what they used to do for me. Most people aren’t at that stage, and they get distracted. if your phone distracts you from work, switch it off. Nothing will explode. We survived thousands of years without mobile phones, you will be fine for entire eight hour stretches. You don’t need twitter during work hours, you don’t need to check the news sites or reddit during work hours.

If your code takes time to compile or art takes time to render, learn to multi-task with other WORK stuff. Set aside small tasks, like replying to forum threads, easy tech-support emails etc, so you can do them when you are waiting for your work to complete. Schedule other activities that you need to do anyway around times you know you are waiting for your PC. I mow the lawn/chop firewood while my PC renders out youtube videos for me. If my PC needs to reboot and update the O/S I will set it off before I have lunch, or last thing at night.

Avoid situations where your PC is sat there doing something (rendering / compiling / updating) and you have nothing to do but SIT THERE. You will get distracted, your mind-state will collapse, your productivity will plummet.

source: XKCD

Tip#10 Avoid bullshit productivity planning admin

Some peoples reaction to stuff like this is to immediately start planning to be more productive. they will start a productivity planning spreadsheet, with nice formatting, some color-coding and even a company logo, or they will google for inspirational quotes to print out and then stick up around the office. or they will start making an important list of the top ten things they have learned about productivity. They might hop onto discord to chat to fellow devs and share their new found enthusiasm for productivity with their buddies…

This is all bullshit.

The true response to this blog post, which is ending very shortly, is to close your browser. (yes CLOSE it), and do some work. Internalize the *attitude* not the specifics, and actually DO something. In other words, do not become like this classic, absolutely on-topic sketch from the life-of-brian which does a great job of showing exactly what I’m on about.

Get back to work and stop fucking around.