30 years of being a game developer in 3000 words

I borrowed the majority of this text from a great private forum I’m on, where everyone gave a potted biography of who they are and how they got to where they are today as a means to introduce themselves. I wrote my introduction 3 years ago and have toyed many times with the idea of posting it here for all to see, warts and all. And after some editing and refreshing of content I’ve finally decided to do so. The title is a little misleading of course as I’ve not been a game developer for 30 years, but I have always wanted to be, and that passion and love has never left me – as you’ll find if you dare to read on :)

I know it’s way too long and probably not even my Mother would read until the end, but here we go. This is how my love affair with computing and game development started, and lead to where I am today…

My name is Richard Davey. I don’t really use pseudonyms on the internet anymore (spent enough years doing that in Quake clans!) but l’m part of Photon Storm. I’ll be 37 in August and I live in a lovely part of the UK with my wife, 6 year old son and 2 year old daughter.

Growing up Atari

Back when I was the age my son is now, my parents were complete technophobes and didn’t buy into the “every home must have a family computer” one bit. So it was a long time until I got one of my own. Ironically my Mum is now the most hardcore gamer I know and I swear 40% of her annual earnings goes direct to Big Fish Games.

I may have been computer-less but I was addicted to the arcades. All of my “holiday money” would vanish into the latest Atari, Williams and Sega machines. When I was 8 we moved house and I made friends with the kids in my new street and got my first experience of home computing. There were ZX81s and Spectrum 48ks within a few houses and that was it. I was utterly hooked. To my shock (as it wasn’t even Christmas or my birthday) one day my Dad bought home a computer: A Toshiba MSX.

In hindsight I appreciate just how amazing that computer was. Built-in cartridge port letting me run all the hottest Konami and Capcom games, tape drive so I could buy budget games from the newsagent, really nice graphics, really nice sound. But no other kid within a hundred miles owned one which made aquiring new games next to impossible. But it did give me my first taste of programming. Type-in listings from magazines and hacking around in BASIC. The MSX and later a Spectrum +3 served me well for a few years until I hit secondary school. And via another kid there I was introduced to the Atari ST.

My whole life changed. It was one of those moments you know? Those real life changing moments. Getting that ST home. Hooking it up to this piece of trash black and white TV in my bedroom. I just knew there and then I was addicted, and that my life would be one spent in computers.

I wasn’t wrong :)

My personality is such that when I get hooked on something, I get REALLY hooked. Everything about me channels into it, every waking thought, every drop of concentration. The ST soaked this all up for years. I’d always wanted to make my own games. I tried on the MSX but just didn’t “get it”. On the ST I met STOS and it opened new doors to me. I created loads of very primitive games such as Octopod. I also dived into 68000 but to my eternal shame never really got anywhere meaningful with it. Sure I could fire-up Devpac and screw with code someone else had written, but that was about it.

I was deep into the cracking and demo scene. Never a week went by without a huge stack of jiffy bags arriving carrying 3.5″ gems of Eurodemo treasure. Pirated games were the currency with which I could acquire the latest stuff. And acquire I did! But the more I saw the more I realised I just couldn’t code very well. I made some nice pretty things in STOS, and my graphics were ok. But I just could never really make the games the way I enjoyed them most in the arcades, and by this time on the Super Nintendo.

Enter the Internet

The ST started to die out but I moved to the Atari Falcon and carried on my Atari love there for years. My Falcon saw me through University and it was in my final year that I was introduced to the Internet. Back then the only browser was Lynx and everything was done from a Unix command-line. So I spent endless hours absorbed in IRC, Usenet, Talkers, MUDs and Gopher.

I remember beta testing the Mosaic browser on massive Sun Sparc stations running X-Windows. Being amazed the day they got it to display a JPEG (a picture of Cindy Crawford!). I remember Alta Vista and Yahoo starting up, running from Stanford sub-domains. It was a real key time for me and I was swept up in the Internet at its birth.

I left University and went to work for CompuServe, the first major commercial ISP in the US and one of the biggest in the UK at the time. I was in Tech Support but they had an awesome net connection and I was plugged in 24×7. I refined my HTML and JavaScript skills and started building site after site. I left CompuServe to help set-up and run a new local ISP. I looked after racks of web servers while creating sites for clients and was introduced to PHP (back when it was called PHP/FI – the very first public release).

I focused hard on PHP/MySQL and my skills became significant. I was offered a really good very well paid job away from home, and was all set to go for it when my Dad was killed in a car crash. That was another one of those life changing moments. Everything shifted priority and new paths that had opened to me closed down.

T-Minus 10

The years pass, and I’m still creating web sites and coding PHP until 1999 when things bounce back for me, and I form a company with 2 friends called T-Minus 10. We specialised in backend web development and used Microsoft .NET (with C#) well before anyone else really touched it. I had been a Microsoft Certified Developer / Systems Engineer for years from my days with the ISP, so it was a natural fit for me. But as anyone will tell you running a company is hard work, even for very experienced businessmen. Which we were not! We were so green you could mistake us for the Incredible Hulk. It was a total rush and a total nightmare in equal measure. So much time spent chasing payments, chasing new work, preparing quotes, doing the accounts. So many silly mistakes made. Such low wages :)

Around this time and quite by accident I stumbled across DarkBASIC which had literally just been released. I ran a few demos, looked at the code and felt that rush once again. I bought it on the spot.

It had been a long time since I had tried to make a game. I was still playing them, but they were mostly PC based FPS or console games. Here was something new, here was that excitement of creativity that only making a game can give you. And I had found it again. Of course with years of C# and PHP development under my belt I felt much more at home. Concepts that before were totally alien to me were now second nature. I was no longer struggling with the basics, so I dived into DarkBASIC head first. It became my release from the hassle of business life.

Under the pseudonym “Dark Forge” I coded all kinds of things. Demo effects, games, tutorials, scrollers, puzzlers. My output was vast and I loved every minute of it. I was highly proactive in the community and because by day I was still building web sites I contacted Dark Basic Software and kept hassling them that their site was crap, and I needed to fix it for them.

Just over a year later and I was working for them full time, the 3 of us having closed down our company and gone our own ways. They changed name to The Game Creators and I built all of their web sites for them, as well as coding tutorials, writing the monthly newsletter (which ran for 111 issues before closing down!) and looking after the community. It was a great moment when we had our new site featured in Edge magazine :)

Of course the downside was that the more I worked for them, the less I got to actually code in DarkBASIC. That whole “losing the love” thing kicked in a bit. The feeling of getting too close and spending too long with something. It erodes away at the passion you had in the first place. So once again the games side of my life slips away a little. Commercial games were getting so incredibly complex by this point that deep inside I knew I could never make anything to compare to what I was playing on my PC. I guess yet again a lack of self-belief got the better of me.

So I put my head down and focused totally on PHP once more. By this time I’d been coding in it for years. I was writing articles for major php magazines, became one of the first Zend Certified devs in the UK, knew most the key php devs very well and it just seemed easy to specialise in it. The games dream went invisible on me again.

The Aardman Era

I spent 4 happy years with The Game Creators before being head hunted for a job at Aardman Animations. I had worked with Aardman many times earlier in my career, building some high profile sites for them. So them contacting me wasn’t a total shock. They were starting a proper Online department and wanted someone to lead the development team, so in January 2006 I joined as the 1st employee.

The change in work was great and I enjoyed it immensely, but it became quickly apparent that we were constantly outsourcing Flash game development. So in a pre-Christmas quiet period between projects they asked me to learn Flash.

My history with Flash until then had been a patchy one. I installed Future Splash Animator into Netscape when it first came out years ago, and created my own timeline animations in it. But back then you couldn’t code in it and I was no animator, so I put it to one side and mostly ignored it. While I was focusing solidly on PHP the Flash scene grew and grew. I tried again a few times over the years, but just never gave it the time required for it to “click”. I was used to C# and the very C like syntax of PHP. AS1/2 was just painful. The Flash Professional editor was a million miles away from the Visual Studio world I lived in. And I bought all the wrong sorts of books that taught me nothing about the holy grail of games. It had been one of those things that I was happy to not care about too much.

But in December 2007 that changed. I grabbed a copy of FlashDevelop, some of the essential AS3 books of the time and got to jump head first into the world of ActionScript 3. My aim was to create a simple “card matching” game for the Shaun the Sheep web site. After a few experiments it suddenly all just clicks again.

I mean I totally went about it the wrong way: I animated everything in code, I hand built tweens, I used “old school” tilemap sprite sheets. I didn’t even realise that using “jpeg compression” in Flash preserved transparency because I was so used to jpegs on the web, and they’re about as far from transparent as you can get. Hell I even published it with a 120 fps rate! But I had my first game finished. And best of all it was a quite fun to play. After years of playing games and dipping in and out of game development over and over again, I finally had somewhere new to channel that passion. And channel it I did!

Into the Photon Storm

I was hooked, and I didn’t let-up one bit. Another 3 games later and I start creating them for myself at home under my Photon Storm banner. At work I was doing less PHP and more and more AS3. And the deeper down the rabbit hole I went, the harder it was to climb back out into “web site stuff” again. I built beat-em-ups for Cartoon Network, a huge kids virtual world using ElectroServer which utilised all facets of my skills up to that point, from AMFPHP to server set-ups, hosting and CDNs. Things that were now second nature to me like documentation, SVN, API design, XML, JSON and all the “boring but essential” parts of game development came into play. I worked on large multi-developer projects based around major films and TV series and it was exciting and challenging work. And I’m proud to now be the Technical Director for the fine team there.

But no matter what you think – when you work for a company you’re only really making what they want you to make. You can have as much creative input as you like, but at the end of the day if the client isn’t YOU, you’ll make sacrifices and changes as you go. Photon Storm was my release valve for this issue. Here I could do whatever the hell I wanted, in whatever way I wanted. I could make games that answered to no-one but myself and that is exactly what did.

30 Years Later …

It’s now 2012 and in the words of Fat Boy Slim, I’ve come a long way baby.

I finally feel “at home” making games. It’s like I am now where I should have been a decade or two ago. But I don’t see that time as wasted. It was all good experience, and I still use what I learned every day. And I never for a second dare to stop learning.

It’s a dangerous place to be when you settle into thinking you’re at the “top” of a tree, with little left to learn. Because if games have taught me one thing it’s that no-one on this planet has reached that pinnacle yet. Every week I see exciting new games  that keep me constantly re-evaluating what I think I know about game design, and constantly trying to improve at it.

One of the biggest changes for me last year was that I swapped my focus from working on games, to spending my time helping other developers instead. Releasing thousands of lines worth of source code via my Flixel Power Tools, publishing tutorials, helping out on forums and answering emails.

I often still feel like I am playing catch-up when it comes to coding game routines that I should really already know, and would do had I not given up so many times in the past. But I now know how to get to a solution and where to start. I guess this is why I rarely ignore calls for assistance, because I hope that by spending even a little time replying I might give them the nudge required to carry on and not give up.

On the HTML5 Game Devs site I run someone recently trolled a comment saying that one of the games we featured was so bad that surely only the developer who made it could love it. I can’t tell you how annoyed that made me. I want developers to be proud of what they make no matter what. To not give up but to enjoy the rush and feeling that having true creativity and control over your game gives you.

Always looking forward

And now I’m transferring my skills into HTML5 games. Every new platform has its own issues and peculiarities and HTML5 has plenty of those! It’s constantly shifting, constantly evolving, but having spent so long programming it took next to no time to get up to speed and start making games on it.

Personally I find it a truly exciting area with some staggering innovation going on. But for me it’s like my entire professional programming history has now swung a full circle and I’m merging my love of game development with my original passion for working natively inside a web browser.

I know some people see this as “abandoning Flash” on my part. But while I love what you can do with Flash and have met some incredible developers over the years, I never actually married the platform. I’m not committed to belong to it and only it – I’m free to move elsewhere and make games wherever I like. So that is exactly what I’m doing.

This has been a small insight into me and the gaming juice that flows through my veins, mixed up with all that crazy Atari shit. There is a lot missing of course and I haven’t even thanked all those incredible people I’ve met during my life, but you know who you are – so thank you.

You know what though? There’s a whole lot more to come too. The scent of change is in the air. It’s been a roller-coaster ride for sure, but long may it continue.

Posted on April 15th 2012 at 11:22 pm by .
View more posts in Game Development. Follow responses via the RSS 2.0 feed.


25 Responses

Leave a comment
  • April 15th 2012 at 11:55 pm

    Loved this, excellent read. You’ve got impressive experience, no wonder you’re doing such great work.

    > deep inside I knew I could never make anything to compare to what I was playing on my PC

    I had this same feeling, like when 3d first arrived? I felt like games were moving faster than my know-how and I’d never catch up. But I knew I could do PHP, so that’s why I “gave in” to the web development career for so long. Plus, it got me out of retail. I’m at the point now where I think it was all well-spent time, since I’m such a stronger developer now.

    Great stuff, thanks for sharing Rich :-)

  • April 15th 2012 at 11:55 pm

    Awesome post, I had no idea your depth of skill was so vast, totally awesome. Congrats on the move to html5, inspite of ‘html5 can suck it’ comments (trolling) I think its a great move and I’d love a tech to come along that I could feel the same about doing.
    Thanks for sharing!

  • April 16th 2012 at 12:24 am

    Great post!
    Evolution of programmer in action )

  • George Wilson
    April 16th 2012 at 2:54 am

    Loved hearing about your background. I too have struggled with game creation. I start and then fall out of it. So far I have never done it professionally but I think now is the time for me to actually really start to make the push into to. Stories like yours help to inspire others. Thanks for all of your great work.

  • April 16th 2012 at 9:07 am

    I really love reading stories of other developers experience. Especially the pull between doing what you love vs. what brings in the cash or where the “easier work” is. It is sort of like a mini-autobiography.

    Reading something like this gives your site and posts more character and context for me. Thanx for posting this!

  • April 16th 2012 at 7:23 pm

    My English is very bad, but often through online translation of your article, today after 1 hours, there are a lot of feeling, do not know how to express. In my childhood I love arcade and playing games, and like you, is a gamer, but skills than you a lot worse, maybe you are right, bitmap and canvas can develop a game, but the browser to display to the latter to support more, and continue to develop and progress, I spent 3 years of time learning flash and use it to work, because I like it, but now they suddenly turned to a completely new platform, it is very uncomfortable, the former flash AS3 is very mature, write a stage or slides, needs only a very short period, now HTML5 JavaScript, is really the tools are available, for I do not know English people, also don’t know what to say, hope can see your article, this article really feel.

  • April 16th 2012 at 8:03 pm

    html6game – don’t be afraid of change. Embrace it. That same feeling of comfort and familiarity you have with the Flash platform can be achieved elsewhere too. It just takes time and an open mind.

  • April 16th 2012 at 9:52 pm

    My career and experience are lower than yours, about 5~6 years only, but I felt like I was reading my life with some differences!

    I’m a big fan of ActionScript, but I’m “leaving” it too, but to focus on Unity 3D.

    Great post! Thanks for the inspiring text, Davey!

  • April 18th 2012 at 4:22 am

    Good read. Thank you for sharing that with us. 😉

  • chris
    April 19th 2012 at 3:20 am

    Thankyou that was an interesting an read, I grew up playing games on an old Amiga 500 you have some great stuff around here that reminds me of the fun there. I have to ask I notice your wonderful work in the haxe language do you not see a future for your game dev there?

    I see the biggest challenge of html5 is the “write once run everywhere” the canvas api looks like awsome tech, however consistent desktop/mobile browser implementations are not there yet? (not to say there flash was in mobile)

    In web development we have the css vender tags that make work far from elegant and consistent, are there such hassles with html5 specs? if you choose browsers as a platform are you not choosing IE, it would think it has biggest desktop market penetration for much time to come. IE Browser will basically be the next Microsoft direct-x of html5 games. The mobile platform is another story.

  • April 19th 2012 at 10:32 am

    Chris – sorry no I don’t see a future in haXe for us. I know several devs who love it and swear by it, but my problem with it is that you don’t control the final JavaScript that gets output, and on mobile web browsers you need to optimise SO carefully, stripping away everything to get performance, and I just can’t be waiting on haXe updates that may or may not break/enable this.

    The HTML5 “write once, run everywhere” is a broken myth. You absolutely have to code specifically for the target platform. Canvas however is solid across mobile and desktop, the API is well tested and proven. It’s very hard to run into canvas specific “bugs” these days, it has been around too long. Other more bleeding-edge HTML5 tech is a different story though.

    As for IE it has some of the best canvas performance around! So actually there is no worries with that at all imho.

  • chris
    April 19th 2012 at 11:41 am

    That is a pretty sensible perspective on wanting ultimate control of your js for mobile, flash has shown the world we expect desktop performance from it. Not to say that its wrong too 😉

    However my point about IE is that the only features you will be able to use in html5 are the ones in the current most popular browsers. So if you want your game to work on most peoples desktops you have code for IE canvas first then the rest. So really you are jumping ship from Adobe flash runtime to Microsoft IE canvas and from there the other browsers that take up the market.

    I just prefer the perspective of haxe having no dependency on a particular implementation of any runtime target. No single target or commercial bias. I do understand haxe nme html5 is not perfect and maybe not as optimized for mobile as we would like. However with more community / commercial support it can mature and more targets can be possible. At the haxe conf there we already a few “bigger” commercial players speaking about their investment of development into haxe.

    These are very interesting times of great change in development, with much work ahead of everyone :)

  • April 19th 2012 at 11:47 am

    IE9+ (and all Windows 8 installs) canvas rendering is fully GPU enabled now, so I really don’t see a problem here. If you need to support IE6 you should be using Flash. We don’t need to though :)

    I don’t like the way haXe is so reliant on such a tiny group of developers maintaining it. I trust that if (God forbid) Google’s Chrome devs were all run-over by a bus or something, they would replace them and carry on development. I just don’t feel the same way about haXe. To be fair, I don’t feel the same way about Flash either! For me my days of trusting in a single solution / company are over.

  • Chris
    April 19th 2012 at 12:08 pm

    That is good news for html5 with gpu, the fact that ie10 metro will have no plugin support makes the point about html5 that much stronger.

    “To be fair, I don’t feel the same way about Flash either! For me my days of trusting in a single solution / company are over.”
    This is probably what every new haxe dev says and I don’t think you can really say that by turning to html5, you are choosing one and only one runtime.

    Haxe is one solution but its is a solution with no runtime dependency or commercial interest, similar to the linux kernel. Sure they maybe a tiny group of developers building it but that is how most great things around started Richard. imho support, time and hardwork by this growing tiny group of dev will show us why Haxe is worth promoting. Haxe devs are definitely a passionate bunch and nme is at a fairly stable state for native mobile/desktop targets ^_^

  • April 19th 2012 at 12:34 pm

    “I don’t think you can really say that by turning to html5, you are choosing one and only one runtime”

    Not really sure what you mean by runtime here – I guess you mean we’re restricting ourselves to only creating JavaScript and not being able to say publish an Android app? But to be honest there are so many routes for compiling JS to any device I care to think of that I don’t see this as an issue. For me I think what I’ve learned is to remain native to the platform. So for anything inside any browser I should be coding in JS and not relying on cross-compiling to it.

    Passion is all well and good, and I laud the haXe team for what they are doing, but I’ve been there before and I’m not going back. The tech stack I work on now is being built by some of the largest companies in the world, and I want that sort of confidence in my platform going forward I’m afraid.

  • Chris
    April 19th 2012 at 1:23 pm

    What I was trying to say is that Haxe compiles native to it’s targets in a way afaik you cant do with js. I understand JS is run inside a browser or framework-tool’s runtime, everyone has crazy codenames for their own. Haxe is different here in that it really makes native code, it compiles to cpp for windows target for example.

    So by saying “what I’ve learned is to remain native to the platform” does not really support your choice of js code, or have I misunderstood something?

    You have me curious about what you mean by “been there before and I’m not going back” But yes html5 is a very nice technology with a great future with all the commercial / community support it has gathered, I know I have enjoyed messing with canvas api and the awesome webgl demos.

  • April 19th 2012 at 1:29 pm

    But you have no control over the compilation process. I don’t want to be debugging cross compilation introduced errors. Ever. You’re not coding to the strength of JS, you’re praying and hoping whoever wrote the compiler did.

    My comment about “been there before” was in relation to Adobe and how by them holding the master set of keys, you are utterly reliant on them doing the right thing for the platform you work on. And let’s face it, recently they really haven’t.

  • Chris
    April 19th 2012 at 1:50 pm

    Yes debugging across targets is a big challenge for haxe dev and is probably one of the big compromises made. I was just using the web console in firefox and a flash debugger elsewhere. This is an issue for developers who are unable to improve the compiler themselves. But I have to say that they have done an amazing job so far and it keeps getting better.

    I don’t think you can escape this completely from using JS. What we are really hoping for there is that these companies etc implement js to run exactly the same everywhere. Like *cough adobe have almost done with swf

    I think this would have all been a lot easier if companies developed their own swf runtimes instead of js! lol

  • April 19th 2012 at 5:04 pm

    Great post as usual Richard!

  • April 22nd 2012 at 10:44 am

    Thanks for the post, brought me back to my Commodore64 days!

  • Robert
    April 24th 2012 at 1:15 pm

    Ah the STOS years. I followed your links to the STOS-time-tunnel and found… All our old mega demos! I should download them and have a look via steem. It’s weird to think that I’d need to download my own demos but I no longer own a 3.5″ floppy drive and the original disks may, or may not, be hidden in my parents attic.

    All the stuff I learnt back in the late 1980s to tune demo code I still use to help write low-latency code for financial software. All those hours spent pouring over 68000 clock cycle sheets was good training.

  • April 24th 2012 at 2:00 pm

    Hah, hey Rob – yeah, those STORM MegaDemos. Heh. Oh to be 12 again :) (or whatever we were!)

  • April 30th 2012 at 1:23 pm

    Great post!

    So many similarities with my early computer life, except I was on the Amiga & PC side of things, so had AMOS and C++/TASM. Last year I managed to get a half finished HTML5 game out (click my name above), and hope to do the same this year. My stuff isn’t CoD, but the development process is fun and that’s the main aim!

  • September 29th 2012 at 4:59 pm

    Thank you for sharing this Richard. I love developer stories.

Make yourself heard