###################################################### # # # %%, %%,, # # ,%%%%, %%,, %%%%% # # %%%"%%, %%%%% %%%% # # %%%% %%%%, %%%% %%%% # # %%%" %%%%%, %%%% %%%% # # ,%%% "%%%" %%%% %%%% ,%%, # # ,%%" %%%%%%%%%%%%%%%%%%%%%%%% # # ,%%% ,%%, ,%%% %%%% # # ,%%%%%%%%%%%%%%% %%% %%%% # # %%" %%%% %%" %%%% # # ,%" %%%% %"" %%%% # # %%%% ,%%, %%%% ,%%, # # "%%%%%%%%%%%%%%%%%%%%%% "%%%%%%%%%%%%%%%%%%%%%%% # # %%%% %%%%%% # # %%%% %%, %%%%%%% # # %%, %%%% %%%%% %%%%"%%, # # %%%, %%%% %%%" ,%%%" %%% # # %%%% %%%% ,%%%" %%%% %%%% # # "%%" %%%%%%"" ,%%%" %%%% # # %%%% ,%%%" %%%%, # # ,,%%%%,,,%%%""" ,%%%" %%%%%,, # # %%%%%%%%%%%%%%""" ,%%%% "%%%%%%%%% # # "%%%%%%%""" ,,%%%" "%%%%%%% # # "%%"" ,,,%%""" "%%%% # # # ###################################################### # # # "%%%, # # %%,, %%%%% # # "%%%%% %%%% # # %%%% %%, ,%%%" ,%%%, # # %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # # %%%% %%%% %%%% %%%% # # %%%% ,%%, %%%% %%%% %%%% # # "%%%%%%%%%%%%%%%%%%%%% %%%% %%%% # # %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%% # # %%%% %%%% %%%% %%%% # # %%%% %%%% %%%% %%%% # # %%%% %%%% %%%% %%%% # # %%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%% # # %%%% "" %%%%, %%%% %%,, "" # # %%%% ,, %%%%% %%%% %%%" # # %%%% ,,%%%% %%%%% %%%% ,%%" # # %%%%%%%%"" ,%%%% %%%% %% %, # # %,,,%%%%%%%" ,%%%% %%%% %% ,%%%% # # "%%%%%%"" ,%%%% %%%%%%%%%%%%" %" # # "%%" ,%%%% %%%% "%%"" ,, # # ,%%%" %%%% %%%, # # ,%%%" %%%%, %%%% # # ,,%%%" %%%By%%%%%%%%%%%%% # # %%%%%%%"" "Geoffrey Tien%" # # # ###################################################### Geoffrey Tien presents: TEKKAI v.1.0 version history: 03-11-20 Began the Tekkai project 03-11-28 version 0.1. All required functionality completed. There is still a bug causing the game to slow down when a new game is started. 03-11-29 version 1.0. Fixed a slowdown bug which occurred before the first explosion is registered. The game now runs perfectly. +----------+ | Contents | +----------+ Section Topic _____________________________________________ 1 ... About Tekkai 2 ... System 3 ... Controls 4 ... Gameplay Hints 5 ... Implemented Functionality 6 ... Final Notes _____________________________________________ +---------------+ | Section 1 | | About Tekkai | +---------------+ Return to the glorious days of 2D gaming. Tekkai puts you in control of a highly manoeuvable fighter craft with unlimited ammunition. Your task is to destroy the enemy ship while avoiding the barrage of bullets. The game was created as the final project for Computer Science 414. +-----------+ | Section 2 | | System | +-----------+ Each bullet which hits the enemy earns 10 points. Destroy the enemy within 180 seconds to receive a time bonus of 100 points multiplied by the number of seconds below 180. Destroy times above 180 seconds receive a time bonus of 0 points. Upon defeating the boss, the player also receives a life bonus of 5000 points per remaining reserve ship. The player begins with 3 lives. Coming into contact with an enemy bullet or with the enemy itself will cause the player to lose a life. The game is over when the player has no remaining lives. Bullets can be grazed in Tekkai. A life will be lost only if the player's fuselage contacts a hostile object. This means the wings and nose of the player's ship can pass through bullets without taking damage. +-----------+ | Section 3 | | Controls | +-----------+ Menu Screen: "Start" begins a new game "Quit" exits These options can be selected with a left mouse click by the arrow keys Gameplay: Arrow keys ... Menu: selects menu item Gameplay: moves the player's ship space bar ... Stops the player's ship motion. 'f' ... Menu: selects the highlighted menu item Gameplay: releases a forward-firing laser beam 'd' ... Fires two wide vulcan bullets to either side of the player's ship 'q' ... Menu: exits the game ... Gameplay: returns to the menu screen 'w' ... Pauses/unpauses the game 'r' ... Returns to the menu screen if the game has ended +-----------------+ | Section 6 | | Gameplay Hints | +-----------------+ -For regular fire, 'd' and 'f' can be pressed simultaneously to fire a wide vulcan round and a forward laser shot. The buttons must be pressed repeatedly to fire more shots. -If there is an opportunity for the player's ship to remain stationary or to coast in a single direction without changing course, 'd' or 'f' can be held down to rapidly fire the respective weapon. Rapid fire will be deactivated as soon as the ship's course is changed and the fire buttons must be pressed again. -Don't be afraid to graze bullets! The hit detection is VERY forgiving! +----------------------------+ | Section 5 | | Implemented Functionality | +----------------------------+ Required Framework -3D viewing and objects The game has been modeled with cubes, spheres, cylinders, discs, and quads from the glu and glut libraries. The camera rotates when a new game is started, and then remains in a fixed perspective view for the duration of the game. -User input The keyboard and mouse are used to control the game. -Lighting and smooth shading The game is lit with OpenGL's lighting model and uses smooth shading. -Texturing and picking The game title and game background are textured. Picking is used to select "Start" or "Quit" in the menu screen New Functionality -Collision detection Collision detection is used to determine intersections between the player's ship and the enemy ship, between the player's ship and enemy bullets, and between the player's bullets and the enemy ship. -Particle systems A particle system is used to model explosions when the player's ship or enemy ship is destroyed. -On-screen control panel A Heads-up display is used to show the player's statistics, as well as the remaining health of the enemy ship. +--------------+ | Section 6 | | Final Notes | +--------------+ Web sites used in making the game: http://home.clara.net/paulyg/prog9.htm http://www.naturewizard.com/tutorial08.html http://www.cis.ksu.edu/~howell/500s00/lab2/cTiming.html ASCII Japanese text from http://www.solon.org/cgi-bin/j-e/dict And for great inspiration: http://www.treasure-inc.co.jp/ http://www.shmups.com/ http://sirkain.net/~kiken/ http://blazinglazers.gamersgraveyard.com/replay/ # END OF FILE #