Ant Attack in JS.
[ This is part of a series of posts that will overly deconstruct some of my projects at various length in an attempt to put them all behind me. At some point I'll collate them all into a bound manuscript of some form which can then be burnt and the ashes buried in a field. But until that time...]
This is the Ant Attack project, the screen grab up there isn't really what it looks like, that's just something I've taken to doing recently because I like the painted effect. The history of this love affair with Ant Attack goes back quite some way and I think I've written about it before, I'll just repeat the bits I can remember :) but it starts with...
...unknown and often foreign Sci-Fi movies shown late at night on BBC2. Although I think that's the basis of quite a lot of my work. Movies in those days, or at least the ones I remember seemed to be about a journey from A to B, with very little going on in-between.
Off the top of my head, lots of walking down brightly lit white slightly curving corridors, overhead and possibly animated shots of our protagonists walking near to the point of exhaustion across alien landscapes. Phase IV. The scenery and futility in the film Duel by Steven Spielberg, a teenager exploring frozen ice corridors in some suitable northern latitude for reasons never explained.
And of course Das Schloß.
Each grinding towards some unspecified undetermined conclusion.
For me these were the side scrollers of games, slowly making your way from the left side of the screen, past various ever increasing challenges before getting to wherever it was you were supposed to get to. Only to have to do it again either harder or faster.
Death was inevitable and slow.
In those 8-bit games you could see death coming, success was often a matter of timing and you could see if you had gotten it right or wrong a good second or two before it happened. Pressing a key on the keyboard would cause your sprite to jump, grab a rope, change direction or something, the enemy or bullet heading towards you with equally slow determination. You could watch both elements and figure out if they were going to collide or miss with pleanty of time to throw up your hands, polish off a biscuit and wait for the pitiful explosion and sad death crunch sound spit its way out of the speakers.
Games, TV and films have become a lot faster since then. Now you can die in a split second and not even see it coming, or at least blame yourself for not hitting the heal button a fraction sooner.
Which brings me back to Ant Attack. For a start it was the first (arguably) game to move from side-on, platform or top-down perspective to isometric 3D. There was little explanation, how did we get here, why are we doing this? Giant ants coming for me, uh ok, in a stark white landscape a tiny city made up of checkered blocks, the boy/girl of my dreams lost somewhere inside.
And it's that aesthetic that I loved.
I've seen updates for Ant Attack, all colours and sand and grass, blue skies and so on. Some even went as far as to get rid of the blocks, keeping the gameplay in spirit alone.
I wanted white, endless, desolation. This one overrun city with nothing on the horizon, is it worth heading off in any compass direction to seek help? Bag, water supplies and off you could trudge, a single sin-wave synth stabbing its way through an evolving pad of a sound track.
I never knew the names of those late night films. I'd chance upon them at some unknown mid-point, the possibility of ever finding them again on IMDB incredibly slim and no way to thank them personally for the 80s last person on earth dystopia that seeded its way into my brain.
I was going to write about the technology used in my version of Ant Attack, messing around with THREE.js, the old experiments I did with ant path finding and pheromones (which I'm still pretty proud of), the ASCII map to 3D map code. But rather it seems I'm vanished down the wormhole of films that I build these things to try get help me climb back out of.
Anyway, I still have a To-Do list for this project, a bit of collision detection, putting the ants back in, but really it's time to put it to bed and just accept the fact that this is where it's at.
So, CAT16 Ant Attack in JS, done, you can "play" it here: http://revdancatt.github.io/CAT16-ant-attack-in-js/
* * *