Hi All... well i am glad that we finally have finished the 4th assignment, it is also a good sign that the final assignment of game demo is coming up soon. any way cheer up!!! we have at least collected our grade for this semester piece by piece at the end of all assignment. :)
This is our 4th assignment of Unmanned Flight Simulator for computer game programming course.
Cipherhov
I would like to name my program Cipherhov, other than the futuristic model
of the plane which resemble a popular Japanese cartoon show in 1990s, there
no other good reason for me to name it as cipherhov though.
Cipherhov model was constructed without any multimedia tools, I define each points using openGL vertex directly, but due to our time constraint, the model is quite limited. There are still many improvements on the model which will actually make cipherhov more attractive.
SkyBox
The skybox is constructed from 5-sided cube with sky texture mapping, the
size of the sky box is customizable, programmer can easily change the maximum
point for x, y, and z on sky box array. In order to improve efficiency of
our computer, sometime not all side of the sky box cube is rendered. In the
program, a function is devised to check, if camera location has gone outside
of the box, the intersected side of the sky box is not rendered, however for
further development the function should also be able to determine side of
the box behind the viewer and eventually exclude that portion from rendering
process.
Terrain
Terrain is constructed from a number of polygons with texture mapping; the
size of the terrain can be customized easily on its function. The terrain
model employs LOD model, only area surrounding the cipherhov is rendered using
higher level of detail, other than that area, lower detail is used.
Collision Detection
To improve reality of the simulation, cipherhov should not go beyond the skybox.
Thus collision detection algorithm is employed, this function will maintain
cipherhov, to roam within the skybox and terrain range.
Control on Cipherhov
Like other spacecraft, cipherhov is able to takeoff and landing, both function
are available in the program, on the click of button O, cipherhov will start
to takeoff automatically until certain height and it will stop, gamer is able
to control cipherhov movement when it is already finish taking off. Button
L is reserved for automatic-landing function.
Further Development
Gamer has full control of cipherhov at all time, except when automatic landing
and take off is activated. However cipherhov movement is limited, it can only
move forward, backward, left and right. On further development, programmer
will employ rotate function that will give gamer 360 degree of freedom.
Key Function
T : to move forward
B : to move backward
F : to move left
H : to move right
Rotation of camera
A : to make clockwise rotation on x and z axis
D : to make anticlockwise rotation on x and z axis
W : to make clockwise rotation on y axis
X : to make anticlockwise rotation on y axis
Take off and landing function
L : landing command
O : takeoff command
F1 : to view full screen
Esc : to quit
Source Code
Acknowledgement
I would like to thank you everyone who have helped
me through out this assignment.
Prof Edmond Prakash
Like Gobeawan.
Donny Iskandar
Robert A
The following are link to website that I have been
visiting for consultation or some reading in order to complete this assignment.
http://apron.morrowland.com/
http://nehe.gamedev.net/
http://www.flipcode.com/tutorials/tut_skydomes.shtml
Important Notice
Please read the "readme" file before
starting the simulation
last update: September 13, 2003