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

The death of honest advertising

I was watching a video a few days ago, linked from some very popular site, to an in-flight safety video filled with wizards and hobbits. Sounds fun? it is. It’s actually rather cool. And just before I went to share it,. I noticed the millions of views and realized it was probably already seen by everyone, and then the really obvious point bashed into my head… I was working as a viral marketer for air new zealand.

It was perfect. I am as cynical as anything when it comes to marketing and PR and the various ways companies manipulate customers (even down to the shape of floor tiles in supermarkets…oh yes), and yet here I was, cynical old cliff about to dutifully send out some free viral PR for an international airline. They had caught be, hooked me in, and very cleverly, in a way that would make the best NLP practitioners smile whispered in my ear “why not tell everyone how cool a company we are”.

The cost of the video was probably non trivial, but it was money well spent. And I’m sure they will pore over the figures and declare it a business and marketing triumph. Why bother paying for adverts which people ignore or actively block, when you can get people to promote your brand for free?

It’s a work of sheer amazing human ingenuity that not only got people to embrace having a company logo on the clothing you wear, but actually got you to pay money for the clothing at the same time. We actually pay to advertise Nike and Adidas to people around us. I don’t think there is a single brand of car in existence that doesn’t have a big phat logo on the front of it.


What occurs to me, is that as this stuff works, and works so darned well, the need to engage in actual honest ‘here is an advert’ advertising is probably dwindling. It’s clearly not as effective as the viral/subtle stuff. I find this a bit worrying because I am acutely aware of how powerful advertising is, and if this stuff is even better, than we really are all just pawns in the hands of martin sorrel.

Worse, I can ‘strike a deal’ with advertisers. Generally I have adblock turned off for sites I visit, only toggling it on for strobing nightmare crap, but I can’t opt out of, or even recognize the viral and real subtle stuff. Next time you are annoyed by an advert, remind yourself that you at least know what you are watching. You KNOW someone is trying to sell you something. It’s an honest transaction of time/attention/money. The times you really should be wary is everywhere else, where you are being marketed to and promoted to, and you don’t even realize it.

Big project code architecture

I actually wrote some new code for Gratuitous Space Battles today, and in doing so, I had to do a bit of chin-stroking and thinking about the general code structure of the game. GSB is not my latest game, so the code I write now for new stuff is more polished and better designed, but even so, I’ve coded about a dozen games from scratch before GSB, so it should be fairly good.

..and yet…

One of the best lessons you learn, mostly from experience, is how to arrange classes and objects in your code so that its fairly modular and not ‘closely-coupled’. In C++, what this amounts to is you shouldn’t have a lot of classes constantly using get() and set() calls to talk to the private members of other classes. Separate objects and basically separate for a reason. The hardest decisions to make in code are the big architectural decisions about what objects sit inside others, and who inherits from what. I’ve been coding in C++ for decades now, and I still know I often get it wrong. This stuff is really important.

For example, there is a class is GSB called SIM_Ship, which contains all the gameplay related stuff for a ship (totally separate from the visual representation of the ship which is entirely different and in a totally separate class). In an ideal world, that ship class would be pretty self-contained, without a ton of connections to other objects.

The problem is, over time, I’ve ended up adding stuff to that class that bloats it and makes the code messy. For example, it has a function in there to shake off limpet mines. This is a bad idea. The limpet mine code should all be within SIM_LimpetMine. SIM_Ship not only shouldn’t get involved with the limpet code directly, it shouldn’t even be aware that the concept of a limpet mine exists. That stuff should be modular, residing elsewhere and making use of generic functions and hooks within the ship code from a distance…

Sometimes that doesn’t work in practice because of optimisation and speed considerations, but often, the reason stuff ends up in the wrong place and the code gets confused and messy is that the coder is just adding ‘one more thing’ and doesn’t think its worth going to the trouble right now…

But when you are starting a big new project, its good to keep these issues in mind. Assume you will have 5x the code you think you will have, and then plan the code architecture accordingly.

Positech Solar Energy

Sooo… One of my non-game ambitions is to run a renewable energy company. It’s my alternate plan if the game industry implodes or I fall out of love with it (unlikely for the foreseeable future). Anyway… I made one tiny step in that direction today by buying this:

Eat your heart out Brad Wardell!

Ok. Not all of it. I admit that. But I now officially own a tiny chunk of it. It’s the largest solar co-operative in the UK, near swindon. 30 acres of solar panels. Insert joke about it never being sunny in the UK here. If you have read my blog for ages, you will know I have some solar panels in my garden. I can see them from my desk! yay! The trouble is, that small scale solar isn’t as efficient as large scale due to the problems of occasional local shading, the economies of scale for inverters, and of course bulk buying discounts. I bet you get a decent discount on 30 acres of PV panels :D  (TBH, wind energy makes a lot more economic sense in the UK, but people like Donald Trump have some emotional hatred of wind energy that they funnel into campaigning against it, making the planning process for it more trouble than it’s worth. *sigh*)

Anyway, I feel very happy about it. I am going to GDC for the first time next year. I try to avoid flying when I can, because I’m a right eco-obsessive. I’ve never gone to a non-uk games event before, and I’m very skeptical that paying the odd twenty pounds to an ‘offset’ scheme really negates the environmental damage of long haul plane travel. My own tiny 10 panel array in the garden doesn’t even cover my own electricity needs, so I’m definitely in net deficit in terms of energy consumption. Until today! wootage.

Even forgetting the green-ness, I’m betting it’s a pretty good long term investment. Maintenance costs for the park are virtually zero, the fuel is free, and relatively predictable, and even the most anti-green government is unlikely to change feed-in-tariffs retrospectively. I’d rather do this than hand the money to some pension fund manager so he can invest half of it in landmines and pocket the other half as commission.