150 likes | 285 Views
Wave Wars. Requirements Presentation Équipe Gontran Ltée Mohamed Benmouffok St é phane Côté Pascal Forgues Christopher Tremblay. Presentation Plan. Customer Description / Overview of System Functional Requirements Non-Functional Requirements Algorithms Testing Strategy
E N D
Wave Wars Requirements Presentation Équipe GontranLtée Mohamed Benmouffok Stéphane Côté Pascal Forgues Christopher Tremblay
Presentation Plan • Customer • Description / Overview of System • Functional Requirements • Non-Functional Requirements • Algorithms • Testing Strategy • Questions and Answers
Our Customer • Mr. Haras Mykytyn • Project Manager • Bitflash Corporation
Description / Overview of the Game • 2-player game • Played in real-time • It is not turn-based • Client-server architecture • One player hosts the server and a client • The other player is a client • This client connects to the server to start the game • Each player controls a five-boat fleet • On an sea map • Goal is to seek and destroy all opponent ships
General Functional Requirements UseCaseDiagram
Non-Functional RequirementsKey requirements • Maintainability • Provisions for next version (if there is one) • Multi-player capability (More than 2 pl.) • Boat number flexibility • Weapon and boat selection • Fancier special effects • Cross-Platform abilities • Tested by code and design review sessions
Non-Functional RequirementsKey requirements • Real-time limitations • Rendition and frame rate • 30 frames/sec • Human perception threshold: ~21 frames/sec • 200 000 polygon/sec to make game enjoyable • Network • Client must be able to send and receive at least 1 pkt/sec • If the rate is less than 1, the lag will make the game unusable
Technologies That Will Be Used • Code will be written in C++ • Use of SDL libraries • Media support • Graphics, Sound, User Inputs, Event Handling, Timers, Window Management, Network, Image Loading functionalities • C wrapper that ensures platform independence • Without adding any platform-specific code • In Windows, it wraps the DirectX functionalities • Used in commercial gaming
Technologies That Will Be Used • OpenGL • Low-level 3D rendering graphics engine • Platform-independent • Proven Technology • Used in the industry
Algorithms • High Level Main Loop • Render the sky • Add water to the rendering pipeline • Add the visible objects to the rendering pipeline • Add missile and other objects to the rendering pipeline • Add particles to the rendering pipeline • Render the polygons in the pipeline • Render the UI (radar, number, ...) • Update all the objects’ position according to the physic • Get input from the user and process the actions (include UI) • Send user’s information to the server • Scan for key frame from the server (if it exists, update other players information)
Algorithms • Network statistical action prediction • The clients will try to “guess” what the user will do next which permits a lower network bandwidth and a smoother movement. • Rendering pipeline • The system will send all the polygons to a rendering pipeline which will sort the polygons so that their depth is respected. • It will also cull the invisible surfaces within the frustum (HSR). • Last, it will also apply back face culling. • Collision Detection • Will be using a octree structure (for collision & rendering) • Once a few polygons have been isolated, we’ll use a standard 2 triangle intersection.
Testing Strategy • Traditional unit-component-integration-system testing framework • Unit level • Component level • Integration level • System level • Stress • Maintainability • Functionality • HCI • Random user testing • Customer will try out game
Question Period Q & A