Twig's In Space

    Twig's in space is meant to be reminiscent of the '80's video game era.  The player controls a spaceship that can rotate left and right as well as thrust forward.  The ship is armed with a front mounted cannon which can blow up enemys.  Objects and the player will bounce off the sides of the screen, and enemys will bounce off each other.  Rather than the traditional 3 (or n) lives found in many games, the player has a shield which protects them from collisions.  When the shield is depleted, the next collision will result in death.  The shield will recharge slightly at the end of each level.

    Note:  Whilst this game does have rocks, it is not meant to be an Asteroids clone.  In point of fact, the asteroids were the second enemy image to be added.  (The first was the spinning rectangles)  It may also have features similar to other games of the era (as do others from the same timeframe), but the game and gameplay are unique to my knowledge.

    The original purpose of the game was to serve as a cross platform demonstration as well as a working example to illustrate some talking points for CS 321 at Lake Superior State Univerity.  Nominally, this course teaches computer graphics, but this semester we thought we would step beyond the dry theory.  The code is laced with comments to remind me of things to talk about in that class. 

    As a cross platform game, it has been a resounding success.  The game is known to compile, and run under Windows (via Cygwin), under Linux (a couple of versions), and under Solaris 9.  The game plays either as a window or fullscreen in all cases, including running with fbconsole without X running under Linux.  The game also plays very well on my MAME cabinet.

    Twig is a professor at LSSU who is known for morphing peoples heads onto various images.  His head in this game is a form of retribution.  Interestingly, the image comes from an image that Twig doctored himself. What goes around comes around.


SDL - 1.2.7 (or probably newer)
SDL_Image - 1.2.3 with XPM support
SDL_Mixer - 1.2.5


    The file comes with a Makefile which has been tested on Linux, Solaris, and Cygwin/Windows.  It is pretty basic, so you can probably
figure out how to compile it without make.  The images files are compiled into the source as .xpms, so they are not needed after compilation.  The two configuration files should be in the same directory as the executable, and the the sound files should be in a subdirectory called audio.  Check out the file README for additional information about the two config files.


    Source Tarball - Includes source, audio, and sample files for configuration and hiscores.
    Windows Binary - Includes a .exe file, audio, and sample files for configuration and hiscores.
    I do not provide binarys for Linux/Solaris because this thing is trivial to compile.  If you port the code to some other system where having a binary version available makes since, let me know, and I can add it to the list, and give you credit.


    0.9.3 - Initial Public Release.  It probably works, but who knows what the rest of the world will find wrong with it.
    0.9.3a - Fixed a small item in the Windows binary to improve sound performance on older/slower/cheaper hardware.  If you
                   have sound crackling issues, try the new version.

Questions? Comments? Fixes?

    Send an email to