Frequently Asked Questions
Can I reuse code for the Speedhack?
Sure. Code reuse is a essential hacking skill. You can use any code that you are legally able to do so (your own, GPLed, giftware, public domain or any other Free Software licence).
I would ask you to indicate what changes that have been made to the code, so that I (and others) can judge your hack on its merits.
A 250KB zipfile is not enough!
For a weekend's work, you are not likely to fill the entire file with code. The compression rate is around 50% - so you have approximately 500 KB to play with.
If space is short for graphics and sound, then look into other ways of producing them. Dynamic generation such as plasmas and fractal music need no space apart from the code. Use the opportunity to try new things. This is after all, a hacking competition!
You are allowed to supply an additional 10MB zipfile that contains extra binary resources. However, the game must be playable without that data present. You could use the space for higher resolution graphics, music, etc.
Do I have to supply the source? I'm worried about people stealing my work!
I'm afraid so. You have insufficient space to supply a statically linked binary, so you need to supply the source only with the data for the program. It also shows that it is your own work, and people can also learn from it.
If you are worried about people exploiting your code, then you could release it under a licence like the GPL (GNU Public Licence) that allows people to examine and play with what you have written, whilst preventing people from simply adding it to their project and not crediting you or sharing the source with other people..
Do I have to use Allegro?
Absolutely yes! This is a competition based on the Allegro library. While you are free to use add-on and third party libraries, you must make a good faith effort to use Allegro. i.e., Some major part of the game must utilize Allegro, such as the graphics, the sound, or the input. It is recommended, however, to minimize use of redundant third party libraries. If Allegro provides adequate functionality, please use it.
What version of Allegro should I use? Do I have to use C / C++?
For the 2011 competition, you must use Allegro 4.4 or Allegro 5.0.
You are free to program in any language you want, but it is highly recommended that you stick with C or C++. There are Allegro bindings to other languages (such as Python) that could be used, but be prepared to assist everyone in getting it to work.
Can the competition start at a different time for me since I live many hours away from UTC?
It is just a deception that living in the UTC timezone is an advantage. Everyone will get some sleep at some point, so it all works itself out. Example: if the competition starts at 6AM your time and you are a nocturnal programmer, you may wake up at 11AM. The competition has already started, but when night comes, you'll be able to make up the lost five hours as the early birds get their sleep. The bottom line is that whoever sleeps the least gets the most time - but you'll have to balance that out yourself.
It may be that your personal schedule doesn't work well with the deadlines, but that is something that you'll have to work out. In any case, 72 hours is a long time, and you should be able to get at least *some* time to code.
Can I use other programs like utilities for graphics and sound in my entry?
Of course. You can use any package that you like to develop data,sound and graphics for your entry. You might like to point out what you used as part of your entry documentation, but it isn't necessary to do so. You will need to include any files that you generate (obviously) which will take up space in the zipfile that you create.
You do not need to include any utility in your entry, unless it is something developed as part of your entry, is required to run your program and can be compiled from source.
What about add-on libraries and other helper code? What if the website that I got it from no longer exists?
Libraries, add-ons and public domain code that is self contained (compiled independently from your code) does not need to be included. I am assuming that the code is freely available from a website, and you will need to supply a web address where it can be downloaded. If the website no longer exists (as sites are created and vanish all the time) then you should upload the version that you used onto your own website so that I can compile the code to check it. I have no desire to trawl the internet looking for add-ons as I have enough to do..! :)
Are there any requirements I have to meet in order to compete?
Newbies and pros alike are welcomed. All you have to do to officially compete is enter using your Allegro.cc account. However, there are some things you are encouraged to do. Each year, voting takes place to determine which weekend the SpeedHack will take place. For your own benefit, you should vote on the weekends that work the best for you.
You may also be asked to perform certain tasks prior to the competition, such as creating rules, rating rules, and participating in discussions. However, no one will be excluded from the competition because he failed to participate in the organization efforts.
Are teams allowed, or must I work on my own?
Multiple people working on a single entry is accepted, but you should make clear who is on the team. It is difficult to separate coding over 72 hours, but having someone work on level design, graphics, or audio may prove to be beneficial.
Note that the web system is really not geared for teams, so only the "project leader" should register. He will be the only one to post journal updates throughout the competition, unless he shares his password... If you plan on working with other people for SpeedHack, you should figure out who you want to be responsible for the journal updates before you get going in the competition.