Monthly Archives: April 2015

I might be unpopular in this post. If you are a huge minecraft / star citizen / flappy bird and gangnam style fan, look away now.

I think there is a phenomena that is becoming stronger and stronger and I think its bad news for all content creators. Well, for 99.99% of us. That phenomena is the globalization of media, and the concentration of it in a few hands.

Zap back a few hundred years, and you could be the #1 best Lute player in the village. Nobody else could touch you for lute playing. You rocked. 30 miles away there was a better lute player, but nobody ever left their village anyway, so who cared. You could play the lute, and people would pay you to hear it. Happy times.

Zap forward a bit and we have TV and radio. And thats different, because now you can hear that Lute / guitar player from the next village on the radio. And that means everyone in the country can hear him. So that guy gets to be a big national star, and the lesser local people don’t do so well. And thats tough for them, but probably not a total disaster. After all, competing with every guitar player in the UK is tough, but you aren’t competing globally. BBC radio doesn’t play in Islamabad, andĀ  (and this is crucial) even if it did, nobody would like your weird English music over there anyway, due to cultural differences.


The latest transformers movie had a scene set in China, and dialog where people say to trust the government to save them. Both put in to keep Chinese audiences / government officials happy. This is what happens now. Nobody makes a movie based on selling it to people in their country. The stuff is global. It has been, obviously for decades, but its becoming more and more so every year. Now entertainment is predominantly digital, there are literally no borders now. Staggered release dates wont last much longer. Cultural differences are eroding.

So now for the first time we seeing the emergence not just of monopolies on a national level, but an international level. Not just in terms of software and services, but in terms of culture. I never thought I’d see a Korean rap star become a global phenomena. I witnessed middle aged men dressed up as the ugly sisters from Cinderella doing a gangnam style dance one Christmas in Longleat house, England. This is new.


When culture is global, and popularity is global, there is only one chart. THE chart. Everyone knows what everyone likes, and what already has coverage gets more coverage. Saturation coverage.

The itunes charts are pretty much *the place* for apps. Get to the top there, and you are laughing. The problem is, because there is less variety in charts / news outlets / media globally now, you are getting more of a centralized consensus on what is good. People who are only going to write about one pop song (the very mainstream non specialist media) would write about gangnam style. One mobile game? well flappy bird obviously (or angry birds…), one desktop game? well obviously minecraft.

And this leads to the crazy irony of the most successful, popular content getting more and more publicity. Thats always been true but its getting much, much worse because now that is global. Why do I care? why is this bad?

I think its bad because it leads to random perturbations becoming exaggerated. A slight boost in popularity of something bumps it from #100 in a chart to #9. it gets more attention so it goes to #1, and then so much attention it stays there, and then the mere fact that it stayed there becomes newsworthy making it even more popular, and the cycle continues, all potentially from a tiny, tiny bump, maybe a single media personality took a liking to it. A minor disruption in a flat surface is exaggerated to a mountain.


What I’m saying is that gangnam style, minecraft, flappy bird and star citizen are not *THAT* good. I’m not saying they aren’t good, or great even, or amazing even, but the level of popularity is totally disconnected from the quality at some point above the ‘ten million copies sold’ level. Stuff is getting bought *because it is getting bought*. And stuff is becoming popular *because it is already popular* and that sucks, because when you produce content, the success of it is too much attributed to luck. And thats bad, bad bad.

One of the bright points in all this is actually steam. Steams front page re-coding is awesome, and exactly what was needed. Beforehand, if a game got a front page feature, it became popular, and sold a lot, and the word of mouth generated a lot of sales which led to a front page feature and…. etc. Now, there is no such thing. If you love complex PC strategy games and politics, you might be staggered at the promotion my game ‘Democracy 3’ gets on steam. But thats just for you. Steam now has hundreds of micro-niches, and lots of developers have the chance to be popular in that niche.


We need the same for all media. Why do ‘pop charts’ even exist? or movie charts? Why on earth does the fact that ‘fast and furious’ made X dollars have any newsworthy value outside of the industry? Should I go and see it because its popular with everybody else? Fuck no. Charts suck. Charts encourage a homogenization of culture and promote the bland and inoffensive.

So why don’t apple do what steam do and fix this problem? Because *they do not need to care*. As a developer, its terrifying to know a game I make will almost certainly fail, but *might* become minecraft or flappy bird. Thats a very very risky industry. But for people with an online store, they (except steam) don’t care. Why should they? They don’t care if the #1 game is awesome or a fart joke. They collect their slice of *all* the money anyway. Running in app store is the ultimate hedging strategy in games. I wish I owned one :D.

SQL headache

April 28, 2015 | Filed under: programming

Gah, I spent all morning wracking my brains to fix a rendering order batching bug (fixed! yay!), and now I suddenly have a second daily headache with some SQL. If you use SQL a lot you can probably tell me how trivial this is…

Imagine a table of scores

DaveĀ  PlanetA 4,200

Mike PlanetB 2,200

Dave PlanetA 4,100

Chas Planet A, 7,200

And so on. What I am doing right now is a SELECT to get the top 20 rows from this table where the planet is (for example ) PlanetA. What I *want*n to do is to get the top 20 rows, but only the TOP entry for each player. So you only appear once in each high score list.

I can’t get my head around how to do that. I want something like SELECT * FROM scores WHERE scores.planet == ‘zog’ AND scores.score IS HIGHEST FOR score.player ORDER BY score

But of course I’ve made that syntax up and its imaginary. Albeit cool.

Tell me there is an easy way to do this thang?

And ooh guest what! Democracy 3 is the #1 strategy game on the ipad right now, due to a rather insane price drop I’m experimenting with…

I’m still working on bug fixes and other tweaks and improvements for Gratuitous Space Battles 2. There were, i have to admit, more bugs than I expected. I expected bugs in beta, and a look at the change-list will show you I fixed a LOT of them. What I didn’t expect was such a huge difference between the number of reported bugs in beta and those on release. I can only assume beta players were more forgiving, or maybe expected bugs they didn’t report to get spotted and fixed anyway. With a simple game thats possible, but with a big complex beast like GSB2 and 1 programmer…not so much. If you find a bug in 1600×900 res only when you have bloom turned off, on an asteroid map where you are using decoy projectors against camoflaged enemy dreadnoughts… There is a good chance I never encountered that combination. There is only one of me :D

So here is the change-list (so far) for the next patch…

1) Mouse wheel now scrolls the message screen inbox.
2) Inbox now formatted better. Also this screen now has a ‘challenges’ button.
3) Fixed bug where some combinations of graphics options could result in a blurred white battle screen.
4) Fixed crash bug in ship design screen when a ship encounters layers with zero physical sprites.
5) New tutorial message pops up (English only) when you try to save a fighter/gunship design with no engines or fuel tank.
6) Fixed graphical bug on some resolutions on the ship design screen when changing hull size types.
7) Ship design loading dialog now sorts by name correctly.
8) Fixed shader error message / potential problem on ship design screen for screen resolutions of 900 height.
9) Fixed bug where fighters who started returning to a carrier would not pick a new carrier if their first choice was destroyed.
10) Fixed cursor flickering on some low-spec machines.
11) Added new options to the in-battle visual options to toggle on/off asteroids/hulks/nebula clouds.

I’ll likely push this out tomorrow. I’ll probably also increase the unlock costs of a lot of items as well, and maybe sneak in a performance boost I worked out whilst looking at some code…

One of the things I’ve learned, AGAIN, releasing GSB2 is that vocal people get very angry about lists of content. GSB2 has 11 missions. The expectation is that people then enjoy challenges against each other, but people seem to keep complaining that there are only 4 races and 11 missions. GSB1 had 4 races too, but apparently because extra races got added in DLC, those are expected in the base game, so people expect 8 races and 20 missions.

The irony is, that sort of stuff is pretty cheap and easy top do (although with GSB2 it would boost the download size a lot). Adding another 11 missions is relatively easy (compared to the thousands and thousands of hours that went into the ship-editing and engine-redesign). I guess adding extra missions will be one thing that encourages people to leave better steam reviews, that and increased stability, which I’m pretty sure I have now, and even more so with this next patch.

So lesson learned, don’t ship with the amount of content you think makes sense and is reasonable. Ship with double that. I’ve already set aside time to do it.

In the meantime, if you are enjoying the game, please leave a steam review. I know 99% of you don’t leave reviews, which means I’m kinda dragged down by the 1% who had crash bugs which are now fixed but never changed their reviews. :(


On another topic, I’ve been pretty miserable lately. I’ve got increasingly sick of checking email/forums/tweets each day to get another few pages of abuse, snark, sarcasm and bile thrown at me. Pretty much every game developer I know gets the same treatment. Apparently this is acceptable behavior. It isn’t. I’m trying to dial-down my use of sites like twitter, facebook and public forums and stay away from the corrosive atmosphere of people online. Lets not even mention the steam forums, and the abuse you see there.

So you might be see me post a lot more about technical topics as opposed to business / pricing / sale / industry stuff. There is nothing you can say online on those topics that doesn’t apparently invite abuse and sarcasm. Not to mention ‘advice’ from people who have never sold anything in their lives, but apparently can see immediately why I am so penniless and unsuccessful.

Bah :D



Yikes,. so we had a lot of MUST FIX NOW issues in the first four days of releasing Gratuitous Space Battles 2. I think in retrospect I had bitten off a bit more than in possible for a single coder / designer to do.

GSB2 involved a phenomenal amount of re-engineering to support the kind of graphical fidelity I wanted. I sometimes read comments like ‘its just a new engine’, as though I just went into a drop-down box in unity and selected ‘new engine’, then hit the ship-it button. Arrggghhh. This new engine took well over a year of mind-mangling stress to develop. I love it, but its still hard work.

Anyway… Lesson learned #1: Multithreading increases your bug count by at least tenfold. Especially on ‘other peoples hardware’.


Lesson learned #2: Don’t do a multi-platform release. Do a Windows release. Fix everything, THEN worry about mac & Linux. Or hire another 3 or four people. Or make a much, much simpler game.

The good news is that after tracking down some pretty obscure stuff, I’ve got version 1.26 out there, and early reports suggest it is MUCH better. MUCH more stable, and a lot of silly dumb-ass mistakes by me have been fixed. The only *big* bug left is some series of actions that leads to ship designs being (temporarily) deleted until you restart the app. I reckon thats easily fixable today. Which then means I can get on with what I wanted to be doing all along: tweaking values, improving GUI elements, supporting modders, and getting a feel for what features people would like improved or added. I know people want galactic conquest put in, but thats a HUGE project, and not one for the next few months. That didn’t ship with GSB1, and that was with good reason, I assure you. Every single weapon and module from every race & expansion pack of GSB1 is in GSB2. It also has more initial missions, but even then people complain it doesn’t have enough content. Argggghhh.

Anyway, at least I can smile now for the first time in a few days. If you are enjoying the game, please leave a positive steam review. Even better, tweet about it :D.

There is nothing relaxing about the day after launching a game. Especially when you do this for a living, and other people depend on you. Its a huge, big deal. Its basically betting your one and a half years income on a roulette wheel. And the worst thing is, it can be weeks or even months before you really know if it worked. Terrifying. I read a lot of books about similar (more established industries) to give myself some perspective. One of the Harry Potter movies (not the first one) LOST money at the cinema. Despite tens, probably hundreds of millions of people seeing it, it LOST money. They broke even, then made a handsome profit, only after all the TV rights, DVD, Blu-Ray and merchandising income came in. Imagine taking in $200 million+ and thinking “Yup we are still in the red guys. Don’t worry, it’ll be fine in the long run.” Holy fuck.

Thankfully I’m not *that* much down right now, but I’ll still have a celebration pub lunch on the day I break even.

The launch has gone ok, in that people are buying it, it jumped into the steam charts, people are playing it, they are uploading steam workshop entries for their ships, and I’ve got some very nice comments about the graphics. That’s all awesome, and trying out some of the challenges is hilarious. You people are very inventive when it comes to both ship and fleet design. I’ve got my ass kicked many times already :D


I’ve already patched it twice (yup I’m nuts). and am planning another one in a few days. There is a lot of admin overhead in patching the game, so I want t make each patch worth it, especially as I’ve fixed a bunch of urgent issues, and can now track down more obscure issues and the odd crash.

Of more interest will be what I’m learning about releasing a game in 2015 vs one in 2013. Holy fuck, its got harder. here are some observations.

1) There are so many games the media (inncluding youtubers/twitch streamers) won’t care that you released a new game without real hand-waving and pleading. Just being a good, quality game isn’t going to cut it any more. Unless your game has a famous actor in it, or is hilariously weird in its premise, or has some other non-game related ‘hook’ for the press to get excited about it, you can forget it. I hate worrying about all that. I’m a coder at heart, and this is meaning its getting tougher for me.

2) Ad costs are creeping up. The site takeover costs are stupidly high anyway, but even facebook, google adwords, its all got very very pricey.

3) There is a definite tendency for everyone to just add a game to a wishlist and wait for the sale. The inevitable sale. Kinda weird because…

4) There is still the inevitable abusive anger about a game daring to cost $24.95. People moan that the price is too high, then say they only ever buy games at 50% off. There may be some logic there but I can’t quite see it myself. Every game I’ve ever released on steam has had a thread saying its cost too much. I suspect every game on steam has that thread. I suspect its the same posters too…

5) Nobody leaves steam reviews. Seriously, its like pulling teeth persuading people to do so. Which means only people with a bug, or a problem bother, and that drags down the scores. I can see from my stats I have a lot of happy people playing the game, I wish I could interrupt them to ask them nicely to leave a review :D

I’m guessing things are a bit quiet because GTA just came out, and it just started getting nice weather. Games are a long tail phenomena these days. GSB1 made 1% of its total earnings to date in its first week on sale. By that measure GSB2 is going to do well :D. Fingers crossed anyway :D