|
|||||||||||||
Overview Video Screen Shots Design Plan History Team Development
Plan
|
Vertigo PSX Plan Code Components ll of the pieces of code which make up the finished Vertigo software are embodied to some extent in the current prototype. Each component will be enhanced over the course of the project to create the final product. Code component descriptions in this chapter follow this format: Game Flow User Interface Language: C++ Libraries: None Algorithms: None Priority: Low Requisite Components: Character Generator Platform Dependent: No Data Structures: None Description: The Vertigo user interface follows the no-nonsense style of console games and other real-time 3D games like Doom, Descent and Duke Nukem. A simple hierarchy of menus appears when the game is launched and re-appears whenever the user pauses game play.
Game Play User Interface Language: C Libraries: Controller Input Interface Algorithms: Conversion of raw user input into forces and torques applied to parts of the skater’s physical model. Lookup into table of special moves. Priority: High Requisite Components: Engine, Controller Input Interface Platform Dependent: Yes Data Structures: controllerInput Description: The Vertigo game play user interface converts the player’s input from the game controller into units of force and torque. These quantities are then applied to the player’s avatar’s simulation element data structure for the simulation engine to act upon. The game play user interface must also take into account the player’s avatar’s position, orientation, velocity and physical state to determine which motion capture segments to initiate, if any. For example, at slow speeds, a sharp banking turn will initiate a kick turn. At high speed and at an extreme angle, a sharp banking turn will initiate an ‘eggplant’ maneuver.
Controller Input Interface Language: C++ Libraries: PlayStation Controller Library (libetc) Algorithms: None Priority: High Requisite Components: Platform Dependent: Yes Data Structures: controllerInput Description: This component reads information from the PadRead function of the PlayStation libetc for use by the Game Play User Interface component. It uses the player’s options settings to determine the mapping of the controller pad keys to the different functions.
Mesh Loader Language: C++ Libraries: libcd Algorithms: None Priority: High Requisite Components: libcd Platform Dependent: Yes Data Structures: elementInfo Description: This component reads mesh files from the CD ROM and brings them into a form in memory which is accessible by the geometry engine, libgte.
Environment Traversing Database Language: C++ Libraries: None Algorithms: Appropriate Level of Detail is displayed for objects depending on their distance from the camera. Priority: High Requisite Components: Engine Platform Dependent: May contain platform specific components, such as format of images and meshes, and the code that actually feeds the meshes/images to the underlying hardware. Data Structures: Description: To have a high quality, fast animation environment it is necessary to only draw those components of the game relevant to a specific scene. In addition, those objects which are in the distance should contain many fewer polygons than the same world object would contain if it was right in front of the character. This technique of having multiple meshes describing the same object is called Level of Detail. Another technique which is necessary to have a speedy game is the division of the game into scenes. Levels such as the skateboard park have one scene, while the city streets has many scenes which are connected seamlessly. Any scene only contains the art which can fit in the target hardware’s VRAM. Scenes are connected with transition scenes. Transition scenes use less art than a full scene, so the art for the next scene can be loaded while traveling through the transition scene.
|
|
|||||||||||