PySpaceWar

A game loosely based on the original Spacewar

PySpaceWar is an open-source game, loosely inspired by Spacewar, Gravity Wars, and a bit by Star Control (I and II).

Two ships duel in a gravity field. Gravity doesn't affect the ships themselves (which have spanking new anti-gravity devices), but it affects missiles launced by the ships.

You can play against the computer, or two players can play with one keyboard. There is also a Gravity Wars mode, where the two ships do not move, and the players repeatedly specify the direction and velocity of their missiles.

Screenshots

Screenshot of the title screen Screenshot of the menu screen Screenshot in the middle of a game Screenshot of gravity wars mode

News

February 27, 2009: Released version 0.9.5:

June 30, 2008: Released version 0.9.4:

December 25, 2006: Released version 0.9.3:

You can look at the timeline for latest code changes.

Download

The latest release is 0.9.5. I consider it to be stable, but it hasn't received much testing yet. I would love to hear feedback. I would love it even more if someone could contribute some music or sound effects.

Download pyspacewar-0.9.5.tar.gz or pyspacewar-0.9.5.zip.

Dependencies:

You can also check out the latest version from my Subversion repository:

svn co http://mg.pov.lt/pyspacewar/svn/trunk pyspacewar

Or you can browse the repository with a Web browser.

Quick Start

Download the game, and make sure you have all the dependencies installed (Python, PyGame). Unpack the tarball or zip file, and run pyspacewar. There is no need to compile anything.

Default Controls

Player 1 (white)
LEFT, RIGHT rotate
UP accelerate in the direction you're facing
DOWN accelerate in the opposite direction
RCTRL launch a missile
RALT brake (lose 5% speed)
1 enable/disable computer control
Player 2 (green)
A, D rotate
W accelerate in the direction you're facing
S accelerate in the opposite direction
LCTRL launch a missile
LALT brake (lose 5% speed)
2 enable/disable computer control
Other
F toggle full-screen mode
ALT+ENTER toggle full-screen mode
O hide/show missile orbit trails (speeds up drawing)
PAUSE pause the game (useful for taking screenshots)
ESC escape to menu
F12 show frame rate and a bunch of timings for optimisation work
+, - zoom in/out
mouse wheel zoom in/out
left click escape to menu
right drag drag the viewport around

Credits

PySpaceWar was written by Marius Gedminas (physics, graphics) and Ignas Mikalajūnas (AI). It is released under the terms of the GNU GPL.

Planet images are borrowed from an open-source on-line strategy game IGE - Outer Space.

The background image is a darkened version of a public domain Hubble Space Telescope picture of the NGC 3949 galaxy.

Icons were contributed by Jakub Szypulka and licenced under the Creative Commons Share-Alike 3.0 licence.

Bugs

Report bugs at Launchpad.