============================================================================= Super Soccer Shoot-out Mania: Turbo eXtreme Championship Edition Alpha Version 1.0 By Jackson Lee (991517729), Matthew Ho (991740149), Clarence Pong (991048157) ============================================================================= HOW TO PLAY ============= To kick the soccer ball ----------------------------------- As the game starts, the player can use the left mouse click to choose the appropriate a) horizontal angle b) vertical angle c) power to kick the ball with. Adjust the above settings to hit the target in the distance; the target will fall down when hit! When the ball lands and stops, the game is over,so hit left mouse click again in order to play again. Try to get the best score possible by hitting the center of the target! Camera Positioning, Slow-motion, Time-Freeze, Target-Cam ---------------------------------- While the ball is in mid-flight, the user can adjust the positioning of the camera angle in several different modes, to view the motion of the ball in all its glory! Camera Rotation with Slow-motion: - Hold right mouse button while ball is in mid-flight - "Matrix"-style rotating camera mode with slow-motion - Rotate around the ball by moving the mouse in x-axis - Zoom in and out by moving the mouse in y-axis Camera Rotation with Time-Freeze: - Hold middle mouse button while ball is in mid-flight - "Matrix"-style rotating camera mode w/ Time-Freeze - Rotate around the ball by moving the mouse in x-axis - Zoom in and out by moving the mouse in y-axis - Ball is stopped except for spinning Target-Cam with Slow-motion: - Hold left mouse button while ball is in mid-flight - This sets the camera at the location of the target - The camera will automatically follow the location of ball, as the ball approaches the target! - The ball travels in slow-motion Special Player Roaming Mode ----------------------------------- While not kicking the soccer ball, hit ESC on the keyboard to start roaming mode, in which the soccer player can roam freely in certain parts of the landscape, in order to reposition himself for a clear shot of the target, or just for fun! To enter roaming mode: - hit ESC on the keyboard prior to kicking the ball To move while in roaming mode: - hit Up Arrow to walk in the direction the player is facing - hit Right Arrow to turn 90 degrees clockwise - hit Left Arrow to turn 90 degrees counter-clockwise - to stop walking, hit the direction arrow opposite of the player's walking direction - ie. While the soccer player is walking to the right, hit left to stop walking To exit roaming mode: - hit ESC while in roaming mode; the soccer ball will automatically be repositioned to be in front of the player READ ME ============= 1) Team members: Jackson Lee, Matthew Ho, Clarence Pong 2) Submitted animation file: None, since our project is an interactive game. 3) Source and data files: BW.bmp Makefile Grass1.bmp sky1.bmp soccer.cpp soccer.exe texture.cpp texture.h body.bmp door2.bmp face2.bmp hand.bmp knee.bmp leaves.bmp leftuparm.bmp leftupleg.bmp neck.bmp outfit.bmp rightuparm.bmp rightupleg.bmp shoeback.bmp shoefront.bmp shoeside1.bmp shoeside2.bmp shoulder.bmp socks.bmp top1.bmp waist.bmp wall3.bmp window1.bmp wood1.bmp lowarm.bmp 4) Compile and Execute Instructions: - "make all" to compile the code - "./soccer" to execute the game 5) Description: We developed an interactive soccer shoot-out game, where the main objective of the game is to hit the target far off in the horizon using the soccer player. Our game made extensive use of texture-mapping and primitive polygons in OpenGL to create all art work, including the sky, the grass field, the house, the tree, the soccer ball, as well as the soccer player. The soccer player itself consists of a combination of texture-mapping as well as polygon models. We also attempted to model realistic movement actions for the player by using 12 degrees of rotational freedom for the entire body! Using a large number of degree of freedom ensures that all major joints on real human bodies are accurately represented in our soccer player. This is one of the major points of labour for our project, in which we devoted hours of development work into. His face and shirt textures were also obtained from player models from the game "The Sims". Other features include the use of physics/mechanics laws of motion to model realistic behaviour of the ball as it is kicked into the air, as well as the collision detection system with respect to the ball hitting the target. We have also implemented a scoring system for the game; the closer the ball gets to the centre of the target, the higher the score. While the ball is in mid-flight, the player can use 3 different modes of camera positioning to view the motion of the ball: i) Camera Rotation with Slow-motion: ii) Camera Rotation with Time-Freeze: iii) Target-Cam with Slow-motion: These different camera/time modes allow the user to view the shot in all its glory. Another special feature is the Special Roaming Mode, which allows the soccer player to freely roam around certain parts of the landscape in order to reposition himself for a clear shot at the target, or just to explore the area for fun! 6) Cited Sources: We used the following website for "Big Five" physics/mechanics formulas: http://online.cctt.org/physicslab/content/NYregents/RegentsFormulas.asp We used the following websites for the textures used in our texture mapping: http://www.3dcafe.com/asp/textures.asp http://www.3dmodelworks.com/ http://www.spacesimulator.net/tut4_3dsloader.html 7) Division of Labour: Jackson was responsible for: - texture mapping - art work - landscape design - soccer player action Matthew was responsible for: - physics engine - camera positioning - shadows Clarence was responsible for: - physics engine - camera positioning - game structure