

SPACE GLIDER 
version 0.3a alpha
by 2001-Apr-05

(c) Copyright 2000, 2001 Christian Schler

homepage: http://members.tripod.de/cschueler/
email: cschueler@gmx.de


Complete list of CHANGES to 0.3a
--------------------------------

- Added a Windows Port due to popular demand.


Complete list of CHANGES to 0.3
-------------------------------

- Added sound effects for the menu system. These are covered
  from the c64-game "Paradroid", because I find them cool. 
  To check out what I mean, run "Paradroid" in a c64 emulator 
  and listen as you access a deck-console with your robot :-)

- Added a moveable and zoomable system map. This includes 
  another revision of the engine code to have sub-viewports
  supported.

- Added a menu system which is accessible with the TAB
  key. The FPS counter is now on the key above the TAB key.

- Added a simple "navigation computer" that can show the
  direction to a certain location on a planet.

- Added a compass bar and an artificial horizon like in 
  the real heads-up-displays.

- The MOB-engine now knows different classes of 3d-objects.
  Currently there are class "static", class "auto" and 
  class "airplane", all with their unique behaviour. Just the
  airplane class is not yet parametrized, so that all objects
  of class airplane behave the same.

- every now and then I have designed a new MOB and put them 
  onto the planets (all of them were created using pen and paper)

- Added the keyboard switch "o" to see the polygon outlines
  This is just a diagnostic tool

- Implemented own polygon rasterizer. Has true sub-pixel
  accuracy. No more "holes" between polygons, after they have
  been split up by the BSP generator.

- Revise of the BSP generator. Also, made BSP traversal a
  non-recursive function.

- Even more revise of the 3d-engine.

- Implemented reverse shadow casting, ie. the planet's surface
  is casting shadows onto the objects when the sun is going
  behind the horizon.

- Revised shadow casting. Now casting is done via a 
  "shadow-casting-matrix", which is much of an optimisation.

- Every color now has a fourth channel called "IR", which is
  the grey value for the IR camera, and which can be set
  independently from R, G, B.

- Created motion-blur effect for the infrared-camera,
  i think it is cool

- Added rain effect (both visual and aureal)

- Implemented that the planets spin around their axis.

- Implemented the engine to recognize a partial or 
  total eclipse

- Fundamental change: 
  The transition from space to planet is now really smooth, ie.
  it is no mode switch anymore. This means that the famous 
  "planetfall..." message and some sound effects have temporarily
  disappeared. It will come back though.

- Revise of the 3d-engine.
   
- The asteroids are deprecated. They're now included in the more
  general MOB-system. Temporarily, they're not as impressive
  as they used to be, but it will come back.

- Implemented automatic BSP tree generation for the 3d-objects.

- Implemented shadow casting, by casting vertices onto the
  tangent plane at where the shadow hits the round surface.

- Added a polygon-counter to the FPS-counter

- Improved the MOB-engine (moveable objects), restructure,
  more optimisation


CHANGES to 0.2
--------------

- implemented the very beginning of a moveable object engine

- Implemented a synth module using audiostream functions and 
  band-limited impulse train wave generation. The latter was 
  implemented straight from the paper of Stilson, Smith: "Alias 
  Free Digital Synthesis of Classic Analog Waveforms", 
  http://www-ccrma.stanford.edu/overview/publications.html

- outsourced almost anything of the game data

- New aerodynamics for the spacecraft. I think it's an improvement.

- added an "Antigrav"

- new color palette

- Name change of the Novadrive. This was really too copyright-
  dangerous. It's now called "Interdrive"
  suggested by Robin Burrows: 
  http://www.geocities.com/rburrowsgc/robcstf.htm

- graphics card setting in init.txt 
  suggested by Burton Radons: http://www.pacificcoast.net/~loth


first version 0.1
-----------------

- hacked down a particle system for an instant "asteroids"
  effect

- added a ring feature for planets

- added a palette mixer for realtime colorfade in the
  atmospheres and a "atm-dens" parameter for the planet
  data

- Added a checkerboard on the planet's surface. The checker-
  board will move as the player moves but doesn't preserve
  orientation. This is a trick, because it is actually 
  impossible to tile a square pattern onto a sphere.

- first version of player motion

- put some balls into space and named them planets

- added a sphere-tesselator, which is only considering that
  portion of the sphere that is visible, ie. up to the
  horizon.

- first version of the 3d-engine including a vector-class,
  a mesh-class, a view-class, frustrum clipper and backface-
  culler. The roots of this are back in 1995 when wrote my 
  first:

     struct vector 
     { 
        ...
