Thank you for trying out Duckie Dash! Duckie Dash was created for the Allegro Speedhack 2004 competition (
http://www.allegro.cc/speedhack). The goal basically was to create a game which met the strange rules in 72 hours.
Duckie Dash and most of its resources are written from scratch - I re-used the init/uninit, entity and animation code - so about 20-25% is reused. Graphics and music were all done by me.
Anyway, I hope you like the game. It was fun doing it, even though it didn't actually live up to my expectations (and time constraints cut down ideas). :)
The samples used in the music modules were found from the internet and are assumed to be public domain.
You are allowed to:
- compile new versions out of the game, improve the game, etc. for personal use
- play and enjoy the game ;)
If you make any improvements or ports, please let me know! :)
You are not allowed:
- to re-release Duckie Dash under a different name
- claim to be its author
- re-use the game resources (graphics, music, etc) without permission
- make any profit out of it
- include or display it on any medium meant for public consumption/which is accessible by the public without my permission
If you are porting etc and would like to host it on your site, contact me first. I'll most surely grant permission. :)
The source directory already contains a batch file for compiling on Windows (called
compile.bat).
There is a precompiled binary package available for Windows from http://www.duckiehorde.net/duckdash.zip. It has been compiled using the same compile.bat available in this source distribution.
Remember that if you compile the game yourself,
the "data"-directory must be placed in the same directory as the executable!
The header file named as
compflag.h contains some defines, which you can (un)comment to compile a different version of the game. This game should compile on most x86-platforms with little to no modification. To compile the game, you will need a C compiler and the latest stable version of the Allegro library (
http://alleg.sf.net), the AllegroGL library (
http://alleggl.sf.net) and DUMB library (
http://dumb.sf.net).
The flag descriptions are:
SHELLSHOCK_LOG_CONSOLE (undefined as default)
Prints all messages to the console.
SHELLSHOCK_LOG_FILE (defined as default)
Logs all messages to the file "duckdash.log".
SHELLSHOCK_LOG_ALLEGRO (undefined as default)
Displays alert windows with the log messages having the level "warning" or higher.
SHELLSHOCK_LOG_IGNORE_INFO (undefined as default)
Ignores informational messages.
SHELLSHOCK_LOG_IGNORE_WARNING (undefined as default)
Ignores warning messages.
SHELLSHOCK_LOG_IGNORE_ERROR (undefined as default)
Ignores error messages (not recommended).
CONTROLS (MENU)
UP - Move up
DOWN - Move down
ENTER or SPACE - Select
CONTROLS (INGAME)
LEFT and RIGHT - Steer duckie
UP - Accelerate
DOWN - Decelerate
ENTER or SPACE - Select when in a menu
ESC or P - Pause
P - Resume (when paused)
Q - Quit to main menu (when paused)
CONTROLS (GAME PAUSED)
P - Resume
Q - Quit to main menu
Your objective is to go through all of the checkpoints and then reach the goal before your enemies do. You have 3 continues, meaning that you can restart a level three times. Each level will have 7 enemies and 20 checkpoints, and there are 10 levels.
You will be seeing these elements on your HUD (heads-up display):
 | Enemy indicator - Points to the direction where the enemies are |
 | Checkpoint indicator - Points to the next checkpoint buoy you have to reach |
 | Goal indicator - Points to the goal buoy |
 | Checkpoint buoy - You must touch all of the checkpoint buoys in order before you can activate the goal buoy |
 | Goal buoy - The first duckie to touch this buoy will be declared winner. Try to make sure it will be you. |

In the picture above, you'll see a green bar in the lower-left corner. This is your speed meter. The longer it is, the faster you are going.
If the speed bar is red, that means that Adrenaline is active and your maximum speed is slightly increased for a while.
The timer in the upper-left corner only counts upwards - this is not a race against time. It's just for you to keep track of your time. :)
The duckie icons in the lower-right corner show the race progress. The higher the duckie icons go, the closer they are to the goal. One step corresponds to one leg, or the journey between checkpoints. In the screenshot, all of the duckies have gone through the checkpoint which is still visible, but the player missed it.
The green bars behind every duckie correspond to their health/fatigue level. The lower it goes, the less health your duckie has. If your health drops to zero, your duckie is exhausted for a while and must rest. You cannot move during resting (while health regenerates). Your health bar will be yellow while you are resting, and it will turn back green when you have enough strength to start moving again.
The powerups will be available for 10 seconds at a time, after which they will be randomized again. The powerup will gradually turn red and then disappear.
You can also ram other duckies - that will cause you both to swerve and lose a little health.