UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Educational Game System Software Requirements Specification Version 3.0 Long Stretch Software 2006 Page - 1 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Revision History Date Version Description Author 01/Feb/06 0.1 Created and divided the work Thanh 02/Feb/06 0.11 Created content for sections 2.3 and 3.2. Aaron 03/Feb/06 0.12 Incorporated Charles’ and Mindy’s work Mindy, Charles, Thanh 03/Feb/06 03/Feb/06 0.13 0.14 Worked on sections 3.2, 3.3 and 3.5 Additions to sections 2, 3 03/Feb/06 0.15 Reformat, Appendix 03/Feb/06 0.16 More reformatting 03/Feb/06 0.17 03/Feb/06 More reformatting and proof reading 0.18-0.19 Group proof reading 03/Feb/06 0.20 Proof reading / Editing Aaron, Rizwan Jeff, Aaron, Thanh, Rizwan Thanh, Aaron, Jeff, Rizwan, Mindy Thanh, Aaron, Jeff, Rizwan, Mindy Thanh, Aaron, Jeff, Mindy, Rizwan Mindy, Aaron, Jeff, Rizwan, Thanh Rizwan 03/Feb/06 0.21 Proof reading / Editing Jeff 03/Feb/06 1.0 Proof reading / Editing Aaron 08/Feb/06 1.1 Feed back from UCSE UCSE 09/Feb/06 1.1.1 Correction and answer feed back Whole Group 07/Mar/06 1.2 Re construct the requirements into three modules Thanh 08/Mar/06 1.3 Modified appendix section and added change log and negotiation outcomes Some editing of section 3 Aaron 08/Mar/06 1.4 Added functional requirements Thanh 09/Mar/06 1.5 Organized (by importance) and edited requirements Aaron Kaspar Added to and changed all appendices. (Aaron) Editing 09/Mar/06 1.5.1 Edits to document, Checking for Long Stretch Software 2006 Page - 2 Mindy UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 requirements correctness 09/Mar/06 1.5.2 Added requirements to satisfy Negotiation outcomes Aaron 09/Mar/06 1.6 Added use cases and architecture Thanh, Jeff, Rizwan, Mindy, Charles, Scott 09/Mar/06 1.6.1 Added and changed more requirements Aaron 10/Mar/06 1.6.2 Formatting in Appendices. Comments and edits to document Aaron 10/Mar/06 1.6.3 Checking for ambiguity. Comments and edits to document. Mindy 10/Mar/06 1.6.4 Edit user interface requirements. Scott 10/Mar/06 1.6.5 Updating + adding requirements Aaron, Mindy 10/Mar/06 1.6.8 Added appendix section B – 3 Client comments on RS 1.0. Added prototype images. Aaron 11/Mar/06 1.6.9 Proofread, and edited the document for spelling and grammar mistakes and internal conflicts and ambiguities. Added references to the addressed elicitation questions and answers. Added references to the figures in Appendix C. Rizwan, Mindy, Aaron, Scott. 11/Mar/06 1.7 Proofread again for spelling, grammar, inconsistencies and dead references. Rizwan 11/Mar/06 1.7.1 Updated and fixed change log, TOC and references in the document. Aaron 11/Mar/06 1.7.2 Spelling and Grammar Checking Mindy 11/Mar/06 2.0 Finishing touches Aaron 02/Apr/06 2.2 Added “Game Concepts” section Rizwan 02/Apr/06 2.3 Added new/modified prototype screens and explanations for example challenges + puzzles Aaron 02/Apr/06 2.3 Added descriptions to original Mindy Long Stretch Software 2006 Page - 3 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 prototype screens 02/Apr/06 2.3.1 Added/modified requirements related to puzzles/problems. Added glossary, updated game use-cases. Aaron 03/Apr/06 2.3.2 Added/modified functional requirements of the game modules Thanh, Scott, Josh, Jeff 04/Apr/06 2.3.3 Performed partial proofreading Rizwan 04/Apr/06 2.3.4 Finished proofreading all the newly added content. Rizwan 04/Apr/06 Entire documen t Added the final version of RS 3.0 into ReqPro, created traceability matrices Mindy 06/Apr/06 2.4 Addressed outstanding issues from RS 2.1. Editing. Rizwan, Thanh, Scott, Jeff 06/Apr/06 2.4.1 Added outstanding changes to logs. Edited and updated requirements. Changed some requirements from FR to NFR, and updated matrices. Editing. Aaron 06/Apr/06 2.4.2 Added more outstanding changes to logs. Cleared up issues from inspection. editing Jeff 06/Apr/06 3.0 Final touches and editing. Aaron Long Stretch Software 2006 Page - 4 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Executive Summary This document is the Requirements Specification document for the UVic Center for Scholastic Entertainment (UCSE) Educational Game Project. It provides detailed descriptions of the software, user, and hardware interfaces of the system, and includes a detailed description of the user interface for the system. UCSE has chosen Long Stretch Software Developers Inc to design and implement an educational game designed to help students in grades 1 & 2 with Math, English and Problem-Solving skills. The intention of the game is to allow the users to practice their mathematical and English skills in a fun and entertaining manner. It will also be a tool for teachers to evaluate the students. Teachers of the grades 1 and 2 students will use the game to track development in individual students and as a possible marking guide. Teachers will also export relevant data for creating spreadsheets and graphs of individual and group performance. The game will be also be available for home use so that parents of the students are able to see the progress of their child(ren). The objective of the Software Requirements Specification is to provide a summation of the findings thus far in the development stage of the project. It will be treated as a working document and provides a detailed outline of the system from the client's perspective. Long Stretch Software 2006 Page - 5 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Table of Contents Executive Summary 5 1. Introduction 1.1 Purpose 1.2 Scope 1.3 Definitions, Acronyms and Abbreviations 1.4 Glossary 1.5 References 1.6 Overview of Document 9 9 9 9 10 11 11 2. Overall Description 2.1 Product Perspective 2.1.1 System Interfaces 2.1.2 User Interfaces 2.1.3 Hardware Interfaces 2.1.4 Operations 2.2 Game Concepts 2.2.1 Rationale 2.2.2 Characters 2.2.3 Levels and Sections 2.2.4 Game Interfaces 2.2.5 Story and Goal 2.3 User Characteristics 2.4 Constraints 2.5 Assumptions and Dependencies 11 11 11 11 11 12 12 12 12 13 14 14 14 15 15 3. Specific Requirements 3.1 Game module 3.1.1 Game Use Cases 3.1.2 Functional Requirements 3.1.3 Usability requirements 3.1.4 Reliability requirements 3.1.5 Performance requirements 3.1.6 Supportability requirements 3.1.7 Design requirements 3.1.8 Documentation 3.2 Administration module 3.2.1 Administration Use Cases 3.2.2 Functional Requirements 3.2.3 Usability requirements 3.2.4 Reliability requirements 3.2.5 Performance requirements 16 16 16 21 31 31 32 32 32 33 34 34 36 37 37 37 Long Stretch Software 2006 Page - 6 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 4. Version: 3.0 Date: 04/07/06 3.3 Database backend 3.3.1 Database Use Cases 3.3.2 Functional Requirements 3.3.3 Reliability requirements 3.3.4 Performance requirements 3.3.5 Interfaces requirements 3.4 Common requirements 3.4.1 Usability requirements 3.4.2 Design constraints 3.4.3 Hardware Interfaces 3.4.4 Software Interfaces 3.4.5 Licensing Requirements 3.4.6 Legal, Copyright and Other Notices 37 37 39 39 40 40 40 40 40 40 40 41 41 Game Architecture 4.1 Game module (see section 3.1) 4.1.1 Functions 4.1.2 Architecture 4.2 Database module (see section 3.3) 4.3 Administration module (see section 3.2) 41 41 41 41 43 43 Appendix A - Change Logs A - 1 Requirements Added Since RS 2. 0 A - 2 Changed Requirements from RS 2.0 A - 3 Document Changes from RS 2.0 A - 4 Requirements Added Since RS 1. 0 A - 5 Changed Requirements from RS 1.0 A - 6 Document Changes from RS 1.0 44 44 46 47 48 50 50 Appendix B - Outcomes of Client Communication B - 1 Requirements Elicitation (January 23, 2006) B - 2 Requirements Negotiations (March 7, 2006) B - 3 Client comments on RS 1.0 B - 4 Client Comments on - RS 2.0 52 52 53 54 56 Appendix C - Prototype Screens C - 1 Sample Challenges C - 2 Sample Puzzle: C - 3 Screens for Game Module C - 4 Screens for Administration Module 60 60 62 62 65 Appendix D Traceability Matrices D - 1 Requirements vs. Requirements D - 2 Requirements vs. Rationale 67 67 68 Long Stretch Software 2006 Page - 7 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 D - 3 Requirements vs. Test Cases Long Stretch Software 2006 69 Page - 8 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 1. Introduction Long Stretch Software (LSS) will be developing a much needed computer game designed to teach students of Grades 1 and 2 basic Math, English and Problem-Solving skills. The name of the game is “Elementary Quest”. The game will be entertaining yet educational and will allow teachers to track the progress of the students. This document outlines the specific requirements for each module of the system as understood by LSS. 1.1 Purpose This document is a proposal for requirements specification in response to the UVic Center for Scholastic Entertainment’s Request for Proposal posted on January 16, 2005. The LSS team is very excited about the idea of the game and prospects of working on its development. We are also very confident that our level of expertise and experience in the industry will match the sophistication of the game’s requirements. 1.2 Scope The requirements specified in this document will be used for designing all the aspects and components of the game. The document will be updated as the requirements grow and change over the design and development process. 1.3 Definitions, Acronyms and Abbreviations 2x CD ROM - refers to the reading speed of the CD-ROM drive. BA - Business Analyst DirectX - Microsoft’s application programming interface for graphics programming. Eclipse - An IBM IDE ESRB - Entertainment Software Rating Board EULA - End Users License Agreement FTE - Fulltime Equivalent HDD - Hard Disk Drive IDE - Integrated Development Environment IP - Intellectual Property Java - Sun’s Java Language: Provides multi-platform support JRE - Sun’s Java Runtime Environment LSS or LSSD - Long Stretch Software Developers Incorporated Macintosh - Apple’s computer model as well as the operating system that comes along with it. MB - Approximately 1 million bytes of storage space. Mhz - Computer processor speed is measured in hertz; A megahertz is about 1 million hertz. NPC – Non Playable Character. RS - Requirements Specifications RFP - Request for Proposal SME - Subject Matter Expert TCP/IP - Transport Communication Protocol/ Internet Protocol UCSE - UVic Center for Scholastic Entertainment VGA – Video Graphics Array. VGA graphics cards have a minimum resolution of 640 x 480 Long Stretch Software 2006 Page - 9 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 pixels. Windows - Microsoft’s operating system. 1.4 Glossary This glossary contains terms intended to clarify the document for the reader. Throughout the document, glossary terms are linked back to this section. Not all words may be linked, but at least one instance of each word should be linked in each paragraph. Extra note: Because RequisitePro was used, and it applies its own styles to the requirements, some links may not be visible within the requirement statements. challenge: A learning element of the game. Challenges will contain both instructions and a practice question. Challenges are described in section 2.2.3.1, and examples are given in Appendix C - 1. game world: The game world is a made up of a set of levels, and is the overall setting for the story of the game. The game world will not be accessible in its entirety at the beginning of the game; new levels will be unlocked as the player progresses. The game world is introduced in section 2.2. level: A level is a large subsection of the game world, made up of a number (varies by level) of sections. Levels are introduced and explained in section 2.2.3. level map: The map which displays the sections of the current level. The level map is introduced in section 2.2.4.1. non-playable character (NPC): A character in the game that is controlled only by the game system. NPCs as defined here, are not limited only to human-style characters, but could also be monsters or objects. The player will interact with the NPCs in the game which will present the player will challenges. NPCs are introduced in section 2.2.2. puzzle: A puzzle in the context of the game is a learning element, which a player must complete to advance to new sections of the game. Puzzles are explained in section 2.2.3.1 and an example given in Appendix C - 2. scene: A scene refers to what the user sees at a given point in a section, when he/she is able to move his/her character around. That is, a scene is what the user sees when he/she is not currently attempting a challenge or puzzle, and he/she is not looking at the map. section: A section of the game is a sub-division of a game level. New sections of a level are unlocked as the player completes puzzles at the end. Sections are introduced in document section 2.2.3. Long Stretch Software 2006 Page - 10 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 world map: The map which displays the levels of the game world. The world map is introduced in section 2.2.4.1. 1.5 References UVic Center for Scholastic Entertainment (UCSE) Education Game System: Request for Proposal Version 1.0. 1.6 Overview of Document There are four main sections following this introduction: Section 2 will provide an overview of our vision of the system including our perspectives of the game, assumptions of user characteristics and interactions, and some design constraints. Section 3 will detail the requirements that the system will satisfy, as well as provide use-cases to help the understanding of the system. Requirements and use-cases are organized into the modules of the system that they apply to (see section 2.1). 2. Overall Description 2.1 Product Perspective There are three main components of the system: Game module: the game which students will play and learn from. Administration module: administration interface for the teachers to access student records. Database backend: handles the storage of all player and game statistics. These modules are described in detail in the architecture section (section 4) of the document. 2.1.1 System Interfaces The database server will interact with the game and administration clients through a LAN. 2.1.2 User Interfaces The interface for the students will be entertaining and engaging. Menus will be easily accessible throughout the game. Once the game is in playing mode, everything a player/student needs will be clearly visible on the screen and easily accessible. Students will the find the most basic functions of the game fun to play, from character creation to the educational exercises. 2.1.3 Hardware Interfaces The product is required to operate on both Macintosh and Windows systems. As such, the game should be able to adjust to one button mouse input or two button mouse input depending on the system it’s running on. The keyboard will also play an integral role in the student's interaction with the game. Answers to some questions will have to be typed in, and the character movement will be accomplished using either the mouse or the keyboard. Long Stretch Software 2006 Page - 11 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Students’ results will be transferred to and from a server through any standard networking hardware. The graphical content will be at least 256 colors at a resolution of 640x480 and at most 32 million colors with a resolution of 1280x1024. This will allow for the game to be played on older computers commonly found in elementary schools. The amount of graphical content will also be limited to ensure that the total size of the game remains under the 80MB limit. 2.1.4 Operations The game will provide the following minimal operations: It will teach Math, English and Problem Solving skills to grade levels 1 & 2 in an entertaining and engaging manner. See section 3.1.7.2 for more details. It will provide functionality for teachers to track and evaluate student progress. See section 3.2.2 for more details. It will provide user interface and controls for the targeted audience. See sections 3.1.3.1 and 3.1.3.2 for more details. It will provide difficulty levels to cater the skill level of the users. See section 3.1 for more details. 2.2 Game Concepts This section describes the overall concepts behind the game module of the system. The ideas discussed here will be useful in understanding the terms used throughout the use-cases and requirements sections of the document. As mentioned before, the product that is being specified in this document is an educational game. The game can be categorized as an RPG – Role Playing Game. In an RPG, the character moves throughout the game “world” and discovers new things, encounters new challenges, interacts with non-playable characters (NPC), thereby making it a fun and interactive experience for the user. 2.2.1 Rationale The rationale behind making this game an RPG is that the game must create and hold user’s interest on a daily basis for a long period of time (around two years). The challenge of course is to create interesting content for the RPG, as well as provide enough amount of interaction between the user and the game. 2.2.2 Characters The user will be able to choose a character and play the game in the character’s role. The character will be a human child of either male or female gender. The character’s clothes, accessories, skin color, etc. will be customizable. Once the user has chosen a character, he/she will be able to control the character inside the game and make it perform actions such as walking around or solving puzzles, by using the keyboard and mouse. Long Stretch Software 2006 Page - 12 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 The non-playable characters will typically be dragons, dinosaurs, princes and princesses since such characters are of a great interest to the targeted user group. Also, for the purpose of this document, ‘NPC’ also refers to objects which the player can interact with. The main character will interact with the NPCs to learn new concepts, as well as be tested on the concepts he/she has learned. 2.2.3 Levels and Sections The game world will be made up of levels which will increase in difficulty. The user will progress through the game by advancing to higher and higher levels. There will be plenty of levels to keep the user interested in the game for at least two years. The levels will have interesting names to arouse curiosity in users. The levels in turn will have different sections on math, English and problem solving. Throughout each section, the character will acquire new skills, and will be tested on those skills before finishing each section. When the user finishes the final section in a level, he/she will advance to a new level which will have similar sections - just more difficult, as far as educational material is concerned. However, as far as the game play and look and feel of the game are concerned, the sections will have to be original and non-repetitious so as not to bore the player. 2.2.3.1 Challenges (Questions) and Puzzles Within levels and section, the main activities will be challenges, and the transition points between sections (and levels) will be puzzles. Both concepts are introduced below. Challenges will be the instructional and practice elements of the game. The player will encounter challenges through interaction with the NPCs throughout the game. Challenges will be simple, only focusing on a single topic (for example, nouns or addition). The challenge will first provide instructions, and then pose a question to the player to allow them to practice the concept. The questions will be both multiple-choice and text-entry based types. If the player answers incorrectly, a hint will be given, and some possible incorrect options will be removed, and then the player will be able to once more. When the player completes a challenge they will advance or be rewarded with money or items. Puzzles are intended to function as tests in the game. A player will encounter puzzles as he/she progresses through the game. In order for the player to advance to new levels of the game, they will need to complete a puzzle. Unlike challenges, puzzles do not provide the player with detailed instructions or introductions to new concepts; only brief instructions on how to complete the puzzle. This way, a puzzles functions as a test to ensure that the player is learning as he/she advances. An example puzzle is shown in Appendix C - 2. 2.2.3.2 Progress reward During the game play, the player will be rewarded for correctly responding to the challenges or completing puzzles. The points (money) rewarded should correspond to the difficulty level of the challenge or the puzzle. With the reward points (money), the player can buy new items for his/her character or unlock new features of the game. Long Stretch Software 2006 Page - 13 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 The progress reward in terms of money is meant to keep the student interested in the game for a long time. It also reinforces the adventurous characteristics of the game. 2.2.4 Game Interfaces This section describes the look and feel of the game, as well as some of the interfaces that the user will see (i.e. Maps). 2.2.4.1 Maps The user will have access to two different maps: the world map and the level map. The world map will display the levels the user has finished, as well as the levels ahead. The levels ahead will be grayed out, meaning inaccessible to the user. The user will be able to go back to any of the levels he/she has already finished. The level map will work in a similar fashion. It will display all the sections on a particular level, and the sections not yet explored will be inaccessible to the user. The user will be able to go back to any of the sections he/she has already finished. 2.2.4.2 Setting and Scenes The game setting will typically include green landscapes, castles and dungeons based on sections and levels. A level will typically be a landscape or a castle, and each section will be a part of that structure; for example, in case of a level being a landscape, the section will be a small village. An exploration scene will be presented to the user every time the user finishes a section. An exploration scene will have arrows to the sections showing the user to pick a certain path to select a particular section. There maybe more than one section to advance to, after finishing a section, or the user will also be able to go back to the section he/she just finished. 2.2.4.3 Menu and Status bar The game will always display a status bar which will display things such as the current level, and the section the user is in as well as the amount of money the user has earned. The user will also have access to an option menu which will allow user to adjust sound, music and provide access to in-built help system. 2.2.5 Story and Goal The overall story of the game will involve the prince/princess being kidnapped by an evil character. The main character then would go on a rescue campaign, passing hurdles and challenges, gathering hints, defeating the enemies encountered, and rescuing the prince/princess. The goal of the character will be to explore the game, encounter the NPC, learn new skills and pass the challenges (educational puzzles or problems) that the NPC pose, and earn rewards. 2.3 User Characteristics This game is targeted towards children attending Grades 1 and 2. These grades typically correspond to ages ranging from 6 to 8 years. At this stage in school, children are expected to Long Stretch Software 2006 Page - 14 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 have rudimentary reading and math skills. Children in this age range tend to have very short attention spans, and great effort must be put in to maintaining their interest. They also tend to be very curious, and may inadvertently cause problems as a result. Most children likely have had access to computers at home, but this cannot be guaranteed, so some children may not have the computer skills necessary to operate the game without guidance. However, they are generally very good at following patterns and can be taught fairly easily. Starting with ages between 6-8 years, girls and boys show very different characteristics from each other. They will have very different interests and sources of entertainment: a factor that cannot be ignored. Also, girls in this age range tend to be more mentally advanced and developed than their male counterparts. Because the game is intended for in-school use, teachers will be administrating the game, and must also be considered in the development of the game. Teachers represent a much more varied age range and background than children, but it can be assumed that they will have basic computer skills, such as word and spreadsheet processing, e-mail and web browsing. 2.4 Constraints The following constraints are specified in the RFP Version 1.0: Platform independence is necessary since schools may have different computer Operating Systems. Because a lot of schools are using older systems this game should run on a system with these requirements: o Windows 95 and newer: 200 MHz processor, 64MB ram, 80 MB HDD space, Mouse, VGA video card, 2x, or better, speed CD-ROM, DirectX compatible sound card. o Mac OS 7.6 and up: 200 MHz processor, 64 MB ram, 80 MB HDD space, Mouse, VGA video card, 2x, or better, speed CD-ROM, Monitor Requires 640x480, 256 color It will be necessary to test the game on children to ensure that it is entertaining and easy to use. The designers will coordinate with teachers, parents, child entertainers, child psychologists and other educators in the development of the software. This is to ensure that the subject matter and educational material is appropriate for the students. As decided during the negotiations, the game will be rated E for “Everyone” as per standard game ratings. As such, the developers will need to make sure that the game content adheres to ESRB’s E rating specifications. 2.5 Assumptions and Dependencies We assume the following responsibilities from the client during the game development process: Dedicate an FTE business analyst to liaison with our developer team. This person must be able to make decisions regarding changes in the requirements. Throughout the development process, the client will organize meetings and workshops with the target user groups to test the software. In order to finish the project on time, the documentation must be reviewed and signed off within one week of the delivery of our deliverables. The following are the deliverables Long Stretch Software 2006 Page - 15 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 deadlines requested in the RFP 1.0: January 26 January 30 February 6 March 2 March 6 March 10 March 16 April 3 March 30 – April 6 Meeting to discuss RFP RS 1.0 RS 1.1 Prototype Demo Requirements Negotiations RS 2.0 RS 2.1 RS 3.0 Final Demo 3. Specific Requirements In this section, we will specify detailed requirements for the educational game system. Our designers and programmers will design and build the game based on these requirements. The system requirements have been divided into four sections - one for each of the three modules of the system – Game, Administration and Backend – and one for requirements common to the whole project. Requirements are grouped by type under headings within each section (‘3.1.1 Functional Requirements,’ for example). Our testers will work with client BA to implement test cases based on the requirements specified here as well. In this section, each requirement will appear in the order of importance among the requirements of the same section. However, all requirements must be satisfied unless changes are agreed upon by both LSSD and UCSE. In this revision of the document (3.0) we have decided to go into further detail on the requirements for the game module. We feel that this is the most important component of the system, and must be properly defined before the remaining parts are completed. 3.1 Game module 3.1.1 Game Use Cases To thoroughly understand the game modules, we created a list of use cases and created prototypes for the use cases: Use Case 1: Modify Character Actors: Student, the Game Module Purpose: Because the game must be entertaining, the student must be able to make changes to his or her own character in the game. Description: The character stats use case can be accessed at any time during game play by the student and the game will invoke it automatically as the character advances to the next level. The student can then change the appearance of the character and use his/her credit to buy new items such as outfits, armors, accessories, and toys. Long Stretch Software 2006 Page - 16 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Primary Scenario 1.1 Actor Action Student presses character screen button. Version: 3.0 Date: 04/07/06 System Response Game module displays the character screen. See Appendix C - 3.1 . Possible Alternative: See 1.1-3 3. Student Changes a character option (see appendix C - 3.1 for complete list). 4. Game Module updates character image in the display portion of the screen. Possible Alternative: See 1.1-5. 5. Student exits character screen by clicking on the return button. Game Module saves changes to database and loads previous game screen. Alternative Scenario 1.1-3: Student buys an item 3.(a)Student selects item to purchase with play money. 3.(b) Game Module checks for sufficient funds. 3.(c) Game Module makes items available to equip, and informs student of such. Return to Step 4 in primary scenario. Alternative Scenario 1.1-5: Student updates another character option 5.(a)Student changes another character option. Return to Step 4 in primary scenario. Secondary Scenario 1.2 Actor Action Student logs in for the first time. System Response Game module displays the character screen. See figure C - 3.1. Student changes a character option to customize it. 4. Game Module updates character image in the display portion of the screen. Possible Alternative: See 1.2-5. 5. Student exits character screen by clicking on the return button. Long Stretch Software 2006 Page - 17 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Actor Action Version: 3.0 Date: 04/07/06 System Response 6. Game Module saves changes to database and loads previous game screen. Alternative Scenario 1.2-5: Student updates another character option 5.(a)Student changes another character option. Return to Step 4 in secondary scenario. Use Case 2: Explore Maps Actors: Student, the Game Module Purpose: For the student to explore the level map or world map. Description: Each level will have a map contain different sections . The game world will have a map containing the different levels of the game. The student will use the world map to access available levels, and the student will be able to explore the level map to get to the scene to encounter the challenges. Depending on the level map, the student can access the sections randomly or must access the sections in a prescribed order (or some combination). The level map will indicate the areas the student has already explored. When the character enters a section, the game will bring the character into the scene (See Use Case 3). When all sections on the level map are discovered, and the final puzzle has been solved, the game will unlock the next level(s) (see 3.1.2.1.7). Primary Scenario 2.1 Actor Action 1. Student presses world map button. System Response 2. Game module displays the world map screen. See Appendix C - 3.2 . 3. Student picks an available level. Possible Alternative: See 2.1-4. 4. Game Module displays level map for the selected level. See Primary scenario 2.1 Alternative Scenario 2.1-4: Student clicks on unavailable section 4.(a)Game module plays error sound. Return to Step 3 in primary scenario. Secondary Scenario 2.2 Actor Action 1. Student presses level map button. System Response 2. Game module displays the level map screen. See Appendix C - 3.2 . 3. Student picks an available section. Long Stretch Software 2006 Page - 18 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Actor Action Version: 3.0 Date: 04/07/06 System Response Possible Alternative: See 2.1-4. 4. Game Module displays first scene for selected section. Alternative Scenario 2.1-4: Student clicks on unavailable level 4.(a)Game module plays error sound. Return to Step 3 in secondary scenario. Use Case 3: Explore Section Actors: Student, the Game Module Purpose: For student to explore the current section Description: Sections are sub-elements of the game levels, as introduced in section 2.2.3. The visual and story themes of the scene will be related to the current level. The challenges and puzzles in a given section will be of a similar type (e.g. English based, or math based). When student interacts with an NPC, the game will present a challenge to the character (See Use Case 4). When the required challenges for a section have been overcome, the student will encounter a puzzle, which they must complete to finish the section. Primary Scenario 3.1 Actor Action 1. Student presses valid level on the world map screen. System Response 2. Game module displays first section of the selected level. See Appendix C - 3.3. Possible Alternative: See 3.1-3. 3. Student clicks on a direction heading. 4. Game Module loads appropriate scene for the section, based on the player’s current location. Alternative Scenario 3.1-3: Student interacts with an NPC 4.(a)See Use Case 4 Return to Step 3 in primary scenario. Use Case 4: Answer Challenge Actors: Students, the game modules Purpose: This is the main objective of the game. The student will be tested by responding to the challenges. Description: The challenge can be any form of question. Questions will be posed as multiplechoice or text-entry types. The degree of difficulty of the challenge should correspond to the student level. Once the student completes a challenge, the game will bring the student back to Long Stretch Software 2006 Page - 19 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 the current section (See Use Case 3). When the student finishes some challenges, he/she will be rewarded with credit to buy more stuff (See Use Case 1). Student progress will be logged so that he/she doesn’t need to redo challenges even if the game crashes. Primary Scenario 4.1 Actor Action 1. Student encounters a challenge by clicking on a NPC to talk to them. System Response 2. Game module displays a challenge. Challenge question is multiple choice or text-entry. See examples in Appendix C - 1. 3. Student reads the theory and answers the question by selecting a choice from multiple-choice question, or typing a response. 4. Game Module records answer to be either correct or wrong and time stamps it. 5. Game Module informs the student of his answer being correct or incorrect. The student is rewarded. Possible Alternative 4.1-6. 6. Student clicks anywhere to return to the current scene. 7. Game Module loads the previous scene before beginning the challenge. Alternative Scenario 4.1-6: Student got the question wrong. 6.(a)Game Module displays a hint, simplifies the problem (if possible – see 3.1.2.1.2) and asks the student to try again. 6(b1) Student attempts to answer the problem again. Return to Step 4 in primary scenario. Use Case 5: Complete Puzzle Actors: Students, the game modules Purpose: Main objective of the game. The puzzles are used to see if the student can apply what he/she has just learned. Description: When a student reaches the end of a section, they will be posed with a puzzle. The puzzle incorporates the learning objectives of the particular section. No hint is given on the theory behind the puzzle, only about how to solve the puzzle. The degree of difficulty of the Long Stretch Software 2006 Page - 20 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 puzzle should correspond to the current level. Once the student completes the puzzle, the game will bring the student back to the level (or world) map (See Use Case 2) where another possible section (or level) is now unlocked. Student’s progress will be logged so that he/she doesn’t need to redo the puzzle, if they “Give Up” (see alternate scenario 5.1-3) or even if the game crashes. Primary Scenario 5.1 Actor Action 1. Student reaches the end of a section. System Response 2. Game module displays the puzzle for the current section. See Appendix C - 2. Possible Alternative 5.1-3. 3. Student solves puzzle 4. Game Module records result in the database (see 3.1.2.1.5). 5. Game Module congratulates student 6. Student clicks on “Continue” 7. Game Module loads level (or world) map screen with at least one extra scene (or level) on it unlocked (see 3.1.2.1.6 and 3.1.2.1.7) Alternative Scenario 5.1-3: Student is unable to solve puzzle. 3(a)Student clicks on “GIVE UP” button 3.(b)Game Module records the student giving up 3.(b)Game Module loads current section that the student is exploring. The NPCs in the section will present challenges useful in understanding the knowledge required to solve the puzzle. The screen shots of the prototype, which associated with the above use cases can be found in Appendix C. 3.1.2 Functional Requirements Due to time constraints, we have decided to go into detail on the game module functional requirements section, since this is the main component of the system and the other two subsystems’ designs will depend heavily on the design of the game system. 3.1.2.1 The game will teach the student new math and English concepts by presenting them with challenges. Examples of challenges for English and math are in appendix sections C - 1.1 and C - 1.2 respectively. Long Stretch Software 2006 Page - 21 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Rationale: In section 2.0 of the RFP, the primary goal was for the game to teach the student math and English skills. The “Challenges” in the game will accomplish this by providing the student with instructions, then asking him/her a question based on that instruction. Test scenario : 1) The player encounters a challenge (for example by talking to an NPC). Output: The challenge is presented to the player on-screen. 2) The player reads the instructions and attempts to answer the challenge question. Output: The system will either a) congratulate and (if applicable) reward the player for a correct answer, or b) display a hint and simplify (if applicable) the problem if the answer is incorrect. 4) If the answer was correct, the player will continue, if not then they will try again. 3.1.2.1.1 The game will require the student to correctly complete puzzles, in order to advance to the next section of the game. Rationale: These puzzles will teach the student problem solving skills as requested in section 2.0 of the RFP. The puzzles will also serve as tests of the concepts learned through challenges (see 0). An example puzzle is provided in appendix C - 2. This requirement also facilitates the control of educational progress tracking (as requested in section 2.0 of RFP), since the student will only advance once they can apply the concepts they’ve learned. Test scenario : 1) The player encounters a puzzle by reaching the end of a section. Output: The puzzle is presented to the player on-screen. 2) The player attempts to complete the puzzle. Output: if the puzzle is successfully completed, the system advances them to a new section of the game. 3) If the player cannot complete the puzzle they click “Give up” (see use case 5). Output: The player is returned to the current section. 3.1.2.1.2 If a student answers a challenge incorrectly, the game will provide a hint and if applicable, simplify the challenge. Simplification of the challenge would only apply in the case that the question is multiple choice. If the question required a typed answer, only a hint would be applicable. Simplification will never remove all incorrect answers. See appendix C - 1.2 for an example of a simplified challenge. Rationale: This will address the client’s concern that the game not punish the students for failures (see Appendix B - 4.8), since the students will always be able to arrive at the correct answer. Because of the functionality addressed in 3.1.2.1.3, the system will still record the student’s success rate. This also supports requirement 0, by helping the student to learn new Long Stretch Software 2006 Page - 22 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 concepts by example, and to learn from their own mistakes. Test scenario : 1) The player encounters a challenge (for example by talking to an NPC). Output: The challenge is presented to the player on-screen. 2) The player reads the instructions and attempts to answer the challenge question. Output: The system will either a) congratulate and (if applicable) reward the player for a correct answer, or b) display a hint and simplify (if applicable) the problem if the answer is incorrect. 4) If the answer was correct, the player will continue, if not then they will try again. 3.1.2.1.3 When student completes a challenge, the game module will record in the database the number of attempts required for the student to complete the challenge and the final simplified version of the challenge. Rationale: This addresses the client’s request that the system track student progress (see RFP section 2.0), and the data that they requested be tracked (see Appendix B - 1.10). Test Scenario: 1) The player encounters a challenge (for example by talking to an NPC). Output: The challenge is presented to the player on-screen. 2) The player reads the instructions and attempts to answer the challenge question. Output: The system will either a) congratulate and (if applicable) reward the player for a correct answer, or b) display a hint and simplify (if applicable) the problem if the answer is incorrect. 4) If the answer was correct, the player will continue, if not then they will try again. 3.1.2.1.4 The game module will record in the database the total number of times a student “gives up” on a puzzle (see use case scenario 5.1-3, and Appendix C - 2) before completing it, and a description of the skills tested by the puzzle. Rationale: This addresses the client’s request that the system track student progress (see section 2 of RFP and Appendix B - 1.10) including how many correct and incorrect answers they have given. A description of the puzzle is provided, instead of “the question he had wrong with the answer the kid inputted,” as requested, since the puzzles will be visual in nature, making it impossible to store the actual puzzle and answer in the database and progress reports. Test Scenario : 1) The player encounters a puzzle by reaching the end of a section. Output: The puzzle is presented to the player on-screen. 2) The player attempts to complete the puzzle. Output: if the puzzle is successfully completed, the system advances them to a Long Stretch Software 2006 Page - 23 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 new section of the game. 3) If the player cannot complete the puzzle they click “Give up” (see use case 5). Output: The player is returned to the current section, and a database record is incremented to indicate the number of times the student has given up on that puzzle. 3.1.2.1.5 If a student cannot complete a puzzle, and chooses to “give up”, the game will direct the student back into the beginning of the current section, and provide relevant challenges (see 3.1.2.1.1 and Use Case 5) to help. Rationale: This addresses the concern that the clients raised during the prototype demo, which was “[sic.] What happens if a student cannot solve a puzzle?” Test Scenario : 1) The player encounters a puzzle by reaching the end of a section. Output: The puzzle is presented to the player on-screen. 2) The player attempts to complete the puzzle. Output: if the puzzle is successfully completed, the system advances them to a new section of the game. 3) If the player cannot complete the puzzle they click “Give up” (see use case 5). Output: The player is returned to the current section. 3.1.2.1.6 When a student completes the final puzzle in a section, the game will unlock another portion (defined below) of the level and display it on the level map. An unlocked portion of the map will depend on the design of the particular level. Rationale: Unlocking portions of the map will allow the system to control and track student progress (as requested in RFP section 2.0), as well as providing increasing difficulty of learning elements (as requested during elicitation, see Appendix B - 1.3). Unlocking a variable number of sections will allow the student to choose their own path to some extent, thereby making the game more fun (as requested in the RFP). Test Scenario : 1) The player encounters the puzzle in any non-final section of a level. Output: The puzzle is presented to the player on-screen. 2) The player completes the puzzle. Output: The system records that the student has completed the puzzle (as described in 3.1.2.1.4). The level map is displayed with the unlocked sections indicated. 3.1.2.1.7 When a student completes the final puzzle in a level, the game will unlock another portion (defined below) of the world and display it on the world map. An unlocked portion of the map will contain at most three levels, each containing learning elements of equal difficulty. Rationale: Unlocking portions of the map will allow the system to control and track student Long Stretch Software 2006 Page - 24 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 progress (as requested in RFP section 2.0), as well as providing increasing difficulty of learning elements (as requested during elicitation, see Appendix B - 1.3). Unlocking a variable number of levels (up to three) will allow the student to choose their own path to some extent, thereby making the game more fun (as requested in the RFP). Test Scenario: 1) The player encounters the final puzzle in the final section of a level. Output: The puzzle is presented to the player on-screen. 2) The player completes the puzzle. Output: The system records that the student has completed the puzzle (as described in 3.1.2.1.4). The world map is displayed with the unlocked levels indicated. 3.1.2.2 The system will provide in-game tutorials and help. The system is intended for use in classes, so the game will need to provide support for students that need help. A single teacher will not be able to help all students all the time so the game should include an in-game tutorial and a help document. The purpose of the in-game tutorial is to familiarize the student with new navigation elements that appear during the game play. The purpose of the help document is to provide instructions on how to install the game and how to play the game. Tutorial: On screen balloon box. Test basic computer skills as part of the tutorial. Manual: Instruction Guide for Teachers and Administrators for lab environment. Installation Guide and User Guide for parents/home users. 3.1.2.2.1 The system will test basic computer skills as part of a starting tutorial. As part of the creation of a new character, the user will be stepped through a lesson in basic computer skills. It will teach the user how to use the mouse, the keyboard, and view messages on the screen. After the character is created, the tutorial may be skipped on successive game plays. Rationale: As per the client's inspection of RS 1.0 (See appendix B - 3.5). Test Scenario : 1) The player creates a new character. Output: the system has a new account with the specified character name. 2) The game is started in the tutorial area. Output: the system loads the tutorial scene. 3) The player completes the tutorial level. Output: the system informs the player that they have completed the tutorial, and the main game is loaded. 4) The player is now familiar with using the mouse and the keyboard. Long Stretch Software 2006 Page - 25 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 3.1.2.2.2 The system will show on-screen help balloons after hovering the mouse pointer over an object for 2 seconds. In order to facilitate the use of the game and admin modules, every user interface object (such as an “OK” button, ) will have an individual help balloon associated with it. A balloon will include a description of the object and how to use it. To view a help balloon, all the user has to do is leave the cursor over the object for 2 seconds. Rationale: As per the client's inspection of RS 2.0 (see appendix B - 4.2). Test Scenario : 1) The player is on the map screen and doesn't know what to do. 2) The player holds the mouse over the icon for the ‘EasyStreets’ (see appendix C - 3.2) level for two seconds. Output: A help bubble pops up next to the mouse. The bubble explains that pressing the left-mouse button on that icon will take him to “EasyStreets.” 3.1.2.3 The game module must send the student game progress to the database module each time a student completes an objective in the game. Rationale: If the game crashes, the student should not need to restart the level. So the game has to keep track of the game progress after each objective is completed in order to keep the student from getting bored from encountering the same thing again. Test scenario : 1) User encounters and completes a challenge or puzzle. Immediately after, force quit the system. 2) User launches the game, authenticates. Output: The game opens the scene or the map the player used in the previous session. 3.1.2.4 The game module will authenticate the student when the game is launched. Rationale: Because one of the requirements in the RFP is that the teachers and the parents should be able to track individual progress, each student has to authenticate himself/herself each time he or she starts the game. Test scenario : 1) User launches the game Output: System displays prompt for username and password. 2) User enters username and password. Output: If correct combination entered, the game launches and opens the last scene the user was in. If incorrect combination entered, the system displays an error message and re-prompts. 3.1.2.5 The game will entertain and engage the attention of the students. The game must provide a level of entertainment to the student to help keep him/her engaged and Long Stretch Software 2006 Page - 26 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 focused on the game. This is one of the key requirements outlined in section 2.0 of the RFP. 3.1.2.5.1 The system will provide game music and sounds To help provide the user with an entertaining game experience, the game will feature music and sounds that change as the user progresses through the game. 3.1.2.5.1.1 The system will allow game music and sounds to be turned on and off Rationale : To help keep the students game experience positive, the game will play different music and sounds throughout the game. Since the game will be predominantly used in a classroom environment, in-game music and sounds may become distractive to other students. Thus there will be options on the main menu that allow the user to turn on and off the music and sounds. Test Scenario: 1) The user clicks the main menu button. Output: the main menu is displayed 2a) To turn either the music and sounds off, clicks the checkboxes marked ‘Off’ that are next to the words ‘Music’ and ‘Sounds’. Output: If the ‘Off’ checkbox for ‘Music’ is clicked, the music turns off. If the ‘Off’ checkbox for ‘Sounds’ is clicked, the sounds are turned off. 2b) To turn either the music or sounds back on, select the checkboxes marked ‘On’. Output: If the ‘On’ checkbox for ‘Music’ is clicked, the music turns on. If the ‘On’ checkbox for ‘Sounds’ is clicked, the sounds are turned on. 3.1.2.5.1.2 The system will play different music for each level. Rationale: To help make the game more interesting and less repetitive, the background music will change as the user travels from level to level. Test Scenario : 1) On the map screen, the user chooses a destination. Output: The corresponding scene is displayed, and music is played. 2) The user finishes with the scene & clicks the map button. Output: The map is displayed 3) The user chooses a different destination Output: The corresponding scene is displayed, but the music is different from the previous scene. 3.1.2.5.2 The game will allow the user to adjust the properties of his/her character. 3.1.2.5.2.1 The user can buy and sell items for his/her character. Long Stretch Software 2006 Page - 27 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Rationale: To provide a good level of entertainment to the game users, there will be a reward system implemented, that allows the players to use the credits they have gained from correctly answered questions to buy new items for their characters such as clothing, accessories, hair styles and physical appearances. This will encourage the students to try their best to answer and many challenges as possible so that they can accessorize their characters. This will make the game entertaining, as requested in the RFP. An example screenshot is provided in appendix C - 3.1. Test Scenario : 1) The user selects the character customization screen. Output: the character customization screen is displayed 2) The user clicks the ‘Buy’ button. Output: A new screen is displayed allowing the player to scroll through items to purchase. 3) The user chooses an item to purchase and clicks the ‘Buy’ button Output a: If the player has sufficient credits for the item, the character customization screen is displayed, and the new item is shown in the character’s inventory. Output b: If the player does not have sufficient credits for the item, a message is displayed stating that the user does not have enough credits to purchase the item. 4b) The user clicks ‘Ok’ on the insufficient funds message window. Output: The screen showing items to be purchased is again displayed. Return to 3. 3.1.2.5.2.2 The user is allowed to change his/her character’s gender. Rationale: To give the student a more personable feel to the game characters, there is an option to select the gender of the character. This will help the game appeal to all members of the targeted user group outlined in the RFP. An example screenshot is provided in appendix C - 3.1. Test Scenario: 1) The user selects the character customization screen. Output: the character customization screen is displayed 2) The user selects the gender of his/her character by clicking the checkbox marked ‘Boy’ or ‘Girl’ that is next to the ‘Gender’ option. Output: The characters appearance changes to reflect the selected option. 3.1.2.5.2.3 The user can change the appearance of their character Rationale: To allow the user to customize his/her character, the colors of the character can be adjusted. The user can change the color of his/her skin, hair, gloves, shirt, pants, footwear and other accessories. An example screenshot is provided in appendix C - 3.1. Long Stretch Software 2006 Page - 28 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Test Scenario : 1) The user selects the character customization screen. Output: the character customization screen is displayed. 2) The user clicks on the arrow button under the style column, or under the color column. Output: The color and/or style of the item changes to reflect the newly selected color/style. 3) The user clicks the ‘Return’ button Output: The game returns to where it was left off. The appearance of the user’s character is changed as specified. 3.1.2.5.3 The game module will provide in game animations. Rationale: To help keep the user engaged in the game, the game will have allow the user to purchase special animation sequences for characters and display special animation sequences when he/she is rewarded.. 3.1.2.5.3.1 The game will provide character animations. Rationale: Character animations will be used to make the game characters feel more interactive by allowing the user to purchase and use character animations. As examples, such animations may include dancing, arm pumping and thumbs up. Animations will be acquired by similar methods used to purchase clothing as described in section 3.1.2.5.2.1. These animations will server to entertain the user and make the game more fun, addressing one of the major goals outlined in RFP section 2.0. Test Scenario: 1) The user selects the character customization screen. Output: the character customization screen is displayed. 2) From there, the user selects the ‘Arm Pumping’ animation. Output: The system updates the characters selected animation. 3) The user presses the character animation key Output: The character executes the arm pumping animation. 3.1.2.5.3.2 The game will provide reward animations Rationale: To help reward students for getting corrects answers, reward animations will be displayed periodically as the student correctly answers challenges. Examples of such animations may include fireworks or dancing clouds. This will entertain the user while playing the game (as requested in section 2.0 of RFP). Test Scenario : Long Stretch Software 2006 Page - 29 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 1) The user correctly answers a number of challenges. Output: After a certain number of correct answers, the system displays a reward animation such as fireworks or dancing clouds. 3.1.2.5.4 The game will provide a monetary credit system Rationale: To help provide a level of interest to the user, there will be a reward system in the form of game credits that is accumulated as the user correctly answers questions. These credits will be separate from the score that is submitted to the Administration Module. The credits are used to upgrade the user’s character. This encourages the user to correctly answer as many questions as possible so that they will have a better character. Test Scenario: 1) The user answers a question correctly. Output: the system increases the amount of credits for the character, and the credit display is updated accordingly. 3.1.2.6 The game installation will vary(defined below) depending on whether it is a school installation or home installation: For the home installation, no database configuration is necessary - progress will be stored locally on the computer running the game. For the school installation, two database setup options are provided: (1) create a new DB from scratch using built-in scripts, or (2) choose from a list of existing databases detected by the install program. In addition to the school/home installation options, the setup program will allow the user to choose either a full installation or a minimal installation (See also Section 3.1.5.1): The minimal installation option is geared towards computers with limited hard drive space. Instead of copying the game audio to the hard drive, it will be streamed from the game CD during play (requiring that the CD content be accessible either locally or via LAN). The full installation on the other hand will install the entire content of the CD to the computer hard drive. This will help the game load faster but will require more disk space. Regardless of the setup type, the game will automatically configure itself using the best settings for the detected hardware (although options are available in-game to make changes to these settings if necessary). Rationale: 1) RFP section 4: "Parents will use the game to track the development of their child/children at home in the same way as teachers do at school. Parents will also be installing the game on home computers." 2) RFP section 6: "2. Because a lot of schools are using older systems this game should run on a system with these requirements: - Windows 95 and newer: Pentium 60, 16 MB ram, 80 MB HDD space, Mouse, Long Stretch Software 2006 Page - 30 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 SVGA video card, 2x, or better, speed CD-ROM, DirectX compatible sound card - Mac OS 7.6 and up: 16 MB ram, 80 MB HDD space, Mouse, SVGA video card, 2x, or better, speed CD-ROM, Monitor Requires 640x480, 256 color." 3) RS1.1 Comments: - full/limited install options (section 3.2.2) 4) RS2.1 Comments: ”2.1.3 Hardware Interfaces. The graphical content will be at most 256 colors at a resolution of 640x480.” This is not necessarily true as we don't want to limit newer hardware to this resolution and color. It should be possible to adjust the resolution which will allow for game play at a range of possible resolutions from 640x480 to 1280x1024. That will provide the ability to run the game on a wide range of hardware. Test scenario : 1) There will be two deliverables: a lab version and a home version. 2) Run either of the two versions’ installation program Output: Given two options: full installation and partial installation. 3.1.3 Usability requirements 3.1.3.1 The system will provide a user interface similar to those found in other children’s games. The user interfaces for the game itself (including load screens, and in-game menus) will be similar to those found in other children’s games. “Similar” here refers to how the menu is accessed, its appearance and how it reacts to input. Menus will also use animations and colors to attract and maintain attention to important items. The game interface will be tested alongside other children’s games to ensure that the interface is usable. See Appendix C for examples of the interface. 3.1.3.2 User interface and controls that are simple enough for grades 1 and 2 The controls and menus in the game will be basic and easy to understand. Pop-ups will explain the use of a button, or any other user interface functions. 3.1.4 Reliability requirements 3.1.4.1 Student progress automatically saved to database when goals are completed. In the case of a system failure, students should not be required to repeat material that they have already learned. 3.1.4.2 The game module will be able to operate 99% of the time when launched. There is a potential for errors relating to the state of the operating system that could prevent the game from launching (for example not enough resources available, etc.). The chance of such an occurrence is at most 1%. Long Stretch Software 2006 Page - 31 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 3.1.5 Performance requirements 3.1.5.1 The game will offer two installation modes – full and partial install. The partial installation of the game will require the game CD to function, whereas the full installation will be standalone. This satisfies hardware requirements specified in the RFP as well as the client’s request (see Section B - 1.6) that a full install be available. 3.1.5.2 The game will occupy at most 80MB of hard disk space for the partial install. 3.1.5.3 The game will run smoothly on a computer with minimum system requirements of a 200 MHz processor, 64MB of RAM and 2x CD-ROM drive or greater Note that this requirement was changed from the RFP as the result of the negotiation session (See Appendix B - 2). 3.1.5.4 Maximum time from launching the game until it is playable will be 5 minutes, but average time over all supported systems will be less than 2 minutes. After the application is launched, it will take fewer than 5 minutes for the player to load their data and begin playing the game from where they last left off, on every supported system. To address concerns that this load time is too long (See Appendix B - 2), LSSD will ensure that the average load time over all supported systems is less than 2 minutes. This will help to ensure that children do not lose interest while the game is being loaded. 3.1.5.5 Expected uptime will be 97% The game itself will be able to run for at least 3 consecutive hours, 97% of the time. 3.1.6 Supportability requirements 3.1.6.1 The game will run on multiple computer platforms (specified below). The game will be supported by a Windows 95 or higher, or a Mac OS 7.6 or higher operating systems. 3.1.6.2 The game will be upgradeable by the users (teachers or parents) after installation, using install packages provided by LSSD. Future releases will be easy to install using a standalone installation package. Types of upgrades could include expansion packs that offer new story content and maps, or patches to resolve bugs found once the game is in production.. 3.1.6.3 The game will not require regular maintenance. As the game will be deployed in a large scale, once installed, the game itself should not need to be maintained at scheduled intervals. However, problems from the host computer of the game might prevent the game from functioning properly. In such an event, maintenance is still required. 3.1.7 Design requirements 3.1.7.1 The completed game will have an ESRB rating of ‘E’. As discussed during Requirement Negotiations (see B - 2), to ensure that the content of the game is appropriate for children, the game must receive an ESRB rating of ‘E’. Details about this rating can be found at http://www.esrb.org/esrbratings_guide.asp. Long Stretch Software 2006 Page - 32 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 3.1.7.2 In order to be entertaining, the game will engage the student in a story line. The RFP states that the game should be entertaining. In order to entertain the student, the game module should engage the student in a story line. The designer should work with the UCSE’s business liaison to come up with a sound story line. For our prototype purpose, we came up with a story line which is discussed in section 2.2 Game Concepts. After the child has entered a building to “explore,” they will be approached by little monsters with a word problem or math problem depending on the world that he/she is in. In order to eliminate the monster, the student has to answer the question correctly. If the student answers the question correctly then they will be given money so they can buy accessories for their character. At the end of each level the student encounters a difficult “boss monster”. In order for the student to get to the next level of the game the student has to beat the head boss monster by solving a difficult puzzle. As the level of difficulty gets higher, the questions are harder and the difficulty of the puzzle increases. If the student is unable to beat the “boss monster” by solving the puzzle then check points are created in the level that the student was in. The student has to then restart the level at the checkpoint and retry solving the puzzle. The game will go up to one level of difficulty higher than what grade 2 students are taught at in the classroom. This difficulty level will be based on the in-class curriculum. 3.1.7.3 All game content will be interesting for boys and girls. As discussed during Requirement Negotiations (see Appendix B - 2.4), the game content will not be specific to one gender, as to make the game interesting and fun for both boys and girls. 3.1.8 Documentation 3.1.8.1 The game will be accompanied with user guides and tutorial both as in game help and hard copy. Online user guide and tutorial will be available for the game upon completion and delivery. The documentation will be part of the game and also as hard copy accompanied with the game packages (See section 3.1.2.1.1). The game will also come with built in help files and tutorials for game play. 3.1.8.2 The system will provide an instruction guide in both electronic and paper formats for teachers. The system will ship with an included guide for teachers. The guide will have instructions on how to install the admin module, the game module, and how to use the admin module to create and monitor student accounts.As per the client's inspection of RS 2.0 (see Appendix B - 4.3) Long Stretch Software 2006 Page - 33 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 3.1.8.3 The system will include an instruction guide in both paper and electronic versions for parents. The system will ship with an included guide for parents. The guide will have instructions on how to install the game module on a home computer and start a new game. As per the client's inspection of RS 2.0 (see Appendix B - 4.3). 3.2 Administration module 3.2.1 Administration Use Cases All of the functional requirements are based on the following line on the RFP: “Teachers of grades 1 and 2 will use the game to track development in individual students and as a possible marking guide. Teachers will also export relevant data for creating spreadsheets and graphs of individual and group performance.” To study the requirement for this module, we designed the following use cases: Use Case 6: Manage student accounts (create/edit/delete) Actors: Teachers, the administration module Purpose: Teachers must be able to create and manage accounts for their students as specified in the RFP. Description: When the teacher logs into the Administration system, they are presented with a main screen that provides options to create, edit, and/or delete student user accounts for the game. Primary Scenario 6.1 Actor Action 1. Teacher logs in. System Response 2. The main administration screen is displayed. See Appendix C - 4.1. Possible Alternatives 6.1-3a, 6.1-3b. 3. Teacher clicks the Create button 4. A window is displayed prompting the teacher to enter the username and password and other information such as first name, last name, grade level for the student. Possible Alternative 6.1-5c 5. Teacher types in the enter the username and password and other information such as first name, last name, grade and clicks Ok 6. The student account is created, changed, or deleted from the database. Long Stretch Software 2006 Page - 34 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Alternative Scenario 6.1-3a: Teacher chooses to edit an existing student account. 3(a) Teacher clicks the Edit button 4(a) A window is displayed prompting to teacher to select an existing account from a drop down list, and enter any changes in the space provided. Return to Step 5 in primary scenario. Alternative Scenario 6.1-3b: Teacher chooses to delete an existing student account. 3(b) Teacher clicks the Delete button 4(b) A window is displayed prompting the teacher to select an existing account from a drop down list. 5(b) Teacher clicks the Delete button Return to Step 6 in primary scenario. Alternative Scenario 6.1-5c: Teacher chooses to cancel the action. 5(c) Teacher clicks the Cancel button 6(c) No changes are made and the teacher is returned to the main screen. Use Case 7: Export Student Progress (create/edit/delete) Actors: Teachers, the Administration module. Purpose: Teachers must be able to export student progress for analysis. Description: When the teacher logs into the Administration system, they are presented with a main screen that provides options to export progress for a single student, or for all students. The student progress info can be exported as a comma delimited text file, or as an excel spreadsheet. The only information can be imported and exported are those that is related to the student progress (level, score, question answered) not the game play experience elements such as character or items. Primary Scenario 7.1 Actor Action 1. Teacher logs in. System Response 2. The main Administration screen is displayed. See figure C - 4.1 . Possible Alternative 7.1-3a 3. Teacher clicks the Single Student button 4. A window is displayed prompting the teacher to select a student from a drop down list. Long Stretch Software 2006 Page - 35 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Actor Action Possible Alternative 7.1-5b 5. Teacher selects the student and clicks Export Version: 3.0 Date: 04/07/06 System Response 6. A Save As dialog appears allowing the teacher to save the progress information in either text or excel format. Alternative Scenario 7.1-3a: Teacher chooses to export the progress of all students. 3(a) Teacher clicks the All Students button Return to Step 6 in primary scenario. Alternative Scenario 7.1-5b: Teacher chooses to cancel the action. 5(b) Teacher clicks the Cancel button 6(b) No progress information is saved, and the teacher is returned to the main screen. For each use case, we created a prototype. You can find the screenshots from the prototypes in Appendix C - 4. 3.2.2 Functional Requirements After inspecting the use cases and the prototype carefully, we came up with the following functional requirements for the Administration module. 3.2.2.1 The administration module will generate reports of student progress. The reports generated will allow the teacher to track the student’s learning progress. The reports will include student results for each type of problem (math, English and problem solving), as well as the time spent playing and their current progress level (as specified on the RFP). 3.2.2.2 The administration module will export report data (3.2.2.1) to Excel documents and comma separated text documents. The system provides export to Excel documents so that teachers can use a familiar program, as requested in section 5 of UCSE’s RFP. Comma separated text document exports provide portability because they can be read by any computer, as requested in negotiation section (see Appendix B - 2.7). 3.2.2.3 The administration module will administrate the student accounts. In order for the teacher to manage the student profiles, the teacher will be able to administrate, (add, delete, modify), the student accounts by using this function of the administration module. Long Stretch Software 2006 Page - 36 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 3.2.2.4 The administration module will import student data from Excel and comma separated files. The teacher can import student data (game statistics, and user information) from Excel files or comma separated text files, provided that the files are in the correct format. This satisfies a request made by the clients during negotiations (see Appendix B - 2.7). 3.2.2.5 The administration module will provide help for each function of the module. The system will provide support for teachers with varying amounts of computer skills; by supplying a help module for everything they are able to do using the administration module. 3.2.2.6 The administration module will authenticate the teacher or the administrator before they can use the module. Before the teacher or administrator can use the module, they have to log in using a pair of username and password. The module must check the authenticity of the username and password. 3.2.3 Usability requirements 3.2.3.1 Familiar user interface provided for teachers The interface for queries will be similar to a web-browser, with regards to navigation and file access. Navigation will use clickable text similar to links as well as forward and back buttons. Responses to system queries should be able to be exported to Office (i.e. Excel) formatted documents or comma separated text files (requirement 3.2.2.2), providing a familiar interface for data manipulation (see section Appendix B - 2.5). 3.2.4 Reliability requirements 3.2.4.1 Expected uptime will be 95% The admin module will be able to run for at least three consecutive hours, 95% of the time. This should be reliable enough for the teacher interaction with the system. 3.2.5 Performance requirements 3.2.5.1 The administration module will occupy at most 80MB of hard drive space. See the rationale in the next requirement. 3.2.5.2 The administration module will run smoothly on a system having a 200 MHz processor and 64MB of ram, or better specifications. The RFP did not specify the hardware requirement for the Administration module. However, we will use the same hardware requirements used for the game, since it should be able to be run on the same hardware. See section 3.1.5.2 and 3.1.5.3 for the game module requirement. 3.3 Database backend 3.3.1 Database Use Cases 3.3.1.1 We used a similar technique to determine the functional requirements for the database backend: create the user cases and carefully study them. The following are the Long Stretch Software 2006 Page - 37 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 use cases for the database backend: Use Case 8: Store data in database Actors: The game module, the database module Purpose: Send information to the database so the student’s progress is stored. Overview: This use case is invoked by the game module. The game will send results of an interaction with a student to the database module. The database module will store these results. Primary Scenario 1.1 Actor Action System Response 1. Game module sends results to database. Possible Alternative: See 1.1-2 2. Database stores results. Alternative Scenario 1.1-2: Error occurs, results not stored. 2.(a) Database sends error message to game module. 2.(b) Game module retries sending results. Return to step 2 in primary scenario. Use Case 8: Retrieve data from database Actors: The Administration module, the database module Purpose: Retrieve information from the database so a student’s progress can be viewed. Overview: This use case is invoked by the admin module. The administration module will retrieve information from the database module. The administration module will display this information. Primary Scenario 1.2 Actor Action 1. Administration module information from database. System Response requests Possible Alternative: See 1.2-2 2. Database sends information administration module. Possible Alternative: See 1.2-2(b) 3. Administration information. module receives Alternative Scenario 1.1-2: Error occurs, results not stored. Long Stretch Software 2006 Page - 38 to UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 2.(a) Database sends error message to administration module. 2.(b) Administration information request. module retries Return to step 2 in primary scenario. 3.3.2 Functional Requirements 3.3.2.1 The database will collect the game progress of each student. During the time the student is playing the game, if the student data changes, for example if the student answers a question correctly, the game module will send the changes to the database module. The database module should be able to update the data and keep track of the changes. See section 3.1.2.3 for more information on this requirement from the game module. 3.3.2.2 The database will authenticate the student every time he/she starts a session on the game module. Each time a student starts a game, he/she will need to authenticate himself/herself. The database should store authentication information and be able to authenticate the users. See section 3.1.2.3. 3.3.2.3 The database will be able to authenticate the teacher from the Administration module. Similar to the game module, the Administration module will also require the teacher to authenticate each time they log into the module. The database should store authentication information and be able to authenticate the users. See section 3.2.2.6. 3.3.2.4 The database will answer data query from the Administration module. The Administration module will query the database for game statistics. The database should be able to answer those queries. See section 3.2.2.1. 3.3.2.5 The database will maintain information for a minimum of one year. The clients requested (see Appendix B - 2.6), that information in the database be retained for one year for access through the Administration module. 3.3.3 Reliability requirements 3.3.3.1 Expected system uptime will be 95%. The back-end database should be able to support up to 100 connections of the game clients, 95% of the time. 3.3.3.2 The system will not be erroneous due to unexpected input. The database will be able to handle all sorts of input and be immune to side effects cause by undesirable inputs (such as buffer overflow), which could potentially create security holes in the system. 3.3.3.3 The system will maintain network security. The software will employ appropriate network security protocols to ensure that it doesn’t create network security problems. As per the negotiations (see Appendix B - 2.8), security is not a high Long Stretch Software 2006 Page - 39 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 priority so only the minimal security requirements will be met for the system. This includes firewalls and encryption for sensitive information. 3.3.4 Performance requirements 3.3.4.1 The database will be able to support up to 10000 concurrent connections from the game modules and up to 100 concurrent connections from the Administration modules. 3.3.5 Interfaces requirements 3.3.5.1 The Administrator will be able to interface with the database module. Apart from being able to communicate with the game module and the Administration module, the database must have its own interface so the Administrator and manipulate data and perform backup operations directly. 3.4 Common requirements 3.4.1 Usability requirements 3.4.1.1 Long Stretch Software will work with SME’s to ensure that the system will be usable by all parties We will collaborate with teachers, child psychologists and other educators, as well as children to ensure that the system will be useable for people of all experience levels. 3.4.2 Design constraints Analyzing the first requirement elicitation log and the RFP 1.0, LSS will assume the following design constraints. 3.4.2.1 Software development language LSS will use different software languages during the prototyping, design and testing phases such as Prolog to generate test cases or ML to model some search algorithms. However, the deliverable software will be written in: Client software: Java on JRE 1.5 compatible. Administration module: Java on JRE 1.5 compatible. Database: Standard SQL. 3.4.2.2 Development tools Different departments at LSS will use different development tools. In general, we will use Eclipse IDE for software development Our build system is running on a UNIX platform. Our tests will perform on Mac OS and Windows environments. 3.4.3 Hardware Interfaces The gaming software does not require any additional or specialized hardware in order to operate. Existing hardware such as keyboard and mouse will be the only hardware required for input to the game. 3.4.4 Software Interfaces The gaming, Administration and database components of the software will communicate securely via a local network. All connections will be adequately encrypted, while still meeting Long Stretch Software 2006 Page - 40 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 the performance requirements. 3.4.5 Licensing Requirements At this point, LSS believes that there is nothing to license. However, our sound engineer will work with your BA to see if there are any special background musicals or sound effects that are needed. 3.4.6 Legal, Copyright and Other Notices Upon the release of the software, an EULA must be developed by UCSE to specify legal agreement between the user and UCSE. LSSD will not be a liable party in this EULA or in any legal document regarding the use of the software. LSS will only by liable as a contractor to develop the software and will fulfill its legal requirements. All software components that are part of the LSSD existing software repository, and are used in the game will remain as LSSD’s intellectual property (IP). LSS reserves all rights concerning the use, distribution, and disclosure of such work. Works developed exclusively for this software will become UCSE’s IP. 4. Game Architecture As mentioned in section 2, there are three main components in this game system: The Game Module The Database Module The Administration Module Depending on the designer constraints, the designer team will create different sub-components for these modules. The overall architect, however, should abide by the description given in this section. 4.1 Game module (see section 3.1) 4.1.1 Functions The game module interacts with the user and provides the user a game play experience as specified in the RFP and in section 3.1. It contains exploration maps, levels, puzzles and challenges and other game elements (see section 2.2) which provide the game play experience to the student. As part of the game play experience, it also allows the user to accessorize and select and edit the character (see appendix C - 3.1 for example interface). The game module will also authenticate the user. In order to accomplish this, it must retrieve the user authentication data from the database module and validate it. The game module will also keep track of user score and progress. It stores and retrieves this information in the database (database module). 4.1.2 Architecture The following figure shows a proposed architecture for the game module in a form of a class diagram following by a brief description of the functionality of each class: Long Stretch Software 2006 Page - 41 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 4.1.2.1 Graphics This class is the interface to the student. It does all of the graphic rendering and handle all of the input/output of the game. 4.1.2.2 Sound This class will handle all of the sound and music of the game. 4.1.2.3 Game This class is the main class in the business layer of the game module. It will contain all of the other classes in the business layer such as Student class, Map class. It will handle all of the interaction between the other classes to keep the game logic right through out the game experience. 4.1.2.4 Student This class represents the user of the game module (the student). It contains the entire traceable attribute of the student such as the state of the character, the score, and the progress. It will interface with the database module to save the changes. 4.1.2.5 Map This class represents the maps of the game. For more information about the map, please see the section about the game concepts in Section 2. Long Stretch Software 2006 Page - 42 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 4.1.2.6 Scene This class represents the scenes of the game. For more information about the scenes, please see the section about the game concepts in Section 2. 4.1.2.7 Question This class represents the questions in the game. For more information about questions, please see the section about the game concepts in Section 2. Instance of this class will have a question and the appropriate answers. 4.1.2.8 Puzzle Puzzle is an another type of challenge in the game. For more information about the puzzle, please see the section about the game concept in Section 2. 4.2 Database module (see section 3.3) The database module stores score and progress data for the users. It provides access to this data to the game module and the administration module. The database module also stores users’ general information and authentication information as entered by the teacher or administrator. It provides access to this data to the game module and the administration module. 4.3 Administration module (see section 3.2) The administration module authenticates the administrator. It retrieves the Administration authentication data from the database module and validates it in order to accomplish this. The administration module allows the administrator to add/edit/remove users from the database (See section 4.2 Database Module). The administration module generates scores and progress reports by retrieving data from the database. It can also export these reports to other formats. The administration module can import reports and can then extract and validate the data from the reports and store it into the database. Long Stretch Software 2006 Page - 43 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Appendix A - Change Logs A - 1 Requirements Added Since RS 2. 0 This section lists all requirements that are new to this version of the RS, and the rationale for their addition. Requirement Number 3.1.2.1 3.1.2.1.1 3.1.2.1.2 Rationale for Addition Source The game will require the student to correctly complete puzzles, in order to advance to the next section of the game. The game will require the student to correctly complete puzzles, in order to advance to the next section of the game. If a student answers a challenge incorrectly, the game will provide a hint and if applicable, simplify the challenge. This requirement was the result of splitting up requirement 3.1.2.3 in RS 2.0. Section 2.0 of the RFP 02/04/06 This requirement was the result of splitting up requirement 3.1.2.3 in RS 2.0. Section 2.0 of the RFP 02/04/06 The client does not want students to be punished for incorrect answers to challenges, so challenges will be simplified if a student is unable to answer correctly. This will also help the student to grasp new concepts by example. The clients requested that the game track student progress. This requirement details the data which will be tracked for answers to challenges. Inspection of RS 2.0. See appendix B 4.8 02/04/06 See RFP section 2, and elicitation results (Appendix B - 1.10) See RFP section 2, and elicitation results (Appendix B - 1.10) Prototype demo. 02/04/06 3.1.2.1.3 When student completes a challenge, the game module will record in the database the number of attempts required for the student to complete the challenge and the final simplified version of the challenge. 3.1.2.1.4 The game module will record in the database the total number of times a student “gives up” on a puzzle (see use case scenario 5.1-3, and Appendix C - 2) before completing it, and a description of the skills tested by the puzzle. If a student cannot complete a puzzle, and chooses to “give up”, the game will direct the student back into the beginning of the current section, and provide relevant challenges (see 3.1.2.1.1 and Use Case 5) to help. When a student completes the final puzzle in a section, the game will 3.1.2.1.5 3.1.2.1.6 Date Requirement The clients requested that the game track student progress. This requirement details the data which will be tracked for answers to puzzles. This addresses a concern that the clients raised during the prototype demo, which was “[sic.] What happens if a student cannot solve a puzzle?” The clients have requested progress tracking and Long Stretch Software 2006 Appendix A - 44 (dd/mm/yyyy) 03/04/06 03/04/06 03/04/06 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Requirement Number Version: 3.0 Date: 04/07/06 Requirement Rationale for Addition unlock another portion (defined below) of the level and display it on the level map. difficulty levels. This requirement formalizes how the game module will accomplish this between sections. The clients have requested progress tracking and difficulty levels. This requirement formalizes how the game module will accomplish this between levels. This super-requirement was added to explicitly address the functions of the game that would make it interesting and engaging. This requirement was added to provide more detail about how the game will entertain & engage the attention of the students This requirement provides more detail about the game music and sounds (see above) 3.1.2.1.7 When a student completes the final puzzle in a level, the game will unlock another portion (defined below) of the world and display it on the world map. 3.1.2.5 The game will entertain and engage the attention of the students. 3.1.2.5.1 The system will provide game music and sounds 3.1.2.5.1.1 The system will allow game music and sounds to be turned on and off 3.1.2.5.1.2 The system will play different music for each level. This requirement provides more detail about the game music and sounds (see above) 3.1.2.5.2 The game will allow the user to adjust the properties of his/her character. 3.1.2.5.2.1 The user can buy and sell items for his/her character. 3.1.2.5.2.2 The user is allowed to change his/her character’s gender. 3.1.2.5.2.3 The user can change the appearance of their character 3.1.2.5.3 The game module will provide in game animations. This formally explains how the system will address the client request that the game be entertaining and engaging. To enhance entertainment and engagement of the user as requested by the clients This was added to explain how the system will appeal to all members of the target audience. Again, this was added to address how the system will engage the users. Again, this was added to address how the system will engage the users. Long Stretch Software 2006 Source Date (dd/mm/yyyy) See RFP section 2.0 and elicitation result in Appendix B - 1.3 See RFP section 2.0 03/04/06 See RFP section 2 requirement 2 04/04/06 See RFP section 2 requirement 2 See RFP section 2 requirement 2 RFP section 2.0 04/04/06 RFP section 2.0 04/04/06 RFP 04/04/06 RFP section 2.0 04/04/06 RFP section 2.0 05/05/06 Appendix A - 45 04/04/06 04/04/06 04/04/06 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Requirement Number 3.1.2.5.3.1 Rationale for Addition Source The game will provide character animations. Again, this was added to address how the system will engage the users. Again, this was added to address how the system will engage the users. The formal definition fo the reward system indicates how the system will keep the users motivated and entertained. This requirement from RS 1.0 still needed clarification. The clients requested more clarification in RS 1.1, but it was not fully addressed in RS 2.0. The clients requested clarification of the help which would be provided for the students while playing the game. The clients requested clarification of the help documentation. They wanted documentation for teachers RFP section 2.0 05/05/06 RFP section 2.0 05/05/06 RFP section 2.0 05/05/06 B - 3.5 05/04/06 Inspection of RS 2.0 – see appendix B 4.2 05/04/06 RS 2.0 – See appendix B 4.3 05/04/06 The clients requested clarification of the help documentation. They wanted documentation for parents RS 2.0 – See appendix B 4.3 05/04/06 The clients requested that the game be playable both at school and at home, but requested clarification on how this would be achieved since the database would not be available at home. See RS 2.1 feedback in appendix section B 4.10 06/04/06 The game will provide reward animations 3.1.2.5.4 The game will provide a monetary credit system 3.1.2.2.1 The system will test basic computer skills as part of a starting tutorial. 3.1.2.2.2 The system will show on-screen help balloons after hovering the mouse pointer over an object for 2 seconds. 3.1.8.2 The system will provide an instruction guide in both electronic and paper formats for teachers. Error! Reference source not found. The system will include an instruction guide in both paper and electronic versions for parents.Error! Reference source not found. The game installation will vary(defined below) depending on whether it is a school installation or home installation: 3.1.2.6 Date Requirement 3.1.2.5.3.2 3.1.8.3 Version: 3.0 Date: 04/07/06 (dd/mm/yyyy) A - 2 Changed Requirements from RS 2.0 This section lists all requirements that have been changed from RS 2.0, and the rationale for the change. Requirement’s Number in: RS 2.0 RS 3.0 Date: Description of Change Rationale for Change Long Stretch Software 2006 Source Appendix A - 46 (dd/mm/yy yy) UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 3.1.2.3 3.1.2.1 .1 This requirement was removed and split up into multiple sub requirements The requirement as stated in RS2.0 was ambiguous and was made up of 2 more specific requirements. As suggest by the consultant Irwin Kwan. (marking of RS 2.0) RS 2.0 comments. Appendix B234 RS 2.0 comments. Appendix B234 01/04/06 Use Case 4 Use case 4 Clients requested text-based questions in comments. Use Case 4 Use Case 4 3.1.2.2 3.1.2.2 The use case was updated so that the system presents multiplechoice or text entry type question. The use case was updated so that if the student enters an incorrect response, the system will provide a hint and simplify the problem. This requirement was split into several sub-requirements As suggest by the consultant Irwin Kwan RS 2.1 04/04/06 2.1.3 2.1.3 Usecas e6 Usecas e7 3.1.5.5 Usecas e6 Usecas e7 3.1.5.5 3.1.7.2 3.1.7.2 Address RS 2.1 feedback from the clients Address RS 2.1 feedback from the clients Address RS 2.1 feedback from the clients Address RS 2.1 feedback from the clients Address RS 2.1 feedback from the clients 3.1.7.2 3.1.7.2 3.1.6.2 3.1.6.2 Changed color and resolution requirement Changed required student information Clarified what information can be imported or exported Increase uptime requirement from %95 to 97% Removed taking away money from player for answering wrong question. Removed redundant information which has already been stated in Section 2.2 Game Concepts. The requirement was clarified to show exactly who would be doing the upgrades. RS 2.1 06/04/06 RS 2.1 06/04/06 RS 2.1 06/04/06 RS 2.1 06/04/06 Removed because of redundancy RS 3.0 06/04/06 Changed for clarity. As suggest by the consultant Irwin Kwan 06/04/06 Clients don’t want students to be punished for incorrect answer. The hint and simplification aids in the learning process. Increased the degree of detail of the requirement for RS 3.0. 02/04/06 02/04/06 06/04/06 A - 3 Document Changes from RS 2.0 This section details the changes that have been made to the overall document since version 1.0. These changes will include all those that do not relate to individual requirements (listed in the 2 sections previous), but rather the ordering of sections, formatting, added components and other such changes. Introduced in Version 2.2 Section Changed Appendix A Description Rationale for Change Added new change logs for the changes from RS 2.0 to 3.0. The old logs are included in the following sections (in grey text) for further reference. New logs were added to clearly show the changes from RS 2.0 to 3.0. Long Stretch Software 2006 Appendix A - 47 Date (dd/mm/yyyy) 02/04/06 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 2.2 Appendix C 2.2 Appendix C 2.3 1.4 2.3 Section 4 2.3 Section 3.2 2.3 1.3 2.4 3.0, 3.2 2.4 2.1 Added section ‘C - 1 Sample Challenges’ and removed the former ‘Example Problem.’ Two new example challenges were added – one for English, one for math. Added section ‘C - 2 Sample Puzzle’ and removed the former ‘Example Puzzle.’ The example puzzle has also been updated, and a description added. Added glossary to document. Removed the general architect diagram. Add class diagram for the game module Added test scenarios to all functional requirements of the game module (section 3.2). Alphabetized the acronym list. Added description of which module would be detailed and why. Added reference to the architecture section of the document so the reader can familiarize themselves with it if they need to. Version: 3.0 Date: 04/07/06 Challenges are referenced frequently throughout the document, so detailed examples are being provided for clarity. 02/04/06 Puzzles are referenced frequently throughout the document, so a detailed example is being provided for clarity. 02/04/06 Referencing common concepts to the glossary makes the document easier to understand. As suggest by the consultant Irwin Kwan 02/04/06 Improves formality of the requirements. 04/04/06 As suggest by the consultant Irwin Kwan 06/04/06 Improves readability and understanding of document. 06/04/06 As suggest by the consultant Irwin Kwan 06/04/06 03/04/06 A - 4 Requirements Added Since RS 1. 0 This section lists all requirements that are new to this version of the RS, and the rationale for their addition. Requirement Number 3.1.7.1 Requirement Rationale for Addition The completed game will have an ESRB rating of ‘E’. 3.1.7.3 All game content will be interesting for boys and girls. During the requirements negotiation session, the clients requested an ESRB rating of ‘E’ (see Appendix B - 2.3) During the negotiation session, the clients requested that all content be ‘asexual’ so both boys and girls would find it interesting. Long Stretch Software 2006 Appendix A - 48 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 3.3.2.5 The database will maintain information for a minimum of one year. 3.1.5.1 The game will offer two installation modes – full and partial install. 3.1.7.2 In order to be entertaining, the game will engage the student in a story line 3.2.2.1 The administration module will generate reports of student progress. The administration module will export report data (3.2.2.1) to Excel documents and comma separated text documents. 3.2.2.2 3.2.2.5 3.2.5.1 3.2.5.2 3.2.2.3 3.2.2.4 3.3.2.1 3.3.2.2 3.3.2.3 3.3.2.4 The administration module will provide help for each function of the module. The administration module will occupy at most 80MB of hard drive space. The administration module will run smoothly on a system having a 200 MHz processor and 64MB of ram, or better specifications. The administration module will administrate the student accounts. The administration module will import student data from Excel and comma separated files. The database will collect the game progress of each student. The database will authenticate the student every time he/she starts a session on the game module. The database will be able to authenticate the teacher from the Administration module. The database will answer data query from the Administration module. Version: 3.0 Date: 04/07/06 This requirement was added to satisfy the client’s request that the system maintain data for one year. This request was made during the Negotiation session (see Appendix B - 2.6) This addition satisfies the client request from RS1.1 (see Appendix B - 3.8) that a full install option be available for computer systems that have enough hard drive space. In section 2.0 of the RFP, an objective is to “Entertain and engage the attention of the students.” This requirement was added to satisfy this and the client request that information on storyline be included in RS 2.0 (see Appendix B - 2.14) This functionality was requested by the UCSE in section 4.0 of the Client RFP. Office format exports were requested in RFP section 5.0, but were not full addressed in RS 1.0. The request for comma separated exports was introduced during negotiations (see Appendix B 2.7) This addresses the concern that not all teachers will have the same computer experience, and may need assistance. This is outlined in section 2.3. This addresses the size constraint given in RFP section 6.0 This requirement was added to address the minimum system requirements that were agreed upon during negotiations (see Appendix B - 2.12) The game must track individual student progress (RFP section 4.0, elicitation Appendix B - 1.4), so each student must have their own account. Thus, a method is needed to add/create/delete these accounts, which will be provided by the administration module. During the requirements negotiation session, the clients asked for import functionality (see Appendix B - 2.5). This supports the requirement 3.1.4.1 as well as the client comment in Appendix B - 1.12. This supports requirement 3.2.2.6. This supports requirement 3.2.2.1. Long Stretch Software 2006 Appendix A - 49 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 A - 5 Changed Requirements from RS 1.0 This section lists all requirements that have been changed from RS 1.0, and the rationale for the change. Requirement’s Number in: RS 1.0 RS 2.0 3.1.3 3.1.5.4 Description of Change Rationale for Change The requirement “Maximum time from launching the game until it is playable will be 5 minutes.” from RS 1.0 has been altered to included an average load time of 2 minutes over all system. This addresses the client’s concerns that 5 minutes is too long to wait. This issue was discussed during the Requirements Negotiations (see Appendix B - 2.11) This corrects an error from version 1.0 where this requirement was incorrectly listed as non-functional. “Degradation Modes” is not a proper requirement statement (ambiguous etc), so it was corrected. During negotiations on March 7, 2006, UCSE agreed to increase the minimum system requirements. (See B - 2.12) 3.1.2 3.1.2.1.1 The requirement “The system will provide ingame tutorials and help” was changed from listed as non-functional to functional. 3.3.1 3.1.4.1 3.3.2 3.1.5.2 3.1.5.3 This requirement “Degradation Modes” has been changed to “Student progress automatically saved to database when goals are completed.” Changed minimum system requirements for computers from 60MHz and 16MB of RAM to 200Mhz and 64 MB of RAM. The requirement “Resource Utilization” from RS 1.0 has been split into the requirements: The game will occupy at most 80MB of hard disk space for the partial install. The game will run smoothly on a computer with minimum system requirements of a 200 MHz processor, 64MB of RAM and 2x CDROM drive or greater 3.1.8.1 3.1.3.2 Changed user interface requirement to “simple enough for grade 1 and 2 students.” 3.2.6 None 3.5.2 None The requirement “System will detect and correct errors in imports and exports from Office file formats” was removed. The “Development Tools” section from 1.0 was removed. The requirement statement “Resource Utilization” was not a proper requirement statement (ambiguous, etc.), and the details held requirement information, so they were split up into two new requirements. Original user interface requirements were bloated and not traceable. This requirement was removed because it is an unrealistic and un-requested feature. This information is not of importance to the Client. A - 6 Document Changes from RS 1.0 This section details the changes that have been made to the overall document since version 1.0. These changes will include all those that do not relate to individual requirements (listed in the 2 sections previous), but rather the ordering of sections, formatting, added components and other such changes. Introduced in Version Section Changed Description Rationale for Change Long Stretch Software 2006 Appendix A - 50 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 1.2 Section 3 Re-organized all of section 3 into 4 sub-sections – one for each module of the system (game, administration and database) and one for common elements. IN each new subsection of Section 3, the requirements are now organized into sub sections based on whether they are functional or non-functional, instead of being differentiated by (F) and (NF) in the requirement heading. This also required a change to the introduction to Section 3. UCSE’s RFP was included for reference in RS 1.0, but has been removed for version 2.0. 1.2 Section 3 – sub sections 1.3 Appendix A UCSE’s RFP 1.0 1.5 Section 3 and sub-sections 3.x.1 The requirements in each sub-section of each module (Functional Requirements for the Game Module) have been ordered by importance. 1.5.2 Section 1 Introduction has been re-written. 1.5.3 Section 3 Added use cases to each of the module section in section 3 1.5.3 Section 4 Added overview of the system architecture. 1.6.5 1.6 1.6.6 Section 3 and 4 The overview was updated to cover the new format of the document, and the additional sections. Add references to the subsections and reword some of the requirements Version: 3.0 Date: 04/07/06 When planning the architecture of the system, the system was divided into three separate modules. Re-organizing the requirements to reflect this will help the readability of the document. This change improves the readability, and modifiability of the requirements. It also makes it easier to rank the requirements by importance. Finally, it helps the document to comply with standards. The addition of the RFP was deemed redundant, and removed to improve readability and reduce complexity of the document. This satisfies the RS quality characteristic that requirements be " Ranked by Importance.“ The chosen ranking is based on our analysis of the client’s needs, based on the information we have been provided, and the chosen architecture of the system. The old introduction was a sales pitch for Long Stretch Software instead of an introduction to the document. To make it easier to understand the requirement and make the RS more complete. This is a required feature of RS 2.0 and will also improve the client’s understanding of the system. To help the reader to understand the design of the document better. Improve readability of the report. Long Stretch Software 2006 Appendix A - 51 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Appendix B - Outcomes of Client Communication B - 1 Requirements Elicitation (January 23, 2006) B - 1.1 What are we working on? There’s mention of a previous system. What do you want done with the old system? There is no old system. The one mentioned is simply an example of what is currently available for the kids to play with. Basically, we must create an educational game from scratch. B - 1.2 Is it a single game system or multiple games? This should only be a single game. In other words it should be a game that incorporates math, English and problem solving skills. The clients mention that maybe a RPG genre of game could not only incorporate all of the educational aspects but also be entertaining for the kids. B - 1.3 How should the different grades be integrated in the game? Are scalability levels mixed with grade levels? There would be no differentiating between grade levels since the clients believe that a child should always be challenged and not limited by grade levels. Therefore we only need lots of difficulty levels such as very easy, easy, medium, hard, very hard and so on. B - 1.4 How do you want to keep track of kids (assign computers/log in)? We are going to keep track of the kids through a game log in. This way we can also save the kids progress. B - 1.5 What is meant by expose kids to technology (just mouse, mouse keyboard)? “Simple” computer tasks should be able to perform by the kids. The tasks include typing on the keyboard, mouse clicking and double clicking and possibly other very basic tasks B - 1.6 80MB???? Flexible? This is somewhat flexible but the quality of graphics should be sacrificed instead of the size limit. B - 1.7 What is problem Solving (puzzle, spatial ability, riddles)? Problems solving should include the puzzle and riddles and some spatial ability. Spatial ability should be very simple such as seeing shapes and putting them in the appropriate slots. B - 1.8 What’s the math level (addition, multiplication)? Basic addition with no numbers greater than 2 digits. While multiplication should be limited to a 5 by 5 table. B - 1.9 What are we doing for English (definition, sentence identification)? There’s should be no definition and only sentence identification. B - 1.10 How is a kid evaluated? A kid is evaluated by the number of question he has right. On the spread sheet there should be the 3 categories with the number he has right and also the question he had wrong with the answer the kid inputted such that the teacher may help the kid to improve. Long Stretch Software 2006 Appendix B - 52 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 B - 1.11 How is a teacher to export data? Special format? The teacher needs a simple way to export data. A text file with the results separated by tabs should be sufficient. This way allows the teacher to put the results in a spreadsheet easily (we can assume the teacher uses excel). B - 1.12 Do the teachers need to track progress at home? No, the kids can play the game at home but there’s no need for the teacher to track his progress. B - 1.13 Who has access to progress report of kid? Just the teacher as the report should be saved on the school server so that the teacher can easily access the data from his/her personal computer. B - 1.14 If this is a co ordinate effort with teachers, parents etc… Are you providing them, providing feedback from them, should we find them? On the client team there are some representatives which we may ask questions to clarify any matters that might show up. B - 1.15 What networking is required? This is a single player game which is networked at school for the teacher to access the progress report. B - 1.16 Entertainment Factor? Want to keep the kids amused for the duration of their “lab classes” which is approximately an hour. B - 2 Requirements Negotiations (March 7, 2006) B - 2.1 We are choosing to go into detail with the Game module for RS 3.0. Is this ok? ‘detailed game module = yes’ B - 2.2 Can you give an approximate minimum # of game play hours required for each grade level? [Or can you supply the approximate number of hours students will play each week?] ‘1-10 hours / week play time’ B - 2.3 What is this game rated? ‘rating: e for everyone’ B - 2.4 As educators, do you think content should be different for boys/girls? Should we just shoot for something in the middle? ‘asexual game content, boy/girl characters’ B - 2.5 From client comment “can they import old information “ ‘importing stays’ Long Stretch Software 2006 Appendix B - 53 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 B - 2.6 Online backup will be provided by the system. How critical is this information? How far back the backup should go? Maybe one academic year? ‘information available back one year, importing/exporting available’ B - 2.7 In addition to Office formats, what export format would you like for student reports? ‘comma separated data’ B - 2.8 The system will maintain network security. Will SSL all the communication be sufficient for this requirement? ‘security is low priority’ B - 2.9 Data will be portable. Can we just put the data into a standard SQL data base? All SQL databases engine should be able to access the data. ‘SQL is a go’ B - 2.10 Do you require a website for the game? ‘We would be interested in a website, but would not want to pay extra for it’ B - 2.11 The Maximum time from launching the game until it is playable will be 5 minutes. Should this be ok? ‘2 min average load, 5 min max’ B - 2.12 Can we up the minimum system requirements for the game? ‘up system requirements to 200 Mhz, 64 MB ram MIN’ B - 2.13 Any suggestions for the name of the game? "Elementary Quest" B - 2.14 Do you want to see as "Storyline" section in the next RS? ‘plot/story section in RS 2’ B - 2.15 Any name changes for the game will have to be finalized by RS 3.0, okay? ‘name changes finalized by RS3.0’ B - 3 Client comments on RS 1.0 This section includes USCE’s comments on the RS 1.0 document. The section in which the comment appears is shown after each heading ‘B – 3.x’ and the text commented on is included in bold. UCSE’s comments are preceded by a bullet ‘•’ and have this styling. B - 3.1 : 2.1.2 User Interfaces The interface for the students will be entertaining and engaging. The function of the buttons will be easy to understand and simple to use. Menus will be interactive and easily accessible throughout the game. • What functions? What buttons? Menus are always interactive Long Stretch Software 2006 Appendix B - 54 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 B - 3.2 : 2.1.3 Operations The game will provide the following minimal operations: Teach Math and English to grade levels 1 & 2 in an entertaining and engaging manner. • Problem solving skill as well? B - 3.3 : 1.4 User Characteristics … Because the game is intended for in school use, teachers will be administrating the game, and must also be considered. Teachers represent a … • Considered? How? B - 3.4 : 1.5 Assumptions and Dependencies We assume the following responsibilities from the client during the game development process: Provide testing methods and help in developing the test cases with our test engineers. • We will provide professionals to assist you in developing your test cases but we will not be providing you with test cases. Upon the completion of the development process, organize meetings and workshops with the target user groups to test the software. • Throughout entire development process. B - 3.5 : 3.1.1 The system will test basic computer abilities prior to beginning the game, and provide the necessary tutorials. • Weird but if kept to a minimum, ok. What will be the extent of tests? B - 3.6 : 3.2.6 (F) System will detect and correct errors in imports and exports from Office file formats • Import from office files? Why? B - 3.7 : 3.2.7 (NF) Time between failures will be minimized for each operating system that will run the game (see details) Windows OS MTBF in years Mac OS MTBF in years Windows 95/98 1 Mac OS 7.6 2 Windows 98 SE 2 Mac OS 8 3 Long Stretch Software 2006 Appendix B - 55 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Windows XP/2000/ME 4 Version: 3.0 Date: 04/07/06 Mac OS 9 4 Mac OS X 5 • What is the rationale behind this? Where did the numbers come from? B - 3.8 : 3.3.2 (NF) Resource utilization The game will occupy at most 80mb of hard drive space. It will also be kept simple enough to run smoothly on a system having no more then a 60 Mhz processor and 16MB of ram. Some of the game content will require access to a 2x CD-ROM drive. • Game should run at same speed independent of system specifications. • 60 MHz is SLOWEST processor being used. • What game content? Full install option, where no cd-rom access necessary? B - 3.9 : 3.1.5 (NF) Software development language … However, the deliverable software will be written in: Client software: Java on JRE 1.5 compatible. Administration module: Java on JRE 1.5 compatible. • Java will probably be to slow on a 60 MHz processor. We recommend using C. B - 3.10 : 3.7.1 (F) User Interfaces …… The main menu will have three buttons: New Game; Load Game; and, Quit Game. …… Once a character is selected and continue is pressed, the user will choose his or her difficulty level and the game will commence. • No options? Audio, video, control, etc. • Only on new game. choose grade 1 or 2. B - 3.11 : 3.7.3 (NF) Software Interfaces The gaming, administration and database components of the software will communicate securely via a local network. All connections will be adequately encrypted, while still meeting the performance requirements (section 3.3) • Encryption is not necessary. Security is NOT an issue B - 4 Client Comments on - RS 2.0 This section includes USCE’s comments on the RS 2.0 document. The section in which the comment appears is shown after each heading ‘B – 4.x’ and the text commented on is included in Long Stretch Software 2006 Appendix B - 56 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 bold. UCSE’s comments are preceded by a bullet ‘•’ and have this styling. • Overall the system looks good but there are a few things that need to be addressed. B - 4.1 : 2.1.3 Hardware Interfaces The graphical content will be at most 256 colors at a resolution of 640x480. • This is not necessarily true as we don't want to limit newer hardware to this resolution and color. It should be possible to adjust the resolution which will allow for game play at a range of possible resolutions from 640x480 to 1280x1024. That will provide the ability the game to run on a wide range of hardware. B - 4.2 : 3.1.2.2 "The system will provide in-game tutorials and help." • This is a great functionality that will make the teachers’ job much easier as while a student is waiting for the teacher to come help him/her, he/she can be looking up the help screen that will further give them hints on how to solve the puzzle or task they are working on. It will further develop the children's skills to solve problems by their selves. B - 4.3 "The purpose of the help document is to provide instructions on how to install the game and how to play the game." • The kids won't necessarily have use for a manual on how to install the game or a help file with instructions as their reading abilities are limited (easier for them to grasp pictures and animations) and it is unlikely that they will install the game by themselves even at home. That would be more of a help file for teachers or parents probably. B - 4.4 : Use Case 6 Manage student accounts (create/edit/delete) • This use case only mentions the teacher inputting username/password for the student, but that wouldn't necessarily be sufficient information. We would like at least the students name and current grade to be also stored as it will need to appear on any Results or Progress Reports for the student. Also the username/password authentication scheme isn't really preferable for 1-2 grade students. B - 4.5 Use Case 7 Export Student Progress (create/edit/delete) • This use case doesn't provide sufficient information on what form the progress Long Stretch Software 2006 Appendix B - 57 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 reports will have. It is clear that they will be some sort of table but there is no indication whether they will be broken down per skills sections Math/Writing/Reading etc. or by map, quiz, monster defeated? This is very important for us as it defeats the purpose of the game if we do not have a very clear breakdown of the progress of each student in the various subjects. B - 4.6 "The administration module will import student data from Excel and comma separated files." • Will this module also allow for students characters to be exported/imported? B - 4.7 : 3.1.5.5 Expected uptime will be 95% The game itself will be able to run for at least 3 consecutive hours, 95% of the time. • This still seems low to me, does this include idle time, if so not unacceptable. What if the game gets left on in labs? B - 4.8 : 3.1.7.2 In order to be entertaining, the game will engage the student in a story line. “If the student answers the question correctly then they will be given money so they can buy accessories for their character. If the question is answered incorrectly, the monster takes away money from the student “ • I don’t think it is appropriate to take away money, we want to reward progress not punish based on lack of performance. B - 4.9 : 3.1.6.3 The game will not require regular maintenance. • The above doesn't discuss DB maintenance B - 4.10 : 3.3.2.2 The database will authenticate the student every time they start a session on the game module. Each time a student starts a game, he/she will need to authenticate him or herself. The database should store authentication information and be able to authenticate the users. See section 3.1.2.3. • Authentication should be very simple, something like a name or initials (or even choose his unique character from all available ones on the screen). No username/password fields that will confuse and further complicate the game. That will be only applicable when the game is connected over the network to the database, and even in that case the student should have the option of Free-Play where his/her statistics aren't recorded. • Students at home cannot access database at school so how will the system handle Long Stretch Software 2006 Appendix B - 58 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 saving the users’ game data on their personal computers? B - 4.11 : Use Case 4 “The challenge can be any form of questions. For example, for testing Math skill, the student should be asked to solve multiple choice Math problems. “ • We prefer a mixture of multiple choice and text answers for all types of questions. Long Stretch Software 2006 Appendix B - 59 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Appendix C - Prototype Screens C - 1 Sample Challenges Two examples follow; one math based, the other English based. C - 1.1 A sample math challenge: This prototype screenshot shows a sample math challenge. The player encounters the challenge by interacting with the bank teller named ‘Josh the Loan Shark.’ As can be seen, instruction is first provided about how to add, and then a question is posed. If the student answers the question correctly they are rewarded with the $7 and can continue, if not then they are given a hint and asked to try again (see example in C - 1.2). Other math challenges in the game will be presented in a similar manner, just with different content, and in different context (i.e. not always in a bank, or regarding money). Long Stretch Software 2006 Appendix C - 60 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 C - 1.2 A sample English challenge: This prototype screenshot displays a sample English challenge. The player has encountered the challenge by interacting with the NPC named ‘Mindy’ who has lost her cat and needs help. As with the math challenge, the player first receives instructions, then is asked a question. If the student can correctly identify the verbs, then they will advance and try to help Mindy. In this example, the player was unable to identify the verbs on his first try, so a hint was given, and the black words have been eliminated as options. Long Stretch Software 2006 Appendix C - 61 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 C - 2 Sample Puzzle: In this example puzzle, the player is trying to gain access to ‘The Old Mill’ which will lead to another section of the current level. In this puzzle, the player clicks two squares to flip them over. The bottom side of each square shows either a digit or some number of circles; if the number of circles matches the digit, the squares are removed, if not they flip back over. This tests the player’s ability to count and recognize digits, as well as developing their spatial memory. As can be seen, no instructions are given on the counting/recognition that the player must accomplish, but they are given a brief explanation of how to complete the puzzle. The levels will be designed such that they will always provide the necessary knowledge before encountering the puzzles. If a student can’t complete a puzzle, they will be directed back in the current section, and will interact with more NPCs who will give the player more help with the puzzle. C - 3 Screens for Game Module The Game Module contains three main types of screens. When the game is started the user has the option of creating a new character or continuing with an existing character. Once a character has been chosen or created they will be then presented with the world map where they will choose their level from those available to them. Once the user has chosen the level he/she Long Stretch Software 2006 Appendix C - 62 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 wishes to play in, the level will be loaded and he/she can begin playing. The following screen shots explain these screens in more detail. C - 3.1 Character Creation/Customization The user needs to create a character before he/she can play the game for the first time. Once a character has been created, the user has the option of customizing the individuality of the character. Characteristics that can be changes include skin color, hair style and color, gender and clothing/accessories options. The user may alter the appearance of their character throughout the game. He/she can also purchase extra items and accessories using money which is earned by answering challenges. In section “Your Items” the user can view and use the items he/she has purchased. In this example the user has selected the gender to be male. The user can then select hairstyles, clothing, accessories, etc. pertaining to a male. The colors the user has selected are displayed in boxes next to the corresponding characteristic. Also, the user has purchased some sunglasses, which have been equipped form the “Your Items” section. Once the user is finished modifying the character they can then return to the menu by clicking on the “Return to Main Menu” button. C - 3.2 World Map The world map is a gateway into the different levels that the user can explore. In the example that follows, the player has only a few levels available, but more will become unlocked as they Long Stretch Software 2006 Appendix C - 63 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 progress. In this prototype example, the user is viewing the Map Screen from inside the EasyStreets (development name) level. The map clearly shows the current location and the available levels. In this example, the player can access the three towns in green, but not the one in blue (yet). C - 3.3 Exploration Scene The exploration scene allows the user to move about the current section of the level he/she is exploring. The following example illustrates what options the user will encounter. Long Stretch Software 2006 Appendix C - 64 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 In this prototype example, the user is exploring the EasyStreets (development name) level. The use can move about the scene by click on the blue arrows. If the user wishes to return to the map, he/she can click on the map button in the top right hand corner of the screen. Also the use can access the options menu (see C2342342) using the menu button. The bottom left corner of the screen shows the amount of money that the user has collected and the level that the user is in. C - 4 Screens for Administration Module The Administration module allows teachers to manage student user accounts and view progress reports of the students. This meets the requirements outlined in section 3.2.2. C - 4.1 Main Administration Screen Long Stretch Software 2006 Appendix C - 65 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 In this prototype screen shot, the administrator has the option of doing one of two things at a time: Managing student accounts and Exporting Student progress data. In the option for “Student Account Management” the administrator can create, edit or delete a student profile. Student profiles include user name and passwords for the student. See section 3.2.2.3 for more details. In the option for “Export Student Progress”, the administrator can view the progress of a single student or all students, by exporting the data into a readable format such as an Excel file. See section 3.2.2.4 for more details. Long Stretch Software 2006 Appendix C - 66 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 Appendix D Traceability Matrices The figures in this section give an indication of the relationships between the requirements, rationale statements and test scenarios in this document. D - 1 Requirements vs. Requirements This matrix shows the relationships between the functional requirement statements from section 3.1 and the sub-requirements. Long Stretch Software 2006 Appendix D - 67 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 D - 2 Requirements vs. Rationale This matrix shows the relationships between the major functional requirements in section 3.1 and the rationale statements. Long Stretch Software 2006 Appendix D - 68 UCSE’s Educational Game System Software Requirements Specification LSS.Educational.Game.RS-3.0 Version: 3.0 Date: 04/07/06 D - 3 Requirements vs. Test Cases This figure shows the relationships between the functional requirements in section 3.1 and the test cases developed for them. Long Stretch Software 2006 Appendix D - 69