rules, log file, downloads, License, Readme, SpeedHack, index
BlobLand 2 is a small space shooter written for the Allegro SpeedHack 2002 (see also allegro.cc or speedhack.allegro.cc). 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.
Here are the rules and requirements for the competition!
The Rule-O-Matic has been cranked and the following rules apply:
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..!
There are two technical requirements:
Your production must contain a scrolling message within itself, somewhere within the production.
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 flipcode.com that covered the development of a VM.
There is one artistic requirement:
Working with radiation as I do, I thought that it would be a good thing to add to a computer game. You can have lots of unearthly glows from Cherenkov radiation, large thermonuclear explosions, power stations, radiation effects on people. Radiation also covers electric and magnetic fields plus optical radiation such as lasers.
Ensure that your game is glowing with radiation inspired content. You can make this pro/anti radiation as you see fit.
There are two bonus rules:
The Act of Dog is designed as a get-out clause for not implementing one or more of the requirements - providing that the entrant can come up with a extremely good explanation for not doing so. And when I mean good, I'm talking watertight. If I can find a way through it, then I will.
Lame excuses will be not be accepted, and may result in public embarrassment for the entrant concerned. Successful attempts at 'social engineering' will give you a waiver. All 'Acts of Dog' must be negotiated with me via Email before the entry is submitted on Monday morning.
Humour (of all grades) may be employed in your argument. Other techniques (underhand or otherwise) will have varying levels of success. Send all petitions to arron@ashutt.demon.co.uk with good reasons, bribes, incriminating evidence and pitiful pleading. Judgement will be as swift as the organiser sees fit.
The Act of Goat is a promotional clause. Marketing people are the work of the devil, and so for this rule you must promote the production that you have developed so that I would want to buy it. If your sales pitch is a failure, then no-one will buy your game, no matter how well it is programmed or how good the artwork is. Just like real life ;)
As part of your submission, you should include a single webpage 'selling' your game to the general public. You can either display this on your own webspace, or if you have no webspace, simply zip up the files and send them in as a separate file as part of your entry. It does not count toward the 250 KB of your production.
As it is a crowded market out there, your advertisment should stand head and shoulders above the crowd. You can employ humour, art and as much of the truth in your production as you see fit, but if the public sense lots of bovine excrement then your production will be panned in the press. Think about how real advertising people do it. Convincing lies, glossy images and believable epic hyperbole ;)
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):
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.