/cs-335-racing-simulator

CS 335 Final Project

Primary LanguageJava

Jacob Chappell and Bryan Potere
12/12/14

Readme file for CS 335 Final Project

INCLUDED FILES

Source code files:

	Camera. java
	Car.java
	JoglEventListener.java
	Main.java
	Skybox.java
	TempBuilder.java
	TextureLoader.java
	TextureLoaderClamping.java
	Vector3.java
	WavefrontParser.java

A "police car" folder containing object files and textures for a model of a police car.

The racetrack_textures folder contains several .jpg files used to texture the game environment.

The skybox_textures folder contains textures used for the skybox and contains its own license and readme file.

SYNOPSIS

	Graphics Environment and Camera Viewpoint

	This java project implements a 3-d racing game using OpenGL.  The player controls a police car and races against other police cars around a half mile elliptical course for three laps.  The player's camera is centered at all times within a skybox large enough to contain the entire environment.  This maintains the illusion of a sky that does not change in an unrealistic manner.  Two viewpoints are available: a free view camera (button 1) and a view behind the wheel of the car that the player controls (button 2).  When in the free-view mode, the player can move around the course with the w, a, s, and d keys and change the viewing angle by clicking and dragging the mouse.  No matter which position or angle that the player uses, the trees in the center of the ellipse always face the camera.  Although they are two-dimensional images, this billboard technique maintains an illusion of a three dimensional object.  The buildings include two jumbotron sized scoreboard pylons that display the player's current lap (starting at one when the player first crosses the checkered line).  Additionally a garage is present for flavor.  Every object in the game envirnoment is textured.

	Controlling the Car

	The car is controllable with the arrow keys: forward to accelerate, back to brake, left and right to move inwards and outwards along the track.  If the player continues to brake, eventually the car moves backwards.  

	Game AI

	The other cars controlled by the computer move somewhat erratically around the course.  At times they will accelerate forwards and brake back, and sway left and right as they move along.  No car can move outside the bounds of the asphalt.  If one car collides with another, both reduce their speed by fifteen percent.  Collision detection is performed in two-dimensions so that cars cannot move through each other.

REFERENCES

  Owens, Sean R.  Parser and Builder.  http://lwjgl.org, https://github.com/seanrowens/oObjLoader  27 Oct. 2011.  Web.  Software.  12 Dec. 2014.