Something of a blast from the past, a little project I threw together during my postgrad days.
First, it’s written in Director. We had none of that flash back in those days! We were grateful that we could even altavista for imaging lingo snippets (people who remember this will be cringing, the kids these days will be thinking… imaging flash?). Director recently came back from the dead, and you can get the plugin here.
It’s a quick hack version of space invaders, which, for some reason, I implemented obscure MAME controls to start. You’ll be pressing 5, then 1, to start a game. I know, I know. And yes, there’s no defence blocks; this was to avoid clouding the high concept… (game after the jump)
High concept? Yes! Press the return key in game. Twice. The game is replaced with a stack of numbers. Each number directly relates to one aspect of the game – the position of an enemy, the player firing counter, the horizontal position of enemy bullets; each and every number has a purpose. See if you can still play the game using this reference data (known as variables by those who programme), rather than the visualisation of it. Can you beat the computer on it’s own turf – the world of numbers? (admittedly, the computer is at an advantage – it knows what each of those numbers refers to. There’s a reverse engineering challenge as well as a poor space invaders clone here, for your double amusement.)
Internally, the game code is tracking this amount of data, analysing, evaluating and following a set of procedures defined in the progamme fifty times a second. This is a very simplistic game; it was deliberately chosen so that a full set of variables could be displayed on-screen at once.
Take a step back. Think about how much more data is being thrown around by modern games (space invaders could be written in less than 4kb of data) but also by your operating system, or even phone. Think about the complexity under the hood there.
Space Invaders <RAW> hopefully makes you appreciate how fundamental the role of data visualisation is in the modern world, how it imbues meaning into every computer mediated action we make; how pervasive the discipline has become, evolving from a by-product of basic programming roles into interaction, usability and experiential design specialities. Working with electronic data involves breaking tasks and processes down into their most fundamental, atomic pieces; this generates vast volumes of data to work with. Generations of computer science heroes have layered abstractions and metaphors on top of these fundamental approaches to hide what’s going on under the hood, from both the user and the programmer behind it.
Post a Comment