The Bedroom Programmer: Cycle over?

“Procrastination is the art of keeping up with yesterday.”Don Marquis

It seems only reasonable that the first (and possibly only, I’m really not doing well with this blog lark recently) post of 2014 consists of some editorial that leads to my latest set of excuses as to why my iPhone game is still not completed. And you know what they say about excuses: your friends don’t need them and nobody else cares. This way, though, we can all look back and laugh later in the year when my new set of plans predictably turn out to be massively overoptimistic due to a combination of work, children and a desire to be in the garden burning sausages and burgers rather than doing level design. But depressing realism aside, let’s kick off with what everybody has been waiting for: 2014’s first piece of cobra-art!

Peppa, George and a blue moon. My latest schedule.

Look! Pigs flying! Blue moon! Daughter-friendly artwork! Honestly, it’s three levels of win and you know it. Plus it’s the best indication of the conditions required for my game to be released.

Having successfully sneaked into a job in the games industry in the early 90s, my first three published games were pretty much entirely programmed by me. Largely, I did the design work, too (although goodness only knows how obscurely rubbish they’d have been without the input of those considerably more experienced than me). Needless to say, though, I didn’t draw the graphics. They were Amiga games and it was amazing to be in a position to be the whole programming team. There’s an incredible satisfaction from knowing that you did it. It was yours. You were not “programmer 5” on some large team, three other people hadn’t told you what to do, you’d architected the system, solved all the problems and delivered the tens of thousands of lines of lovingly crafted 68000 assembly language code that made it happen. Then, it is actually shipped: it’s a real box, on real shelves and you get both the horror and joy of reading reviews in magazines (that’s right, I’m that old, it was magazines back then). It’s a wow factor and express learning experience that largely faded out as the 90s dragged on. As cost and complexity of development grew, self-publishing became almost impossible without a massive marketing budget and bar the odd surprise, the “indie game developer” faded into mythology: exaggerated drunken stories told in the bar at conferences like GDC and E3.

Then something amazing happened. The iPhone appeared.

Suddenly, one programmer could repeat what happened in the 80s: write a game. From scratch. And publish it. And that’s without the need to sell one’s soul, bend over backwards, yield to other opinions or have to listen to ill-considered focus groups1, wear animal noses2 or pack products into four magical marketing boxes3. And that enabled innovation on truly magnificent levels. Whole new gaming genres, wonderfully endearing ideas and genuinely different things. Pretty things. Things that the massive inertia of the larger companies generally prevents by beating them to death with procedures (or “risk management” as I’ve heard it called) — I suspect most bright-eyed designers who’ve entered a large gaming company have watched sadly and with growing despair as each and every idea they have is gradually diluted through every step of the green-light committees until, mysteriously, the cup of joy is empty.

The nimble adapt to the changing world

This last five years or so has been an extraordinary repeat of something few thought would ever happen again — the bedroom programmer — and, whatever you think of Apple, we largely have them to thank for it happening so soon and with such success. Sure, someone else would have managed it eventually, but Apple made it easy. Made it enjoyable. Made it so that one person could do it. Without a team. Without a huge budget. Hell, I’d kiss each and every one of them for what they did, with tongues. Their efforts created an unexpected easy publisher-free route to market and shone a deserved light on the wonderful achievements of small independent developers, on all platforms, that hadn’t really been seen since the 80s. This opportunity has been a mini gaming cambrian explosion: in come minds untarnished by what the big corporates believe is “the right way” and out of those minds come strange new wonders.

The world has clearly changed dramatically. We carry our gaming, music, video and networking and telecommunications device around with us and it is just that: a single device, not an assortment of devices as it was just a few years ago. It’s transformations of this magnitude that make Nintendo’s Wii-U and 3DS feel like totally baffling products… I can’t help but wonder if they’d be better off as a software company delivering their unique gameplay experiences to platforms whose owners have a better grasp of the changing world than they do. It would seem that the whole traditional console business is at risk because today’s connected gaming habits have simply overtaken it: adding multiple screens and attempting to spread beyond a device that plays games and does it well seems like a foolish step into a future that won’t take kindly to second best.

Microsoft seem oddly detached from this change too: their obsession with performance-per-watt unfriendly heavy high-level languages and frameworks makes no sense for mobile devices until battery technology makes a good few leaps forwards. Perhaps this is why C++ is now “in” again at Castle Microsoft. Then there’s the device-in-the-living room XBone:

  • The name. “Ecks-bee-one” sounds like XBOX 1, not XBOX 3, which technically it is. It is an odd confusion for them to inflict on themselves and their users to have a new device that is pronounced the same way as the original
  • The Kinect. As cool as it is, and it is cool, the forced purchase and the not-quite-always-on camera feels a little creepy. The same sort of creepy loved by “Smart” TV manufacturers (Samsung and LG, I’m looking at you, because you’re probably looking at me, somehow)
  • What is it? The big media box in the living room was a battle that was fought, lost and won by nobody. The living room’s focus has shifted from the ‘ultimate set top box’ to everyone’s individual screens and whilst a games box is easy to understand, an über do-it-all media box is less understandable to today’s modern living room inhabitants

Still, everyone’s an expert, and as fun as armchair generalling is, it’s always done with less than half the story and considerably less than half the expertise. Plus I’m digressing, but I’m mad at Microsoft at the moment for their outrageous Visual Studio pricing strategy: my reward for buying version after version of Visual Studio (since version 4) is, it appears, nothing at all (cue stupid sexy Flanders animation). I want C++, not C# and a whole pile of other junk, and I certainly don’t feel that over £500 is a reasonable price for a compiler. But as Joel Spolsky so elegantly explained a decade ago, pricing is both variable and a black art and I’d assert that independent small developers sit at the worst possible place on the pricing curve because they have the least amount leverage. Developers-developers-developers my arse.

No, I am not missing the irony of not getting to the point

But windows of opportunity like this don’t remain open forever. Autumn comes. Then it closes gradually until eventually it’s shut. Curtains drawn, it’s all over until the next time that disruptive new technologies, products and processes enable the individual to leave the incumbents dazed, confused and stationary. And that window is closing now. Creating a new game from scratch from thin air to on-the-market for the individual is getting harder every day and soon it’ll be pretty much impossible to all but the exceptionally gifted or lucky few. The big boys are drowning out the small guys with massive marketing budgets and, more often than not, quantity over quality. Models like Freemium are sucking the will to live out of developers who find it almost impossible to get right and bloody expensive to support. Besides which, it’s too easy to fall onto the cynical dark side and end up spending more effort on figuring out how to scam your users than delivering any actual gameplay.

Conspiring alongside business models and crowded markets are the platforms themselves. They’re rapidly growing in complexity, they’re fragmenting, the developer tools are overwhelming to the beginner, the hardware requires considerably more knowledge to get anything useful out of it and the whole process of bringing a product to market is tougher. It’s hard to spot a needle in a haystack and the world’s various app-stores are increasingly massive haystacks. Effective social media use goes a long way, but it’s a crowded market and incredibly hard work: unless you’re coming to it with something unbelievably special it’s going to be a real challenge to gain marketing traction without a budget or a publisher. To put it another way, the 80s are rolling into the 90s again but two decades further down the line – it’s a cycle, and it’s currently cycling.

No, there’s not always tomorrow

So if you have dreams of being an indie developer and publishing a mobile game of your own, now is the time to do it. Before it is too late. And it soon will be for all but the very fortunate few. Find the time. Make it happen. You’ve probably got, oh, a year, two years tops, but set your expectations low: you’re more likely to find a pot of gold in your back yard than you are to make a mint from releasing a game as an independent developer. In case you can’t read between the lines: do it for the fun and have fun doing it or you’re almost certainly wasting your time. I, like most with such indie ideas, am a steaming hypocrite because I’ve been idly working on my iPhone game for years finding one reason or another why I can’t spare ten minutes here and there to make some progress. The one area I have made progress with is my procrastination skills: they’re second to none. However, the acute awareness that the window of opportunity is slimmer than the population of flatland is beginning to weigh on my mind. There’s a dream here, and I don’t want it to be merely a dream.

As the author of this tweet knows very well, this is at least a trillion times easier to say than it is to do. I STILL can't work out if the reply is sarcastic or not.

As the author of this tweet knows very well, it is at least a trillion times easier to say this than it is to do. I STILL can’t work out if the reply is sarcasm of such subtlety that it is beyond my comprehension skills.

Remember: if you’re not seeking fulfilment of your own dreams, you’re probably being paid to help someone else achieve theirs (if you’re really lucky, as I have been on three separate occasions, your employer’s dreams happen to align with yours, but let’s face it, that’s rare). Life, despite what the hopeful believe, is a one-shot wonder. Once you’re done, your atoms return to the stars and all you have at the end are your collective memories of what you did. It’s an old saying, but it’s true: nobody ever lay on their deathbed and said “I wish I’d spent more time at work helping someone else get rich by doing stuff I hate”. What they regret is not spending enough time with their friends, families or pursuing those wonderful ideas and curiosities that poke at one’s mind — that feeling that one simply didn’t stop and smell the roses often enough. And life is full of roses, unless you deliberately close your eyes to them.

My desire to publish an iPad/iPhone game or two is not because I think I’ll be driving over the horizon in my Aston Martin with an evil laugh echoing from between sacks of money, but because I just want to know that I’ve done it. It’s one item on a checklist that’s longer than Mr Tickle’s arms. That’s right, both of them. Besides which, I’m planning on releasing the first game for free (as in “real free”, not “ad-supported privacy sucking ‘free'”), so if it breaks even it will be because I have twisted the fundamental laws of the universe itself. At this stage, this is purely an exercise in laying solid foundations: just so I know I can still do this stuff and because it builds the technology I require to… go further.

Oh, there will be other windows, but they’ll be different, and maybe I’ll not fancy being part of them or maybe they’ll simply be beyond where my skills lie. Who knows what the next opportunity will be: perhaps it’ll be related to 3D printers, or maybe Google Glass and the Oculus Rift VR headset offer tantalising glimpses into an incredibly exciting future of human-computer-interaction that, finally, doesn’t involve keyboards, mice or any other ridiculously computer friendly junk. Maybe the new era of playing nice with the intelligent part of the equation, the human, is closer than we might have dreamed. But it’s hard to imagine how I’d fit into all this because nobody knows how it’ll pan out. Glass and VR headsets are all fine and dandy, but the killer-device, the real disruptive market-changer is, in my opinion, neither: let’s face it, nobody really wants to wear that stuff. Slap screens on contact lenses and then we’re talking: it’ll transform augmented reality, reduce the size of VR setups to just a pile of sensors and have the added advantage of stopping Glass type product users from walking around looking like robots with “rob me” stickers on their backs. Besides which, with a cycle interval of a couple of decades or so, my time is running out; perhaps allowing this one to slam on my fingers would be a thing of great regret unless by some stroke of good fortune bottom-up, biologically inspired simulations roll up as the only way of managing the future’s insane software complexity. (As an “interesting” footnote, I find it’s interesting that in this article, that discusses this generation’s “Biggest Disruption” nobody mentions that it will be the approach to software design and implementation)

And now for the implausible new plan!

I’ve been sitting on game designs now since before the baby Cobra arrived (the first one) and the game idea that I really like right now is the one that requires the least amount of artwork. It’s the one that relies on emergence more than the others, it’s the one out of which endearing gameplay falls out of a simple underlying model. It’s kinda groovy in a “not been done before” sort of way, I think.

However, the road to failure is littered with half-finished things and before giraffes grace your device’s screen (yes, giraffes! It’ll be so cool!) there’s something I need to finish. Game number 1, therefore, is now engine-complete. Here’s the Table O’ Progress:

Estimated total project duration: 4 months with a month’s contingency
Start date: March 2010
Total progress so far: Twelve weeks
Total progress since last update: Nine weeks! (75% complete!)
Estimated completion date: Maybe even this year!

That’s right, folks, how about that? Four years down the line, I’m finally code complete. I’ve got no known bugs (but then again, my QA department is my eldest daughter and she enjoys the attract screen much more than the game itself). I’m down to some graphical stuff, some audio and level design. It’ll be the latter of those that drags on, but (and you’d better screenshot this because I’ll be back in a few weeks to “edit history” in my favour) my current aim is to publish on the 14th July 2014. And it’s going to be free, mostly because that’s probably what it’s worth, but I’ll let self-entitled Internet reviewers be the judge of that… which gives me ten or so weeks to fit a couple of weeks of work and some level design, visuals and audio in.

If you fancy being a beta tester and you have any iOS Retina device, drop me a line. Given my previous success in predicting progress, it could well be the only chance to play my game. Ever.


1 “Yes, we’ve selected people from the whole demographic that we believe will play your game”. Sitting behind the one-way mirror watching their baffling selection of L.A. inhabitants look at the computers muttering things like “what’s this?” whilst holding a mouse would have suggested otherwise.

2 This actually happened. Apparently it would “get us in the mood” to be creative. It didn’t.

3 And so did this. Apparently, everything fitted into these four magical boxes, including our product. Worst. Trip. Ever. I tried to drink enough to forget, but memories of it still burn my eyes.

This entry was posted in Armchair general, My iPhone game, Rants, Software development and tagged , , , . Bookmark the permalink.

5 Responses to The Bedroom Programmer: Cycle over?

  1. Montaigne says:

    My 9 year old step daughter walked past the screen when I started reading and said “Pepper Pig?!”

    An excellent blog post for 2014. A couple of questions though:

    What three games did you programme yourself?
    Can you give us any details of the current game, that is 75% complete?

    I’d love to be a beta tester :)

    I can understand the procrastination. I keep meaning to learn C and start off getting excited because
    I want to make my own game (for my own benefit rather than others) which also is designed to not require
    art work :) but I always get sucked into my full time job that makes me actual money rather than
    doing something else that whilst fun would not earn me a new house.

    • Chief Cobra says:

      Yey for Peppa Pig! So now I’ve covered Spongebob and Peppa in my “artwork”. Next, I may stray into Ben and Holly’s Little Kingdom.

      The current game: I’m not giving details beyond that it is a side-view silly little level-based game. I’d be delighted to get you sorted to do beta testing. So long as you’ve got an iPad or iPhone that has a retina display, then we can crack on. I’ll drop you a line via email to get the information I need (I will need your device’s UDID) and then you can give it a spin.

      With regards to your own game, the trick is to just start and make sure you’re aiming low: you want to exceed your expectations, not woefully fail to meet them. My game, for all the delays, has been playable since about week 2: I did the core gameplay bit first, thought “oh, this is quite fun” and then just took ages getting further. I’ve rewritten and refactored and ended up with a 2D engine that I’m really, really pleased with. It’s super fast, flexible and easy to reconfigure to do other things — it’s my key enabler for the next game.

      What platform are you going to be developing on? There’s a lot of complexity out there and a wise choice at this stage can be the difference between giving up in despair or arriving at the station of extreme success :)

      (PS: if you’re doing iOS stuff, I have example code I’ve written you might find helpful)

  2. Mark says:

    I’m not convinced the PC/Console based large world game is dead to the bedroom programmer just yet. Game engines are getting good, and easy to use, check out https://www.panda3d.org/, and of course there’s Unity etc. Model libraries abound on t’interweb and procedural generation is coming of age, check out the following for examples, done by individuals or small groups working for love, not money; http://en.spaceengine.org/, http://www.outerra.com/. I think the indie games scene is set for a revival in the PC/console format, though mobile games are great too.

    • Chief Cobra says:

      “We live in a society absolutely dependent on science and technology and yet have cleverly arranged things so that almost no one understands science and technology. That’s a clear prescription for disaster.” – Carl Sagan

      Game engines are fine, wonderful and have their place, but my concern with them all is summed up nicely by Carl Sagan: lots of motorists, nobody who knows how cars work any more. And game engines do come and go and sometimes change dramatically. That sort of power placed on the developer’s crown jewels by people outside their control does give me the heebie jeebies. We need creators and inventors as much as we need operators and things like Unity, for all its wonder, encourage the latter, not the former.

      I would also reassert the point that the platforms are very complex to get into initially. Starting up a ladder of four rungs is less frightening than today’s ladder to orbit.

      Still, you’re right: the PC scene for indies is far from dead. Furthermore, as you also suggest, anyone at all out there making games, particularly when they really, really want to, is a wondrous thing for our industry.

  3. Mark says:

    I take your point, and Carl Sagan’s. However, it’s inevitable that any advanced technology is going to be dependent on layers of supporting technologies, and that, if that technology is sufficiently advanced, it’s going to be impossible for any one person to understand all of it. Ultimately, modern life is so complex that we’re all dependent on layers of technology that we don’t understand and can’t personally replicate, I doubt that either of us could build a microchip from scratch for example, let alone the whole infrastructure that supports all the related industries. For that matter we are also inescapably dependent on layers of biology and climatology and geology that we don’t understand either. I think that what Carl was trying to get at was the issue of people getting lazy about knowledge, and that I wholeheartedly agree with.
    Anyway, philosophy aside, I think the whole point about game engines is that, in principle at least, they free up developers to concentrate on gameplay, and innovative new functionality, rather than redeveloping core functionality. For example I remember playing Clive Barker’s Undying which was a wonderfully creative and imaginative game, based on the Quake engine. Conversely, playing Skyrim, which looks lovely, sadly swiftly gets boring because the content is so shallow. I suspect all the time was spent making a beautiful engine, and they didn’t have enough time left to make a game. I do agree that some engines are very difficult to get into, but I think that is a design issue, Panda3D for example is very easy to get into. Not saying that developing from scratch is a bad thing, just, ‘standing on the shoulders of giants’ and all that.

Feel free to say hello