BlobLand 2

rules, log file, downloads, License, Readme, SpeedHack, index

BlobLand 2 is a small space shooter written for the Allegro SpeedHack 2002 (see also or In short, the Allegro SpeedHack is an international competition in which you have to write a game using the game programming library "Allegro" within 72 hours (one weekend). It is impossible to write the game entirely before this weekend because only at the last moment (Friday 12:00 UTC) a special set of rules is published. BlobLand 2 is actually an extended version of BlobLand, combined with the Allegro demo.

Features are: realtime metaballs (blobs) for the aliens, particle engine with a cool blurring effect, a hiscore list, sound effects and music, 3d rotating asteroids, nukes and support for page flipping / triple buffering / double buffering / dirty rectangles.

Screenshot - BlobLand 2

The Rules

Here are the rules and requirements for the competition!
The Rule-O-Matic has been cranked and the following rules apply:

  1. Genre requirements

    The Rule-O-Matic has decided that this SpeedHack is going to be a themed freestyle contest on innovative code reuse. Please read the requirements carefully.

    Starting with the Allegro Demo Game source (found in the demo directory of the standard distribution) you are to use that as a starting point for your entry. You can use as much or as little of the Allegro Demo Game as you like in your own production, providing that a minimum of 2 pages[1] of source code is retained in your own source (about 2 KB in total) and you should be able to demonstrate the bits that you have retained in the submit.txt. Extra kudos will be awarded for people who do clever things with the material that is there. A utility that does something useful (such as a file utility (mc/explorer) or process management tool (ps/kill or task manager)) using the game for a basis for the interface would be a novel production (for example). Or you could find ways of improving what is there.

    You can do any game or application that you like, providing Allegro is used.

    [1] Many thanks to whitedoor on #allegro last night for supplying the '2' used to determine the number of pages of code to reuse. Good job that it wasn't 20 after all..!

  2. Technical requirements

    There are two technical requirements:

    1. Scrolling message

      Your production must contain a scrolling message within itself, somewhere within the production.

    2. VM

      Your production must contain a VM or Virtual Machine within it. You can make this as simple or as complicated as you like for processing some kind of 'scripted logic' within your production.

      Hints: This is not as hard as it sounds, but it requires planning out before you start to develop it. If you keep the number of functions small to start with and go for a simple stream of bytes in an array as the instructions, then you can do a simple bytecode interpreter in an hour or so. Adding more complicated functions such as branches, loops and a stack will make life harder ;). Do some reading up on the subject so that you can see what other people have done before. There was a good article on that covered the development of a VM.

  3. Artistic requirements

    There is one artistic requirement:

  4. Bonus rules

    There are two bonus rules:

Log file

Well, again I did nothing on friday and nothing on saturday till 17:00. I started merging my Allegro SpeedHack-A entry, BlobLand with the Allegro demo. I really got a weird game: You moved two ships at a time, one ship could only collide with the asteroids, and one only with the blobs. I removed my blobland ship, and made the collision detection interact between both games. Also removed the explosions from the demo, and used the particle engine of BlobLand for that purpose.

On sunday I wrote wrappers for the hiscore class (so that I could use it in C), and I added a weapon to implement rule # 3. With only a few time left, I decided to add a VM (Virtual Machine, for newbies) for doing the effects after the ready,steady... messages. It worked fine. Then I did some cosmetics like the planets. Its a shame that they can not collide with your ship... but this time I really implemented ALL rules (50 kb source + 200 kb data from demo, hmm):

  1. Demo: copied 50 kb source and 200 kb of data.
    1. There are two (see gameplay) scrolling messages.
    2. There is a VM for some dumb effects in ready/steady.
  2. Press z to fire a nucleair missile, with green radiation.
  3. None of Act of Dog or Act of Goat are used.

NOTE: I got to know that Act of Goat wasn't optional, so I actually did *not* implement all rules! Fortunately, Act of Goat became an optional bonus rule after the competition because many people misunderstood the rules at this point.