_________ __              ___________.__       .__     __            
 /   _____//  |______ ______\_   _____/|__| ____ |  |___/  |_  ___________
 \_____  \\   __\__  \\_  __ \    __)  |  |/ ___\|  |  \   __\/ __ \_  __ \
 /        \|  |  / __ \|  | \/     \   |  / /_/  >   Y  \  | \  ___/|  | \/
/_______  /|__| (____  /__|  \___  /   |__\___  /|___|  /__|  \___  >__|
        \/           \/          \/      /_____/      \/          \/

Group:

Hosted on Github http://github.com/derferman/starfighter

Binary

Snow Leopard Only: http://www.kyleconroy.com/data/starfighter

Video

Quicktime had some problems. It didn't record the sound effects and created some bad flashing artifacts (seen in the first video)

Images

Compilation

Use "make"; resulting executable is named "starfighter"

Usage

./starfighter -f <levelListFile>

Input File Spec

The input file is a level list with pairs

  <level> highScore

separated by newlines. <level>.level refers to the level file in the same directory. A level file consists of geometry definitions and model definitions.

Level File Spec

Some entries have options [option1 | option2]

Loading a .obj mesh

{
    objgeometry #
    name unique-name # must be a unique name
    path path/to/file # relative path

    bs [box | sphere] # OPTIONAL sets the bounding shape, default is box
    boundingsphere x y z r # OPTIONAL explicitly sets the bounding sphere
    boundingsphere x y z x y z # OPTIONAL explicitly sets the bounding box
}

A sample level file can be found here

Gameplay

The objective of StarFighter is to fly and blast through asteroids and space debris, making it to the end of the level with a high score. The ship is controlled entirely with the mouse. Lasers are fired by clicking the mouse button. The ship can also launch bombs by holding down the mouse button and releasing it after at least half a second. The longer the mouse button is held down, the further the bomb travels. Bombs are detonated by pressing the space bar.

Features

Libraries Used

Other Credits