ORACER(test2)
 
This is the ORACER (test2) readme file.
You must read and agree to this licence before running any 
executable component of this archive.

Licence

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

!!WARNING!!

This program/demo/test is in an early stage of development and not 
fully tested. DO NOT RUN CRITICAL SOFTWARE whilst running this 
program. As stated in the licence.txt I(the author, see below) AM 
NOT RESPONSABLE FOR ANY CONSEQENCES OF RUNNING THIS PROGRAM.
General
This is the second test release of an ODE based racing game. It is 
a fairly large improvment on the old version. See changes below. 
 
It is not intended to be a simulator, but a (hopefully) fast 
arcade racer. Think Micromachines, dectruction derby, super 
skidmarks, that kind of thing.

Features

*	3D Gfx & Sound
*	Heightmapped terrain
*	Particle systems
*	Stenciled shadow volumes
*	Environment mapped cars 
	1 pass on cool hardware (spheremapping or cube mapping) 
	2 pass should work on any hardware (spheremapping)
*	  Basic car ai
*	Lens flare
*	'Quake style' in game console
*	Stuff i forgot (see changes)


Installation


Extract all the files in the archive to a new directy. The 
directory structure of the zip must be preserved or the game wont 
find its resourses. 
 
(dlls and exe together and all data in /data)


Running the game


Run the game.exe located in the folder you extracted to. The game 
should pop up a console window and start spewing text as it 
initalises. If all goes well a game window will appear.


How to play


At the titlescreen you can choose a track to play on, or change a 
few options. Press Esc to switch between the titlescreen and the 
game (only when a track is loaded). Keys can be redefined in the 
menu. 
 
Note: changes made in the "game options" menu have no effect 
untill the track is reloaded. (goto the play menu and select a 
track) 
 
In the game, default controls are  
 
w - accelerate 
a - steer left 
d - steer right 
s - break 
r - shift up a gear 
f - shift down a gear 
t - recover the car 
0-9 - camera modes 
 
There is NO automatic gear mode, you'll have to manage to change 
gear yourself for now. imho, this is more fun. To pause the game 
press Esc (titlescreen). Further commands can be accessed only by 
the console.


Console


To access the console press ` (the key above tab) at any time. 
 
Type a command into the console and press return eg: 
 
To get a list of console commands type cmdlist 
To get a list of console variables type cvarlist 
To get a list of bindable controls type bindlist 
To get a simple help type help 
 
Press up/down arrow to navigate the command history. 
(there is no autocomplete, maybe soon) 
 
commands 
loadtrack trackname [loads a track] 
newrace [starts again on this track] 
testrace [starts with no race animations/delay] 
fullscreen [toggles fullscreen mode] 
bind [binds keys] 
unbind [unbinds a key] 
chasecam number [choose a chasecam]  
drivebycam [drive by camera]  
(more in cmdlist) 
 
console variables are set by typing there name followed by the 
desired new value. To read the current value, just type the 
variable name. Most are console variables for menu items.


Credits/Feedback


All feedback is welcome. 
 
Author: Code, graphics and sound by Matt Barnett 
Contact: gunther@dial.pipex.com 
Website: http://ds.dial.pipex.com/town/terrace/qg20/matt 
 
Thanks to: 
The authors of all the librarys i am using.


Requirements


*	Windows (win98SE, Win2K, WinXP)
*	DirectX needed for sound (about version 7 or better)


Recommended spec


*	Win2K or XP
*	Full OpenGL accelerated driver
*	about 32Mb graphics memory
*	about PIII 500Mhz
*	Fast CPU and/or Graphics card.


Troubleshooting


General 
 
Problem: OpenAL Initalisation failed. 
Solution:

This error occurs when OpenAL could not be initalised. 
Can be caused by wrongly installed drivers. 
(if you have upgraded your soundcard you MUST uninstall 
the drivers for the old one) 
DirectX is also required for sound on Windows because 
OpenAL depends on it.

Problem: The game runs to slow. 
Solution:

Run the game in a lower resolution or a smaller window.  
Adjust the gfx options, for example, turn off shadows 
and envmapping.


Pixel formats


The game works best with  
 
32 bit color buffer 
24 bit depth buffer 
8 bit stencil buffer 
 
If the game complains about less than 8bits of stencil, 
or less than 24bits of depth


MATROX G400 Users:


There are many issues with the OpenGL ICD(?) for the 
G400 card, 
the worst being the shit buffers it gives you 
(sometimes). 
 
If the game complains about stencil, or less depth goto 
the matrox control panel and check the box for "Use 
32bit Z-Buffer". 
This will allow the card to allocate the 32-24-8 setup. 
 
(i dont know if this is a good idea on the 16Meg card)
Crashes etc:
If the game crashes, especially if it happens more than 
once, i would like to know. Feel free to email me with 
the details of the crash. (see Credits/Feedback)


Changes (test1->test2)


* Added a GUI 
* Title Screen / Menu system 
* Console (quake style). (console variables,console commands,key 
bindings) 
* Race Logic. 
* The game now plays a three lap race on whatever track is loaded. 
 
* Shadow problems fixed 
(Implemented Z-fail stencil operations (Carmacks 
reverse).  
Shadow volumes are now capped (front and back), making 
shadows slower but correct)
* Togglable fullscreen mode (console-> fullscreen) 
(Only supports 800x600x32 for now)  
 
* Re-organised this readme a bit.  
* Slightly improved physics. 
* Simple car-engine code, 3 speed gearbox + reverse and neutral. 
friction added. 
* Graphic for speedometer, revmeter, gear indicator, map. 
* Static objects (Immovable track objects) 
* Scripted(?) camera system. Chase cameras and drive by camereas. 
* Invisible Wall(tm) added. No more driving into the void. 
* Sound improved. Both the sound code and sound effects.
Todo/Bugs
* Caravans can end up inside the car they are attached to (fix by 
joint contraints) 
* Race position calculation is off when player laps computer cars 
* Computer cars cheat from time to time. 
* Do a linux port. 
* Spheremapping / cubemapping artifacts 
  Some discussed in this thread... 
  (http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/008063.html)
* Known crappy OpenGL drivers cause problems ( Matrox G400 | ATI Rage etc ) 
* Texture resolution is low to save space in the archive. 
* Texture compression is under used. 
* Stack overflow. (not occuring anymore) 
 
* Car physics isnt right yet.

Friction is too low at low speeds. 
Cars dont act too well during car-car collisions. 

* Car engine sound doesnt have a good enough range.
After playing with a few car sounds, i think i found one 
that 
sounds ok/good enough using only pitch modulation. OpenAL does 
not seem to support changing the frequency of a sound as it plays 
on a specific source. (only pitch)
* Decals for car damage? (like mafia) 
* Optimize rendering 
* Optimize lens flare 
* Improve car AI 
* Improve car handling/physics 
* More / better tracks 
* More types of trackside objects 
* More sounds 
* Stuff to smash.


Tested on


*	Win2K AMD TBird 1.4Ghz + geForce3 (fast)
*	Win98SE P2 350Mhz + Matrox G400 (slow)
Previous version tested on...
*	WinXP AMD TBird 1.4Ghz + geForce2 (fast)
*	Win2K + ATI Radeon 8000 series 
*	Others


Dev corner


Laungage - C++ (STL, classes, inheritance) 
Graphics - OpenGL 
Sound - OpenAL 
Physics - ODE 
Image loading - DevIL/OpenIL 
Windowing - Win32API (interface for others) 
Modelling & UV - Wings3D, Milkshape3D 
2D Art - Photoshop, Gimp, terragen. 
 
Compilied for Win32 only so far, but the code is portable, so a 
linux port is a possibility. I only need to add some code to open 
a window in X and setup OpenGL. I now have a working linux 
installation to get going with. 
 
ODE is an awsome open source physics library. I have coded in 
support for heightmaps into ODE itself.
 
Wings3D was used for most of the modelling and UV mapping. 
Milkshape for getting it into a decent format (3DS files)
 
 
