DOC PREVIEW
WVU CS 430 - SOFTWARE REQUIREMENTS SPECIFICATION

This preview shows page 1-2 out of 7 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

SOFTWARE REQUIREMENTS SPECIFICATION1.0 IntroductionThis product, named “Frat Wars” will be a tactical RPG (Role Playing Game) that will feature a battle venue and teams comprised of various subjects that are playable by the user. In terms of design of the product, there will need to be dataelements to build the game, the ability to handle user input from the keyboard or mouse will be integral in processing the field of battle and to promote an overall satisfactory user experience. This will be accomplished by using an open sourcegame engine and building the game onto this existing infrastructure. 1.1 Goals and objectivesThe goal of this project is to successfully build a tactical RPG in which a user may control a team of avatars that execute various commands in a turn based battle system. The objective is to complete production of this software in an efficient and error free manner for implementation. 1.2 Statement of scopeThe product, titled “Frat Wars” will be a tactical RPG that will use existing data within the software to load a battle map based upon collegiate locations within Morgantown. The players will then be loaded on the map and battle will commence. Based upon an artificial intelligence system and user input for the control of the user characters the game will process these commands and subsequently commence the battle until either the user wins or loses. 1.3 Software contextThe overall context of the overall development of the “Frat Wars” game software is to create an interactive experience for a user. In this case the user is going to be a gaming enthusiast that will want to play the game for an entertainment experience. With the “Frat Wars” design the experience will be on that is related to the tactical RPG experience in a collegiate setting. 1.4 Major constraintsThe only major constraint to consider in the design of this project is within the software being used for the game’s development. Since this software will rely on some open source game engine code, then any constraint on development will be based upon the boundaries of the game engine.2.0 Usage scenarioThe usage of this software will be in terms of an interactive gaming experience. There will be a user, the player, which will compete against a computer opponent to fight a battle and win or lose based upon the user’s performance and the AI counterattacks. 2.1 User profilesUser – This would be the only user profile that needs to be considered since this is a single player game that is being developed. Note: In a wider market there would be other users to continue, as with any mainstream game software there are test panels, ratings boards and other governing and marketing bodies that have an impact on development, but this is an abstract case consideration. 3.0 Data Model and Description 3.1 Data DescriptionClass: CameraFunction: rotate (use mouse to rotate around central pivot point)Class: 3dRendererFunction: drawScreenPurpose: draw all 3d elements(board, background, skybox, rectangles for 2 sprites etc)Class: 2dRendererFunctions: DrawWindowPanes, DrawText, SuspendPane, RolloverWindow 3.1.1 Data objectsClass: Unitdata attributes: type(enumerated integer), health(integer), usual RPG statswith details yet to be determined(i.e. strength, speed, range)subclass: Usersubclass: AI3.1.2 RelationshipsAll data is contained internally with the user being the only external actor. As such, no entity-relationship model is necessary.4.0 Functional Model and Description 4.1 Description for RotateCamera 4.1.1 Processing narrative (PSPEC) for RotateCameraMouse clicks throw an interrupt event which then polls for mouse movement. Any mouse movement taking place between the mouseclick interrupt and the mouserelease interrupt is translated into camera a reposition 4.1.2 RotateCamera interface descriptionInput: mouse position, mouserelease interruptOutput: camera position and orientation are passed to DrawFrame()4.2 Description for DrawFrame 4.2.1 Processing narrative (PSPEC) for DrawFrameAny mesh compressed into a drawlist is drawn using SDL render calls and the 3dRenderer class. Next, all other meshes are drawn in the same manner. Lastly, all 2-dimensional entities are processed and drawn using the 2dRenderer class 4.2.2 DrawFrame interface descriptionA detailed description of the input and output interfaces for the function is presented.Input: meshes, textures, and text to be displayed for the userOutput: image data passed to the display device4.3 Description for DrawWindowPaneA detailed description of each software function is presented. Section 4.1 is repeated for each of n functions.4.3.1 Processing narrative (PSPEC) for DrawWindowPaneA WindowPane object is created with parameters pertaining to its position and size.4.4 Description for DrawText 4.4.1 Processing narrative (PSPEC) for DrawTextText data and the pane on which to be drawn are passed to the 2dRenderer 4.4.2 Function n interface descriptionInput: text string, windowpaneOutput: image of a window containing text is passed to the 2dRenderer4.5 Description for SuspendPane 4.5.1 Processing narrative (PSPEC) for SuspendPaneA pane is either removed from memory, or rendered invisible in the event of a reusable pane 4.5.2 SuspendPane interface descriptionInput: windowPane, action(Boolean)Output: updated windowPane data is passed to the 2dRenderer 4.6 Software Interface Description 4.6.1 External machine interfacesn/a 4.6.2 External system interfacesn/a 4.6.3 Human interfaceHuman interaction will involve event-driven keyboard and mouse interaction. No user-customization of keyboard commands will beimplemented. Program output will be displayed through a combination of 2-dimensional and 3-dimensional graphical representations through use of the 2dRenderer and 3dRenderer classes. 4.7 Control flow descriptionProgram control is primarily in control of the user with the exception of state 3 where function calls are made by an AI algorithm which will alter the possible values of various variablesbefore giving control back to the user. All user interaction is ignored during execution of state 3. 5.0 Behavioral Model and Description 5.1 Description for software behaviorAll external events are handled in the form of interrupts as provided by theSDL SDK 5.1.1 EventsKeyboard events: all keys intended for use in the program will throwinterrupts during execution. At the time of the interrupt, the program will poll for the current state before


View Full Document

WVU CS 430 - SOFTWARE REQUIREMENTS SPECIFICATION

Documents in this Course
Lecture

Lecture

28 pages

Design

Design

27 pages

Load more
Download SOFTWARE REQUIREMENTS SPECIFICATION
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view SOFTWARE REQUIREMENTS SPECIFICATION and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view SOFTWARE REQUIREMENTS SPECIFICATION 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?