Missile Command

In a fit of bored like boredom I decided to write a port of the Atari game Missile Command for Linux. I chose to do this because:

  1. I had fond memories of it.
  2. I haven't seen a decent Linux version (not that I'd looked).
  3. One of my friends was hired by Bungie, and being jealous, I felt that this could be a better project than Oni or Halo.
  4. The best way to support cool projects like the SDL library is to use them.


ob screenshots: one. two. three. four.

Flame me -> Julian Peterson
Zaurus Flames to -> Steve Essery

Download:

Read the README

v1.0.1:
Download: source (212k) ipk (448k)

Changes:
   - Zaurus specific release! No changes to the PC version.
   - Finally ported 1.0 version to the Sharp Zaurus SL-5500
   - Sound is available via the headphone socket
   - Still using static linking to remove the dependencies on other packages being installed.


v1.0.0:
Download: source (196k) binary (188k) rpm (192k) src rpm (200k)

Changes:
   - Figured it was about time for version 1.0 =)
   - Sound!
   - Added version info image to main splash screen.
   - Binary distributions are now linked against libSDL-1.2.so.x so if you have SDL v1.0.x installed, you will have to upgrade to v1.2.4 (there are no problems compiling from source code though)
   - Ditched having the config file in /etc, that was a bad idea.


v0.99.7:
Download: source (52k) binary (52k) rpm (52k) src rpm (56k)

Changes:
   - I'm happy with missile frequency, number, and speed, so unless something major is uncovered, this should be the last release before v1.0.0
   - Now also tries to read /etc/missilecommand.conf when tring to find the data directory. The format for this file is a single line with: Data=/the/data/dir (the same format as the ~/.missilecommandrc files).
   - Error messages are little more verbose (and hopefully more helpful).
   - Cities are (once again) redrawn every frame, so you can't knock bits out.
   - Fully documented command line options.
   - Added an icon (submissions of a better one welcome).


v0.99.6:
Download: source (48k)

Changes:
   - The event queue is now flushed before the start of each wave, so that if you hit the buttons after the wave is over, you don't fire all your missiles at the start of the next.
   - Added a --bigcursor option for those who find the default too hard to see.
   - Now works in 8 bit colour mode.
   - Cleaned up code a little more.


v0.99.5:
Download: source (44k)

Changes:
   - Tweaked missile frequency, number, and speed.
   - Fixed bug where you could destroy all the missiles by shooting the top of the screen.
   - Bases now regenerate (every 20000 points).
   - Lined up missiles and cities in end of wave splash screen.
   - Added option to pause the game.
   - Made error messages a little more helpful.
   - Fixed bug in screen_shot which tried to free unallocted memory.


v0.99.4:
Download: source (44k)

Changes:
   - Fixed bug with freeing memory not always allocated in reading/writing of rc file (this one was a show stopper for some people) (thanks Mattias Engdegard).
   - Changed index/rindex calls to strchr/strrchr for POSIX compliance (thanks Mattias Engdegard).
   - Cleaned out some chaff.


v0.99.3:
Download: source (44k)

Changes:
   - Improvement in image blitting speed.
   - Optimised circle drawing routine.
   - Add cities gained at the start of the wave instead of the end (means you dont start a wave where in the previous everything died).
   - Fixed bug where you had a 1/6 chance of having to wait until the next wave to get your brand spanking new city.
   - Improved error messages for when game data is not found.
   - Fixed bug when data dir == "." being set incorrectly


v0.99.2:
Download: source (44k)

Changes:
   - No longer require SDL_ttf
   - Tidied up colour stuff (internally)
   - Changed "level" to "wave" everywhere =)


v0.99.1:
Download: source (72k)

Changes:
   - Slowed down missiles (they now get 1.3p/s faster per wave instead of 2p/s).
   - Decreased missile frequency.
   - Some misc cosmetic changes.


v0.99.0:
Download: source (72k)

Changes:
   - Initial release.


All files can also be downloaded from here.

You may also be interested in the project page at Source Forge. This has a bunch of information in one easy to reach place.


Requirements:

The libraries below are needed for the binary versions of Missile Command prior to version 1.0:

SDL >= v1.2.4 (actually any of the 1.2.x libs should work if you have them already)
Zaurus requires SDL >= v1.2.5 (first version to support Qtopia)
Download: From the SDL website

SDL_image >= 1.0.4 (and you'll need libpng too)
Download: From the SDL website

SDL_mixer >= 1.2.4 (if you want sound in 1.0.0 and later)
Download: From the SDL website


The following is no longer needed for Missile Command v0.99.2 and above:

SDL_ttf >= 1.0.1 (which itself requires freetype)
Download: From the SDL website


Notes: - All of the above libraries are licensed under the GNU LGPL.
- You only need the development libs if you're gunna compile Missile Command yourself.


To Do:

A nicer web page.

Tweak game play. 3 things to balance:
 - missile speed (and how quickly it increases)
 - number of missiles per wave
 - missile frequency (or time between missiles)

Sound. Anyone got any suitable sound effects?
 - start of level
 - end of level
 - sam fired (got one)
 - incoming missile
 - incoming smart bomb
 - game over
 - high score reached
 - new city acquired
 - bonus points for cities remaining ticker thing (got one)
 - ditto for missiles (got one)

Performance? This *seems* ok... I'll keep tweaking however.

Zaurus bits...
 - Still occassionally locks/crashes, but not as often as in 0.99.8dev
 - Takes over the display on the Zaurus, may need to make it better behaved
 - Won't work on the XScale based SL-5600

Occasional seg fault in DRAWPIXEL() in draw_line().
Anyone else had this? (Run "gdb missile core" to see where it segfaults)
Update: Somehow I'm occasionally creating a missile way out of bounds (by stomping on memory somewhere perhaps?)

Antialiased blasts (and perhaps missile vapour trails).

New graphics (even though the current ones are far better than anything Michaelangelo* could do).

Maybe some more features (I have a couple ideas for some new nasties).


* The Ninja Turtle, not the painter.


Links:

Missile Command Links:

Penguin Command - Very pretty Missile Command clone.

ICBM3D - Missile Command in 3D

Missile Command as a Java applet

A Missile Command clone written for gtk

A brand spanking new version of Missile Command (for windows only =\ )


Linux Game Links:

Linux Games

The Linux Game Tome

Loki Entertainment Software

More -> SDL Games, SourceForge, Linux Links, Linux Start, Freshmeat (X), Freshmeat (console).


Game Development Links:

Simple DirectMedia Layer (A yummy multimedia API)

ClanLib (A game SDK)


SourceForge Logo
Last Modified On: Fri Sep 13 22:27:10 2002