|
3 months ago | |
---|---|---|
src | 3 months ago | |
.gitignore | 3 months ago | |
COPYRIGHT | 18 years ago | |
Makefile.am | 3 months ago | |
README.rst | 3 months ago | |
autogen.sh | 16 years ago | |
configure.ac | 3 months ago | |
screenshot.png | 3 months ago |
README.rst
Asteroids3D
A first person game of blowing up asteroids.
Originally authored by Stuart Mark Pomerantz <smp@psc.edu>, 2000. Subsequent modification by Jan Engelhardt starting from version 0.2.2 onward, 2003-2007.
Compilation & Installation
asteroids3D uses autoconf, so you can use the usual two-step. For running asteroids3D from the source directory, you need:
./configure --with-gamedatadir=$PWD/src
make
If you want to actually install it in the system, you could use:
./configure --with-gamesdir=/usr/games --with-gamedatadir=/usr/share/games/asteroids3D
make install
If you need extra compilation or linking flags, you can pass them to configure using CFLAGS="your options" and LDFLAGS="opts" respectively. For example, to turn on debugging:
./configure CFLAGS="-O0 -ggdb3"
Playing
The object of the game is to stay alive and destroy all the asteroids in the asteroid field.
To view the available command line options type:
asteroids3D -help
The mouse rotates your ship up, down, left, and right. The left mouse button fires your torpedo, the right one targets the asteroid in the crosshair, if any.
The basic keyboard movement follows the commonly-known WASD/SAWD scheme with mouselook.
Key | Function |
---|---|
ESC | exit the game immediately |
s /w |
fire forward/backward thrusters |
a /d |
fire left/right thrusters |
c /x |
fire up/down thrusters |
f |
hit the breaks! |
b |
automatically target next asteroid |
TAB | target asteriod in crosshair |
p |
pause the game |
SPACE | fire a torpedo |
[ |
activate/deactivate headlight |
4 /6 |
rotate ship about the Y axis (keypad is best) |
7 /9 |
rotate ship about the Z axis |
8 /2 |
rotate ship about the X axis |
Graphic feature togglables:
Key | Function |
---|---|
$ |
Turn on debugging axes and cubes |
+ |
Activate/deactivate crosshair |
_ |
Activate/deactivate tracer |
( |
Activate/deactivate dust effect |
) |
Activate/deactivate shield effect |
* |
Activate/deactivate torpedo lens flares |
m |
Activate/deactivate asteroid textures |
k |
Activate/deactivate nebula textures |
o |
Activate/deactivate torpedo texture |
# |
Activate/deactivate sound |
! |
Swap mouse X direction |
@ |
Swap mouse Y direction |
HUD symbology
The position of your mouse is represented by a green dot.
The purple circles on the left represent torpedo slots. As you fire they will dim, letting you know that you have fired and a slot is reloading. You have five torpedos.
The number at the top center of the screen tells you how many asteroids are left in the field.
The shield indicator at the bottom right of the screen tells you the strength of your shield indicator. When you are hit by an asteroid, the shield will automatically come on and you will bounce elastically off the asteroid. The amount your shield will decrease depends on the momentum of the asteroid, which depends on the speed and mass of the asteroid and your ship. Avoid getting hit by big asteroids if you can. (Avoid getting hit at all, preferably :-)
The collision warning indicator is at the lower center of your screen. There are four arrows representing above the ship, below the ship, to the left of the ship, and to the right of the ship. The oval represents directly behind you. If the dim red arrow (or the oval) lights up, then you know that an asteroid is near you on that side. For example, if the right red arrow lights up, then an asteroid is near you on your right side. It is good to move at a ninety degree angle away from close asteroids.
Finally, a group of numbers on the lower left corner of the screen represents your velocity vector (x,y,z) in m/s. Although this looks cool, it may not be of much use to you. You will be able to see if you are moving, though.
When you lock on to an asteroid:
The spot where your torpedo will be in the time it will take to reach the asteroid is represented by either a yellow (out of range) or red (in range) dot.
The spot where the asteroid will be in the time it will take your torpedo to reach the asteroid is represented by either a yellow (out of range) or red (in range) circle. The target circle grows and shrinks with distance to the target so that you have a more accurate idea of how big a target you need to hit is at a given distance.
There is an outer circle with hash marks which turns right as you shorten the distance between the ship and the asteroid and left as the distance between the ship and the asteroid increases. The outer circle will give you a good idea of your rate of closure with the target.
Put the dot inside the circle when they are both red and voilà, you hit. There are a small number of cases where the aspect angle of the torpedo on the target is such that you will miss. And unless you are close enough, the torpedo may fizzle out before it hits. Additionally, the will-hit-or-miss-detection logic is simple, so it may happen that a torpedo might miss if the distance is close to the maximum possible distance while the circle is still red.
The targeted asteroid is boxed in green, and has a green line pointing in the direction it is travelling (its movement vector).
Acknowledgements
- Asteroids3D / A3D has made Zonker's Product Picks in Linux Magazine of America in the October 2000 issue.
- Asteroids3D was also covered in the October 8 2000 issue of Linux Magazine in Japan. Thanks to Iioka S. of Linux Magazine.
- Thanks to Rob R. for his contributed patch and graphic (nebula3)
- Thanks to Craig G., Sean P., Dirk V., Gregory M., & Stephen M. for their help detecting and fixing a threading bug involving NVIDIA hardware.
- Thanks Brian Paul et al. for work on Mesa3D
- I (SMP) am giving this away to thank the GNU community of developers for all the wonderful software they have given away to me for free.