10 Aug 2006
I started designing computer games when I was 10 or 11. A friend was devising (on paper) a ZX81 game involving having to guess a random number, with a ‘space invader’ moving randomly with every guess. If it hit your ship you failed. I pulled a bit of a face and complained the random movement sounded unfair, suggesting that instead it should simply move towards your ship, with the amount of movement derived from how far off your guess was. I don’t think he appreciated my creative input.
A year or two later I got my first computer, a shiny new ZX Spectrum, and immediately started typing in bits of BASIC, but initially I couldn’t get my young head around animation. I think I was expecting to create some kind of graphical object then move it around the screen, but the Spectrum had no built-in sprites. Some of the logic involved in controlling movement was also proving cumbersome, and there certainly wasn’t anyone around to ask.
Program listings in magazines were a help, and then I bought a small paperback book, Games for Your ZX Spectrum, containing 23 simple games. It all clicked. To move something I had to erase it from the screen then redraw it at a new location to create the illusion of movement. Using Boolean operators I could produce simple, elegant code for controlling movement with the keyboard. Within a week I’d made half a dozen games.
Although the do-it-yourself culture surrounding home computers in the early ’80s wasn’t entirely honest (most kids who persuaded their parents to shell out hundreds of pounds for educational reasons never got beyond typing
LOAD "" to play games), it was genuinely inspiring for some of us. To be honest, most of the games and sites I now produce aren’t significantly more complicated than the programs I was working on in my early teens, and I find myself using the same kinds of algorithms.
I’m rambling on about this because yesterday I was wondering what a similarly geeky youngster would do nowadays. Would it occur to them to program in the first place? What tools would they use? What examples would they follow? Although kids are constantly exposed to computers, programming doesn’t seem readily available or encouraged until it becomes part of an academic subject. Game design is reasonably open in some aspects, with tools available for building levels and characters for popular titles, and web design is wide open and immensely inspiring, but how does a kid get into programming? Maybe with a dodgy copy of Flash or Visual Studio? With lots of help from a geeky parent?