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

Stability == productivity

I have had to update and change a few things lately, and will be changing a few more things, and it leads me to use on the fact that I generally do NOT change things and how that is *a good thing*.

Due to changes to the pricing of cpanel, my server (yes for historical reasons I still have a dedicated physical server for all my sites) has to switch to a different physical box, and that means a lot of checking, and fiddling with hosts files, and rechecking, and panicking about php and so on…

Also recently my company bank changed their user interface and made a total and utter hash of it, that has caused me no end of admin hiccups and annoyances getting everything to work fluidly again…

…and me and Jeff (co-coder on Democracy 4) will shortly be switching to use git, as a mutually agreed source control system. This will cue no end of gnashing of my teeth and moaning that I don’t know how it works…until I get the hang of it.

In general I have found that from a productivity POV, change is BAD. It is REALLY bad, and you don’t realize how bad it is until you have gone multiple years without changing anything. Production Line is developed with my same trusty engine as years ago, in directx9, with visual C++ 2013, perforce for source control, visual assist, and nothing else changed for years other than my monitor, and my PC a few years ago. I use the same sound engine middle-ware as I use for most of my games, without change, and no other middle-ware at all.

…not quite THIS old…

With a certain level of code experience, and a rock-solid stable setup that *never changes*, making video games i actually kinda EASY. Its just typing. Literally just typing. I started typing for fun around age 8, so you would be amazed how stupidly fast i type now. My wife thinks I’m being sarcastic when she hears me typing but thats the real speed.

When I hear people talking about how an (unwanted) update to their middle-ware has broken their game, or how upgrading to a new O/S or maybe a new dev environment has lost them a day (or more), I just wince. Thats totally unnecessary pain. You do NOT need to port your code to the latest engine, or the latest operating system version, or the latest API. Unless you are working on the frostbite engine, this stuff should not bother you.

I don’t have a vulcan API path for my games, in the same way I don’t have a ‘mantle’ code path either. Why would I? Why would I even use directx 10, let alone 11 or 12. I make isometric strategy games or iconic top-down games. I don’t need ‘ambient occlusion’ or ‘subsurface scattering’. I’m not 100% sure what they are.

has that much really changed?

Nobody will buy your game because it uses the latest API, or because it uses some cool graphical feature (unless…frostbite). Nobody will buy your game because you developed it on the latest IDE, or using the newest coolest system. And your in-house productivity tools? did you change those too? did you start using slack? why?

I chat to Jeff using skype or *gasp* email. When I work on spreadsheets I use Microsoft office, the old school purchased version from 2010. Tell me what features are in the new cloud-based tools that you NEED to make better games… BTW my software subscription cost is trivial, just malwarebytes and….oh thats it.

So my top tip from an old grizzled but stupidly productive game dev… Find a dev environment that works *for you* and then look at changing it maybe once a decade. If you HAVE to. That goes for everything. Get a decent office chair and you will have it for a decade. Get a decent keyboard and you will have it for ages. Don’t change anything, don’t install anything, don’t even move anything, just TYPE :D

Reboot red (Banff)

So recently I went to Canada for reboot banff, although tbh half my reasoning was to go to the games conference, and half was to go on holiday with my wife as we had been there a long while ago and loved it, so we knew it would be a great place to go visit. This was a pretty small games conference (500ish people), when you compare it to the likes of GDC, but it was worthwhile, the talks were mostly good, and the atmosphere (in every way) was just so much better.

One of the things I really dislike about GDC is its price tiers. You are literally barcode scanned when entering a talk to check you are sufficiently wealthy enough to hear what is being said. The top tiers are stupidly pricey. I’m a bloody successful developer, but I’m not paying thousands of dollars just to sit in a few room and hear people tell me about the way they used shaders in their AAA game, or to give us a post-mortem that is 50% advertising and pitching for a better job at another company…

Everything in reboot is the same price, plus you get FREE coffee and buns/cakes/yummy things in the morning and afternoon and a FREE buffet lunch. Everyone mingles, everyone is chill. There are no torturous queues to be able to spend $5 on a crap cup of coffee… its ace.

Plus for fucks sake…banff. I’m sure we all know about the insane homeless problem and literally shit problems in San Francisco. and here is a picture I took at banff from my hotel window:

I was celebrating something while I was there, so we did something truly insane and went on a helicopter trip to the nearby mountains, and I cannot convey the awesomeness of this with a mere photo like this:

But trust me it was amazeballs.

The hotel that the conference was at is very nice, although you need deep pockets to eat there each night, but luckily the town is way cheaper and a very pleasant walk 15 minutes along a clear glacier-water stream. Hardly a chore. We saw a fair few deer on our walks there, although TBH living in the UK we have deer in our garden now and then but still…its pretty cool.

The talks were a nice variety, a fair few businessy ones which I found interesting. Some slightly avante-garde ones too, but I chose mostly business and industry ones. I went to probably 4x as many talks at this as I do at GDC, which is amazing really, given GDC has about 50,000 talks (about 5 of which you can go to as an indie…).

Anyway, the real value in these things is the over-dinner and after-party chats with fellow devs. I met some new people, re-connected with old friends etc, and it was cool. I definitely learned some things, and its good to take the pulse of other indies in person. Would I go next year? Maybe… I don’t know what to do about GDC. I’m thinking NO, mostly because of flying, but it will be Democracy 4 launch year so maybe I should? Still undecided.

But I give reboot 5/5. You should go.

Global gaming competition and the collapse of western cultural advantage

Right then… I’m in Canada for #rebootred, so on a laptop, and this will be a simple blog post with no images, but hopefully distills a lot of careful thinking…

I am worried that western game devs, (mostly indies) are totally and utterly fucked. I am super-worried (and confident) that western indie game devs who are based in California (esp san fran area) are so hugely utterly fucked that its like a disaster movie. Not today, not tomorrow, not next year, but soon. Here is why.

The mindset of many california/west coast USA indies seems ridiculously optimistic. In talks, many of them talk about game design, company culture, personal development, aesthetics, mental health, safe-spaces and how they are anti-crunch, pro-union, and want to create idealistic creative environments, but rarely touch on economics or money. All of this sounds wonderful, and positive and desirable in a happy, optimistic ‘wouldn’t it be great if star trek:TNG was real’ kind of way. The trouble is, I think its idealistic naive insanity and that historical chance is currently lulling people into thinking this is going to continue.

There are basically two points to make here. One is how exactly I think this is naive insanity (I’m trying hard to avoid the word bollocks), and the other is why nobody has seemingly noticed yet. Onwards with point one:

Its stupidly expensive, and inefficient to make video games using middle class American twenty somethings working in California or Vancouver/Seattle. If you asked me how to lose money by writing software, I guess three of my best ideas would be to hire people with as little experience as possible, ensure they were only vaguely pressured into working real hard, and also place them in the most expensive office space I could find. That should do the trick.

Newsflash: You get at better at programming with experience. You get better at art with experience. You get better at almost EVERYTHING with experience. I am vastly, hugely, hilariously better at coding now than when I was 40 (I’m 50). The code I wrote when I was 30 was embarrassing. The code I wrote when I was 20 was a joke. I started coding aged 11. I am still learning. The code in Production Line is way better than Democracy 3. If I was hiring coders now (I’m not), someones advanced age (assuming equiv experience) would be a HUGE factor in selection. Your grey hair might not be a huge boost for your prospects on tinder, but they are a boost for your prospects as a potential employee at my company. Why? Because I’m not a total idiot. People with 30+ years of experience are BETTER at stuff. How is that even up for debate.

But the average age of indie developers seems to be going down each year. Its crazy. Your first attempt at making a game is usually awful. You think its better than it is because unity superficially makes stuff look better than it really is. The western attitude of praising youth over experience is a crippling flaw. The flipside view in many asian countries makes vastly more sense. Its 2019, much work is now mental, not physical. A 20 year old laborer is more productive than a 50 year old laborer. But coders….lol no.

Modern western millenial (or zoomer???) attitudes to work are different to the boomer/genX attitudes. Thats in many ways an improvement. I am a huge workaholic. I will work myself to death in order to win. I LOVE finding myself in a situation where the person who works the most wins, because then I know I will win. This is very unhealthy, and very bad, and rightly looked down upon. Its also the predominant attitude still in a huge swathe of the world, especially the ‘developing’ world, or to put it another way: China.

California/Seattle/Vancouver are rich. The middle class kids who lightly rebel against their parents by having dyed hair, a mac book air and a copy of unity need not fear too much that they will end up in the gutter hungry. The game dev thing is their dream, but if it fucks up, they can get a job at facebook/microsoft/amazon for a high six figure salary anyway. Their parents likely own houses that have quintupled in value and will bail them out anyway. Do you think the average seattle indie dev has the same hunger to work on their game as a kid from a poor family in Shenzen who sees this as their ONE CHANCE to escape life in a factory?

Poor people have an added incentive. Harsh but true. I’m not exactly ‘from money’ (to put it mildly), so I know this. Nothing encourages you to work harder than hunger, and west-coast indie devs dont have it.

I could look up relative apartment/office rental costs in China versus Seattle/SF here, but why bother? you already know the answer. A dev in India/Russia/China/South America has a trivial office rental bill compared to you. Guess what… a $20 strategy game royalty buys a lot more *stuff* in mumbai than it does in san francisco, but the developer still earns the same $20 regardless of where they coded the game. Steam doesnt deduct income from chinese developers because they *cheat* by developing games somewhere more affordable.

So yeah… pure economics mean that western devs, in western cities, with western attitudes, and work-life balance are fucked. You cannot compete. Its over, you lost. Poverty awaits. You*are*fucked. Point one ends here.

Now point two… if this is really true, how the hell is ANYONE still in business making indie games in SF/London/Seattle?

CULTURE

Anyone who has witnessed triple-A devs outsource art or design or code to the developing world will say its CULTURE that *we* have an advantage on, and *they* don’t. Chinese devs cant make art that appeals to the precious artistic sensibilities of all the people buying games, which is rich westerners, hence, they might be ok to model the odd tree…but chinese devs can never compete with western ones for creating real IP, or whole games…

HAHAHA.

Yeah maybe…in the past. But thats bullshit now. Firstly, The chinese economy has been transformed, and there is now a HUGE middle class. There are a staggering number of chinese gamers, playing everything. The idea of Chinese outsourcers making content for rich westerns is seriously out of date. If anything, its now hungry western indie devs asking how they can ‘break in’ to the huge and lucrative Chinese market.

Secondly, the whole ‘cultural advantage’ thing is about to become bullshit. In the past, people had a point. Thanks to WW2, my own country (England) was economically kicked in the nuts a while ago, and became effectively subservient in economic terms to the USA. As a result, US culture invaded and dominated our own, to the extent that English people know what Hamburgers, High-School, High-School proms, Little-League, Baseball, Cheerleaders, Trick-or-treat and Pretzels are, even though none of this is English. You can make a video game in san francisco about a pretzel-munching cheerleader at the high school prom, and thats just fine, because US culture has basically conquered the world. US culture dominates, and thus people 100% immersed in it in San Francisco get an advantage over kids in rural China.

Not any more.

Some commentators suggest that ‘Gangnam Style’ was the tipping point towards Asian dominance of global culture. Maybe instead its ‘Crazy Rich Asians’. Maybe it will be some movie/game from next year. Hard to tell, but everybody can see the direction of movement.

In economic terms We have ZERO defence against domination by asia of almost everything. We have got away with ignoring this for a few decades because of the cultural overhang of western (esp US) media that created a narrative of needing to get IP and art from the west if you wanted to be a success in the media. That cultural advantage is collapsing right now.

To clarify: I dont see this as a BAD thing. Or a GOOD thing. Its just a thing. Its the gears of history. Britain was good at shipbuilding and built a trading empire based on naval might that let us get away with punching above our weight culturally and economically for a while. Then the US had their turn, after WW2 basically fucked everybody else. Now its time for Asia to take both the the cultural and economic crown. Stuff changes. All I’m trying to do is spot when changes might cause me, or people I know, to have to adjust.

TL;DR: There is no safe space to protect from the economics of Chinese game development.

This is just my view. I could be totally wrong. I’ve never even been to India, China or Russia. Am I wrong?

Ad conversion analytics

So…. In the complete and utter absence of any interest from curators, youtubers, the traditional press, or platform/store people to promote games these days… how is a struggling indie able to get any eyeballs on what they make? I guess its back to the wonderful world of adverts…

So I have been running facebook ads for AGES, and have loads of stats, and recently decided to break out excel and go through some stats on how advertising spend to promote production line stacks up against actually earning a profit. This stuff is extremely opaque, and because valve will not let devs have any kind of store page conversion tracking…we have to guess as to how our promotional efforts work :(

So I have a big spreadsheet that tracks the following things on a daily basis:

  • Ad spend on that game for that day
  • Raw steam revenue for that game (and its DLC) that day
  • Estimated net revenue after valves cut, chargebacks, returns etc
  • Profit for that day!

So if I look at a nice selection of 48 days (not during discount sales) data, I can plot these against each other and then analyze them in various ways to see whether I am doing something sensible or not. To do this I am just comparing columns of data using the excel CORRELATE() function, and the results are thus:

A raw correlation over those days of ad spend vs revenue gives this:

Simple ad spend vs revenue correlation: 0.50

Thats positive, which is yay! showing that I *am* actually driving revenue (not mere eyeballs, which is obviously working…) from my ads.

If I look at the correlation of ad revenue to profit I get:

Simple ad spend vs profit correlation: 0.39

which is weaker but still good, implying more ad spend == more profit. However, this is pretty useless as a metric, because the impact of an ad is likely not instantaneous. Someone sees an ad, follows a link, then thinks ‘gee! what an awesome game! (they are 1950s sitcom schoolkids), and then they add it to their wishlist to remind themselves to buy it the next day, or some such effect… so really I should look at pairs of day spending against pairs of days profit, to iron that out giving me this result:

rolling 2 day ad spend vs rolling 2 day profit: -0.32

Which is kind of wtf? If I go one steps further and average things over groups of 4 days I get this:

rolling 4 day ad spend vs rolling 4 days profit: 0.92

Hmmmm. This is a positive result, but actually I wonder if I’m actually doing it wrong. After all.. if there is not much variety between the ad spend on a given day, or profit on a single day, then how can I really draw conclusions. I probably need to go on a financial analytics course or do a lot of reading to understand this.

For example, if I do a correlation of a days ad spend, against the profit of that same day PLUS the 3 following days, I get a NEGATIVE correlation (only just) suggesting this is all bullshit :D

What I really need is some way to assess what the correlation is, and revenue really attributable to ads is… given the level of confidence I can get from the level of volatility in my ad budget... or what I imagine is called ‘volatility adjusted correlation’?

A bit of googling suggests this is called R squared, or ‘adjusted coefficient of determination) and on my rolling 4 day figure I get an RSQ of 0.84. I *think* this suggests that I can sensibly attribute 84% of the variation as being correlated, so effectively 84% of my profit each day is attributable to ads? Or is it that I can be 84% convinced that 92% of my profit is due to ads? In that case roughly 79% of my profits are ad-driven…?

No wonder most devs are confused by this stuff… I need to go back to school.

Production Line DLC#2 COMING SOON

So we now have an official coming soon page for the new Production Line expansion pack (Design variety pack). Here it is in all its amazing html glory:

https://store.steampowered.com/app/1174730/Production_Line__Design_Variety_Pack/

Obviously the most exciting part of the page is the ‘add to wish-list’ button, which i thoroughly encourage people to do, as gossip among indie devs is that having high wish-list numbers converts into valve sending you nicer chocolate at Christmas, or something like that (I forget the details). Actually the best thing for me to do is probably embed the steam widget thingy:

I have no idea why there is a scrollbar on that widget. I think its safe to blame the mess that is wordpress…

Anyway at the moment the store page is not translated into each language but I’m getting that done now. All the actual content is done, and tested in game, and the new cars look lovely. Its purely cosmetic, so don’t yell at me if you can’t afford it for ruining game balance or whatever. I read that epics cosmetic DLC earns them a bazillion dollars and I’d like to retire eventually (ha!.. will never happen), so somewhere in that paragraph is my reasoning for adding content to the game…

On less business-y levels… I’m tracking down some ultra-rare but annoying Production Line bugs right now. One is a thing where very, very rarely, sounds stop streaming, or the music stops (after a good number of hours). I am digging into this, but its super hard to pin down.

Another bug is related to an error message in logs (which is now harmless…but bugs me) relating to shaders, and some visual artifacting. I discovered that the two different systems I was using to set and unset shaders may potentially have come into conflict, so I fixed that abominable code architecture by ensuring the game only has one possible system for turning shaders on and off, and hopefully now there can never be a conflict or a shader ‘stuck’ on. This will all be in the next patch, just before the DLC release.

Oh…and expect more Democracy 4 update goodness soon