Tree [af39b6] v0.5.0 /
 History

HTTPS access


File Date Author Commit
 tools 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 COPYRIGHT 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 GNUmakefile 2006-04-30 Jan Engelhardt Jan Engelhardt [5aa8f1] - GNUmakefile: fixed: position of "include make...
 README.txt 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 ast_snd0.ub 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 ast_snd1.ub 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 ast_snd2.ub 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 ast_snd3.ub 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 ast_snd4.ub 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 ast_snd5.ub 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 ast_tex0.ppm 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 ast_tex1.ppm 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 ast_tex2.ppm 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 ast_tex3.ppm 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 ast_tex4.ppm 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 ast_tex5.ppm 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 asteroid.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 asteroids3D.h 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 asteroids3D.spec 2005-12-03 Jan Engelhardt Jan Engelhardt [a2ca3c] Add specfile
 calc_frame.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 coll_snd.ub 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 collision.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 debug.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 defs.h 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 display.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 dust.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 explosion.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 hud.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 keyb.c 2005-12-29 Jan Engelhardt Jan Engelhardt [2f1718] split up asteroids3D.h into defs.h, proto.h, st...
 light.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 main.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 makevars.inc 2006-04-30 Jan Engelhardt Jan Engelhardt [5aa8f1] - GNUmakefile: fixed: position of "include make...
 move.c 2005-12-29 Jan Engelhardt Jan Engelhardt [2f1718] split up asteroids3D.h into defs.h, proto.h, st...
 nebula_tex0.ppm 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 nebula_tex1.ppm 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 nebula_tex2.ppm 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 nebula_tex3.ppm 2005-12-03 Jan Engelhardt Jan Engelhardt [778ef2] move nebula_tex3
 oglutils.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 pause.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 proto.h 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 rcfile.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 score.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 shield.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 sound.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 split.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 structs.h 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 sun.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 ta_snd.ub 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 target.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 texture.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 tf_snd.ub 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 thrust.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 torp_tex0.ppm 2005-05-25 Jan Engelhardt Jan Engelhardt [b09f68] Initial import (0.2.2)
 torpedo.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 vecops.c 2005-11-05 Jan Engelhardt Jan Engelhardt [e299a1] - combine common vector code into the following...
 vecops.h 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 view.c 2006-04-30 Jan Engelhardt Jan Engelhardt [af39b6] - update my mail address
 wind_part.c 2005-12-29 Jan Engelhardt Jan Engelhardt [2f1718] split up asteroids3D.h into defs.h, proto.h, st...

Read Me

Asteroids3D - a first person game of blowing up asteroids
Copyright (C) 2000 Stuart Mark Pomerantz <smp [at] psc edu>
Copyright © Jan Engelhardt <jengelh [at] gmx de>, 2003 - 2006


DESCRIPTION

    Welcome! Thanks for trying out asteroids3D. This program is known
    to compile without error on SUSE LINUX 9.3 and 10.0, and possibly
    some other Linux distributions. The program requires a GL
    library, which is usually provided with your card's drivers. 
    Alternatively, you can use the software-based Mesa3D library,
    available at http://www.mesa3d.org/.


THANKS TO

    Thank you to my girlfriend Colleen for her support, and never
    failing to say "oooh, cool". Thank you to Lee Beatty for his
    enormously helpful artistic suggestions. He has got a great eye
    for how things should look. Thank you to everyone on the
    internet who emailed me with suggestions and kind words!

    Thanks to Rob R. for a patch and a nebula graphic (nebula3).


DOWNLOAD

    The latest copy of Asteroids3D can be found at:
    http://jengelh.hopto.org/coding/as3d.php


COMPILATION & INSTALLATION

    Just run `make` (on BSD systems `gmake` is necessary). If you
    have your GL library placed in some obscure place, tell it make
    by using the EXT_CFLAGS=-I/other/place/for/headers
    EXT_LDFLAGS=-L/other/place/for/libs parameters.

    If you want to install the program to system folders, type `make
    install`. You can use PREFIX=/usr (or any other folder) to copy
    it into /usr/games/ rather than the default, /usr/local/games.


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


PLAYING > CONTROLS

    mouse

        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.

    keyboard
        ESC     - exit the game immediately
        $       - turn on my debugging axes ( not very interesting for playing )
        s/w     - slide forward/backward
        a/d     - slide left/right
        c/y     - slide up/down
        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

        (best with keypad)
        4/6 - rotate about the ship's y axis
        7/9 - rotate about the ship's z axis
        8/2 - rotate about the ship's x axis

        (graphics features) 
        these keys are like toggle switches now and are mapped across the top
        of the keyboard (this statement applies only to US layout)
        + - 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.

    The targeted asteroid is boxed in green, and has a green line
    pointing in the direction it is travelling (its movement vector).


COMMENTS and SUGGESTIONS

    I welcome all comments and suggestions. Please remember that this
    game is A WORK IN PROGRESS. I do not consider it finished or
    completely debugged. The version number is meant to reflect that.

    If you have a comment or suggestion, please email it to the
    maintainer at (currently) jengelh@gmx.de, and, if you like, cc:
    it to smp@psc.edu. If you have a criticism, I would like to hear
    it as long as it is constructive. "This game sucks" criticisms
    will be ignored and put in the trash.


FINALLY...

    I am giving this away to thank the GNU community of developers
    for all the wonderful software they have given away to me for
    free. I thank you all for your generosity. I hope you like this
    game.

    Stu Pomerantz


LICENSE

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
    MA 02110-1301  USA


    Stuart Pomerantz
    3935 Stonecliffe drive
    Monroeville, PA 15146
    smp@psc.edu


EOF

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks