out\'m\'up

The inscene\’99 visit had been quite as success, especially regading the 100K game competition. My brother and I then tried to figure out what we would do on the next instance – obviously, our chance of making a good game were higher than making a big demo like the one envisioned for \”samedi, tous in my home\”.

A comment by my peer \”Gedeon\” about how it was a shame that crazy brix was only using boxes for collisions pushed me towards the implementation of some pixel-perfect collision routines. I remember I wanted to do some pinball game, but after all, it was decided to go for a shoot-em-up. Our secret \”games to do\” folder had a long list aborted shmups, from the \”Polycosmos\” conversion of \”space Mission\”, the failed \”cosmowars\” on RSD Game-Maker, and the aborted \”Bilou sky quest\” … Nothing getting any close to our childhood golden award \”Warhawk\”. So I picked the \”Tyrian\” palette and started to pixel some ships.

The assembly code for crazy Brix was quite horrible, and I remember taking care of increasing the quality of the organisation for out\’m\’up. Especially, frames-to-aminations, level layout, and to some extent the sprites behaviour were described in a \”data-oriented\” macros system that looked a bit like game script, but converted straight into binary pointers and values — something that was apparently common in MegaDrive games development.

The second key development was to support a dynamic list of sprites, allowing fancy explosions, lots of shots and even powerups where crazybrix couldn\’t even accomodate for anything but a ball and a paddle. Two lists, in fact. This engine was the first time I decided to split objects in two separate casts to reduce the amount of collision checks required.

While the level design wasn\’t very inspired, the game received a brilliant soundtrack, a classic but good-looking starfield effect and Out\’m\’Up won the first place – although mostly due to the lack of significant competition.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.