So far on this blog, I’ve mainly focussed on games, but of course in order to get those games, you need to have programmers to create them.
I’d guess that most of us who grew up in the early days of the 8 bit revolution yearned to be involved in creating games. I’m also guessing that we all dabbled in a bit of programming (and by that I mean beyond the ubiquitous Print “Hello World!”) and actually found that writing your own games was actually quite hard.
My own programming experience only really got as far as writing a few games in BASIC – machine code always seemed horribly complex – and getting a few sprites moving around the screen. Anything beyond that and my brain just couldn’t cope.
One game I wrote that sticks in my mind was called “The Curse of Anubis” (don’t get excited: the title was far, far better than the actual game.) In order to beat the game, you had to progress through 15 screens, defeating a different character on each in order to progress. Each would ask you a riddle – the answer to which was a number between 1 and 10, randomly generated each time. If you didn’t guess the correct number, you died and were sent back to the start. In the unlikely event that you did, you went on to the next level and got to do it all again. As you can imagine, it wasn’t much fun and it quickly became clear that game design was not my strong point! Indeed, I always found it much easier to come up with exciting sounding names for game titles or software houses, than to actually design anything approaching a playable game!
I tried my hand with the Shoot em up Construction Kit (Sensible Software) and Graphic Adventure Creator (Incentive), but again discovered my limitations as a games designer long before I hit the limits of what those packages could do! Sure, I knocked up a few crappy games for friends, but typically, these were just little in-jokes with really rubbish graphics and crappy sound effects. As well as game design, it turned out that aesthetic design wasn’t one of my talents too!
And that was pretty much it for my programming career. When I progressed from the C64 to the Amiga, I gave up all pretence that I could ever do it properly and just enjoyed the games other people created.
Somehow, though, the itch never quite went away. I always WANTED to learn to program on some level and recently I’ve rediscovered the urge to do it. The catalyst came when YoYo Game’s Game Maker Pro software was made available via the Humble Bundle website. Instead of costing several hundred pounds for the full package, it could be bought for about £11.
Having bought the software, I was determined it wasn’t going to languish unused on my PC and started trying to learn it. Happily, it turns out that modern programming is a lot easier. I don’t mean that in a dismissive way, suggesting that modern developers have it easier. However, one of the benefits of living in whatever generation of computing we are now up to is that more advanced (and user-friendly) tools are available and (even more crucially) a lot more help is available for the novice/casual user.
I started learning the software by following Shaun Spalding’s excellent YouTube tutorials – particularly his series on creating an Asteroids clone. Suddenly it made sense! I understood why this command did that or why things had to be expressed in a certain way to get the desired effect. Shaun’s explanations were clear and provided me with some of the basic building blocks needed to create a simple game.
After that, I decided to try my hand at creating something from scratch and decided to write a simple little game that my 3 year old daughter could play (start em early!). It took me quite a long time and a lot of trial and error, but I did it. And do you know what? I had a whale of a time. I suddenly understood what those old 8 bit programmers mean when they describe the excitement they felt the first time they managed to get an object moving on screen.
The process became addictive and I found that even when I wasn’t coding, I was thinking about it: how to fix bits of code that weren’t working; what additions I could make to make the game better. Finally, after years and years of trying, something clicked. When I hit a problem, I was able to work out why the code wasn’t working in the way I expected it to (even if I didn’t always know exactly how to fix it).
What I found most helpful of all, though, was the fact that I realised I wasn’t alone. When I hit a problem Google search would usually reveal that someone else had already had the exact same problem and had it solved by the ever-helpful gaming community. Perhaps for the first time ever, I was able to understand what they were talking about and even adapt and add to their code to make it do different things.
Don’t get me wrong: I’m not heading for a career with Naughty Dog any time soon, and at this stage my games are still nothing more than a bit of fun for my friends and family. However, I’m really enjoying re-creating (and adapting) some of the simpler games from my childhood. Finally, after about 35 years of trying, I’m able to go beyond “10 Print “You smell”, 20 Goto 10”
I guess it just goes to prove two old clichés: “you’re never too old to learn” and “you can teach an old dog new tricks”. Oh; and “if at first you don’t succeed…”