Introduction to the Allegro SpeedHack
What is the Allegro SpeedHack?
The Allegro SpeedHack is a programming competition that is run over three days. It is designed to test the programming skills of the Allegro Community to produce an innovative and exciting programming concept using Allegro. It can either be a gaming concept, an interesting utility or something completely useless that you would never dream of inflicting on anyone else if you had to develop it elsewhere.
As you can guess - virtually anything written in Allegro goes in this competition.
Perfection is not what I am expecting here - Flair, originality, and clever hacking is what wins this competition. There is precious little time for developing lots of graphics and sound - so there is no need to go overboard on these!
How does the SpeedHack work then?
The SpeedHack runs over a single weekend from Friday Noon to Monday Noon (UTC). All the programming for the competition must be done in this period.
On Friday at Noon UTC - The rules for the competition will be posted for the competition. These will tell you what requirements are needed as part of the competition. These are not disclosed ahead of time so that entrants cannot write code for the competition and give themselves an advantage.
The rules can vary. They may take the form of a genre that your program needs to follow, required elements that your program needs to include, graphics and sound that needs to be worked into the design and other strange requirements.
The rules are generated using a customised program called the Rule-O-Matic and so I have no idea what the rules are going to be until it is run. The possibility exists that there may be no rules at all, which means then it will be a freestyle competition! :-)
In addition to the requirements, there is also a space restriction for entries that are submitted. The whole entry in source form must fit into a 250KB zip archive, which gives around 500KB of uncompressed space to play with. This may feel like terribly small space for a demo, but I think that most people are not going to be able to fill this with code in a single weekend.
During the weekend, I would like you to keep a account of your development experience for the viewers who are following the Speedhack. There is a simple web-based update mechanism available that can be used. People who have no connection over the weekend can keep a log using plain text and upload it afterwords This does not count in the 250KB entry limit, and the more comprehensive the better. It should accurately portray the struggles of developing to a deadline - the caffeine fuelled, sleeplessness that can only occur when someone has to produce something under pressure!
When you have finished your entry, you need to uploaded it via this site. You only need to send me the program source, data, makefiles, documentation and any additional libraries that you needed to compile the program. All of this must fit into the 250KB!
The entries will be made publically available on this site (even if not finished) so that people can download them, examine them to see how they work, and also learn something (hopefully) from them.
The unusual time for the announcement and completion is so that people who do not have internet connection at the weekends, can use accounts they may have at work or university to send their work in for uploading.
It may be advantageous to upload a binary version of your program to your own website to allow people to try it, so that people are not going to complain about their inability to compile your efforts :-)
After the competition entries have all been uploaded, then the Allegro Communtity is invited to examine the entries and vote for their favorite based on the cleverness of the hack and the skill and amount of work shown in its implementation.
What do I win?
Very little. This competition is for prestige only I'm afraid! I suppose you could go around and tell everyone you came first or something if you are that way inclined..
How do we know who is the winner?
In previous years, people have developed programs for the Speedhack and some people may have come to the consensus that a certain program is better than one of the others. If enough people agree on the same entry, then that probably is the winner.
I'm not one for prizes and prestige. I am merely happy that people entered and had a go at a pretty difficult challenge. If you developed something that works, then that is good. If you improved your skills as a programmer then that is great. If you learned something, even from doing things wrong, then that is better. If you had a good time whilst doing all of the above, then I believe that you are on the right path :)
If people want to declare a winner by some independent democratic process then that is fine by me. I'm not going to get involved. The best you will manage is an admission is that I managed to get it to compile on my machine. My opinion is biased and counts for very little. :)
There is no point sending me e-mail asking me to declare them the winner either, just because they think that their entry is better than the rest that have been entered and because I'm running the competition, I'm going to intervene on their behalf. I shall spare the embarrassment of the person who tried that one on in the past. :)
Woah! How do I get into this SpeedHack thing?
That's the spirit I like to see.
It's simple, just click here. You have to have a registered Allegro.cc account, but that should only take a few moments to get setup.
Hang on - I think that my programming skills are not up to it. Do I have to stay up all weekend?
Of course not. You write something that you have time for. If you can produce a hack that short and sweet, and takes a day to do, then you can enter that. I dare say that I will be igniting the midnight oil working on my intended entry, but this is due to my own choice. I am not insisting on a three-day deathmarch where you fall out with parents/girlfriend/boyfriend/wife/husband/family/dog/cat or any other entity that you may know on a daily basis. This competition is supposed to be fun after all and not to be taken that seriously!
Ability is also not a limiting factor. I would love to see people at all stages of learning taking part, and even the skilled Allegro developers are invited to join in, so that they can show the novices a thing or two (or not as the case may be). So what are you waiting for? Register now!