A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | ||||||
2 | Name | Requirement | Priority | Rationale | ||
3 | 1 | Maturity Rating | The content in the software shall comply with the T rating for the Entertainment Software Rating Board (ESRB). | 1 | Our target demographic is college students, but we want the game to be appealing to as many people as possible. | |
4 | 2 | Map | The game shall have a map. | 2 | Having a map allows the game to have a basis to add puzzles on top of. | |
5 | 2.1 | Map Display | The map shall display the playable area in the game. | 2 | The map must be displayed to the user for it to do anything. | |
6 | 2.2 | Map Access | The user shall have access to a certain part of the map. | 1 | Gating off parts of the map and allowing users to unlock them gives users a sense of progression | |
7 | 3 | Leaderboard | The game shall have a leaderboard. | 3 | A leaderboard adds replayability by incentivising users to compete against past scores, which creates more content for very little development time. | |
8 | 3.1 | Leaderboard users | The leaderboard shall represent scores from multiple users. | 3 | A shared leaderboard adds a social aspect to the game by allowing players to compete against each other. | |
9 | 4 | Time Limit | The game shall have a time limit. | 1 | A time limit increases the excitement of the game by giving the user a reason to try to solve puzzles quickly. It also provides an intuitive foundation for a scoring system. | |
10 | 4.1 | Time adjustment | The time limit shall be adjustable based on user preference on difficulty settings (in 1 minute increments until a maximum of 2 hours) | 2 | Some users prefer to not be under as much time pressure while others enjoy more of a challenge. An adjustable time limit lets us open up the game to more users. | |
11 | 5 | Settings | The game shall provide a settings menu, containing: | 2 | Different users have different preferences and letting users customize the experience opens the game to a wider audience. | |
12 | 5.1 | Fullscreen | - full screen mode | 3 | Users do not know the shortcuts to change applications in and out of fullscreen and could get stuck in fullscreen mode or not realize they can maximize a game window. | |
13 | 5.2 | Difficulty Adjustment | - difficulty (easy, medium, hard) | 2 | Different users have different levels of skill so it is important to let users customize the game so it is possible but challenging for them. | |
14 | 5.3 | Volume Adjustment | - (game text, object sounds, ambient music). | 2 | Many users may be playing multiple audio sources at once or using differing audio devices so it is important to be able to adjust the game volume. | |
15 | 5.4 | Saves | The game shall save the position of the player in the story such that the player may enter the game again as though there were little to no interruption. | 2 | Users want to be able to pause and come back to the game if they do not have time to play the whole experience continuously. | |
16 | 5.5 | Autosaves | The game shall automatically create saves that may be resumed at a later date. | 2 | Users want the game to save on its own for convenience and in case their computer crashes or dies. | |
17 | 5.6 | Settings Saves | The user's setting preferences shall be stored in the system until the user changes them. | 3 | Saving settings provides a better user experience and is expected for modern applications with settings. | |
18 | 5.7 | Save Storage | The latest game save from each user shall be stored under that users account | 2 | Users want to be able to resume games even after fully closing the application. | |
19 | 5.8 | Save Access | The user shall continue the game from a save point that they select. The system shall pick up the location, access permissions, time, inventory, and character details of the player to continue from the same point they left off. | 2 | Users want to be able to resume immediately from their last saved location. | |
20 | 7 | Text | The game shall display text. | 1 | Escape rooms need a way to communicate the story and text is a scalable and efficient way to do so. | |
21 | 7.1 | TTS | The game shall read the text audibly. | 2 | Providing text that is read aloud is a better user experience and makes it easier for players with some disabilities to play. | |
22 | 8 | Interact | The user shall select an option to interact with an entity. | 3 | Users need to be able to interact with the world to be able to play the escape room. | |
23 | 8.1 | Interact Function | When the user makes their intent known, the game shall provide a unique message depending on the entity currently engaged with. | 3 | The game needs to be able to communicate information about each entity and the user needs to be able to get information from interacting with entities. | |
24 | 8.2 | Fight | The user shall select an option to fight an entity. | 3 | Combat provides an avenue of engaging users who may otherwise not have participated in a Computer Science based game. | |
25 | 8.2.1 | Fight Function | When the user makes their wish known, the game shall provide a unique fighting-related function depending on the entity currently engaged with. | 3 | Entities will react to the way users want to play the game which is essential for a realistic and compatible experience. | |
26 | 8.3 | Analyze | The user shall select an option to analyze an entity. | 3 | Users want the ability to choose what in the game world to gain more information about and when to gain that information. | |
27 | 8.3.1 | Analyze Function | When user makes their wish known, the game shall provide more information about the entity currently engaged with. | 3 | Users need to be able to gain more information about the game world and the game needs to be able to communicate more information about puzzles. | |
28 | 9 | Main Menu | The game shall have a main menu containing the following: | 3 | Users need a way to go back to the main menu if they want to exit the game or change settings. | |
29 | 9.1 | Play Action | - button to start the game | 1 | Users need a way to start the game | |
30 | 9.2 | Settings Menu Button | - button to access settings menu | 2 | Users need to be able to change overall game settings to support a wider variety of users. | |
31 | 9.3 | Close Action | The user shall close the application. | 2 | Users need a way to exit the application easily. | |
32 | 9.4 | Main Menu Screen | The main menu screen shall open on game start and include the game title as well as the buttons that give the player options. | 1 | A main menu is necessary for the escape room to feel like a complete experience. | |
33 | 9.7 | Story | The game shall have a story. | 1 | Users want a story to make the experience more entertaining. | |
34 | 10 | Login Page | The game shall have a login page | 2 | Users need a page to handle logging in or creating accounts. | |
35 | 10.1 | Make New Account Button | The game shall present the user with the option to make a new account. | 2 | Users need to be able to create a new account to play the game. | |
36 | 10.2 | Login Fields | The user shall be presented with text fields to enter their login information. | 2 | Users need to be able to enter login information to successfully login. | |
37 | 10.3 | Login Button | The user shall be able to press a button to attempt to login with the information in 2.9.2 | 2 | Users need to be able to login to their account to access there saved scores and game state. | |
38 | 10.4 | Reject Login | If the user attempts to login with 2.9.3 with incorrect information they will be informed which field was incorrect. | 3 | Users want to be informed when they try to enter incorrect login information and be provided information on what was incorrect so they can correct those details. | |
39 | 10.5 | Logout Button | The user shall press a button and logout of there account | 1 | Users need a way to be able to reach the sign in page. | |
40 | 10.6 | Logout Redirect | When the user logs out they should be brought to the sign in page. | 1 | Users need a way to switch accounts, logout of their account, or create a new account. | |
41 | 11 | Replayability | The game shall have multiple replayable endings. | 1 | Having multiple endings gives the user a reason to play the game multiple times. | |
42 | 12 | Skipping | The story shall be skippable. | 1 | Users want to be able to skip story information if they are uninterested or have already seen it. | |
43 | 13 | System | The game shall run on a computer. | 1 | Users need to be able to play the game on a computer to experience the escape room. | |
44 | 13.1 | Windows | The game shall be playable on on Microsoft Windows. | 1 | Microsoft windows is the most common operating system so supporting it allows the most users to play the game. | |
45 | 13.2 | Linux | The game shall be playable on on Linux. | 2 | Linux support is easy to add and allows more users to play the game. | |
46 | 13.3 | MacOS | The game shall be playable on on MacOS. | 2 | MacOS support is easy to add and allows more users to play the game. | |
47 | 13.4 | Android | The game shall be playable on Android. | 3 | Android support allows way more users to access the game. | |
48 | 13.5 | iOS | The game shall be playable on iOS. | 3 | IOS support allows way more users to access the game. | |
49 | 14 | Gameplay | The game shall be playable in a custom GUI. | 3 | Users needs a way to interact with the game and a GUI allows for more gameplay possibility and supports more users. | |
50 | 14.1 | Hints | The game shall provide hints to clues that facilitate the solution of puzzles. | 1 | Users want a way to get help if they are stuck on a puzzle. | |
51 | 14.2 | Puzzles | The user shall be presented with challenges to solve at different objects in the room that can be completed by performing tasks or using inventory items. | 1 | Puzzles are the core part of an escape room and are essential to giving the user an experience to complete. | |
52 | 14.2.1 | Puzzle Progression | The puzzles shall facilitate game progression when solved. | 1 | Completion of puzzles needs to progress the story, otherwise the puzzles are useless. | |
53 | 14.3 | Riddles | The game shall provide riddles for the player to solve. | 1 | Having riddles provides another way to challenge the user and add variety to the game. | |
54 | 14.3.1 | Riddle Progression | The user shall be barred from game progression until the riddles are solved. | 1 | Completion of riddes needs to facilitate the continuation of the game. | |
55 | 14.3.2 | Riddle Solution | The user shall solve the riddles with information presented during the game or otherwise easily reasoned. | 2 | Riddles that require the user to check resources outside the game breaks the immersion, which results in a less cohesive experience. | |
56 | 14.4 | MCQ Randomness | Riddles which provide multiple answers to choose from shall have their answers presented in a randomly generated order. | 2 | Users want a repeatable experience and changing the order increases replayability and makes it harder for users to just memorize the positions of answers. | |
57 | 15 | Score | Based on completion time and other performance factors the user shall be given a score indicating how well they did in completing the room. | 1 | Having a score increases the incentive for users to do well in the game which makes the game more fun. It also adds a social element to the game by allowing users to share their scores with friends. | |
58 | 15.1 | Punishment | The score shall be reduced by 10 points when the user fails a timed challenge. | 2 | A punishment system adds to the game's tension and incentivize users to not guess answers randomly. | |
59 | 15.2 | Time Scoring | The base score of the player shall be the numeral of the difficulty system * 100-time taken (in rounded minutes) | 1 | Adding a timer increases the tension and adds more excitement to the game and rewards users for solving puzzles quickly. | |
60 | 15.3 | Score-progression | The system shall augment the user's score by multiplying the floor the user reached by the time it took for them to reach there subtracted from 45. | 1 | The game needs a way to calculate score. | |
61 | 15.4 | Score Storage | The highest score from the user on each account shall be stored with that account | 2 | Users want to keep track of their scores and see improvement over time. | |
62 | 16 | Death | The game shall provide actions which result in player death. | 1 | This makes it more engaging by adding risk to encounters (eg. climbing the side of a building is risky). | |
63 | 16.1 | Recovery | Player death shall result in a return to the latest save. | 2 | This stops it from being discouraging for the player by allowing them to maintain their progress. | |
64 | 17 | Difficulty | The game shall provide difficulty selection, which includes: | 2 | The user needs to be able to choose between the difficulty options | |
65 | 17.1 | Easy | The easy mode shall have the following features: | 2 | Outlines features | |
66 | 17.1.1 | Easy Hints | - 6 hints to the player | 2 | Users that select easy mode want more hints to make the game easier to complete. | |
67 | 17.1.2 | Easy Entity Interaction | - Combat disabled on entity interactions | 3 | Entities attacking will only make the game harder for players. | |
68 | 17.1.3 | Easy Time | - Default time setting of mode set to 1 hour | 2 | This gives ample time for players to finish the game (15 minutes on top of the base time) | |
69 | 17.2 | Medium | The medium mode shall have the following features: | 2 | Outlines features | |
70 | 17.2.1 | Medium Hints | - The game shall provide 3 hints to the player in medium difficulty. | 2 | Users that select medium mode want some hints but not enough to make the game not challenging. | |
71 | 17.2.2 | Medium Entity Interaction | - Entities will be set to friendly (will only attack the player if repeatedly provoked, >1 time) | 3 | This makes it easier for players to play but still balances the challenge with some combat. | |
72 | 17.2.3 | Medium Time | - Default time setting set to 45 minutes | 1 | This is the base time and is a suitable challenge for players on the medium mode. | |
73 | 17.3 | Hard | The hard mode shall have the following features: | 2 | Outlines features | |
74 | 17.3.1 | Hard Hints | - The game shall provide 0 hints to the player in hard difficulty. | 2 | Users that select hard mode want a challenging experience with no hints. | |
75 | 17.3.2 | Hard Entity Interaction | - Entities who have the trait 'aggressive' will attack immediately, other entities will attack when provoked once. | 3 | This adds sufficient difficulty for the hard mode | |
76 | 17.3.3 | Hard Time | - Default time setting set to 30 minutes | 2 | This time setting (15 below base time) will set a sufficient challenge for the player | |
77 | 18 | Story Conclusion | The user shall be presented with an indication that they have finished the game and escaped the building. | 1 | Having a strong ending is core to an escape room game because it rewards the users for completing the escape room and improves the overall experience. | |
78 | 18.1 | Failure Condition 1 | The game shall conclude when the timer reaches zero. | 1 | For the timer to improve the user experience it has to have actual consequences for failing to complete the game in the alloted time. | |
79 | 18.2 | Failure Condition 2 | The game shall conclude when the player reaches 3 deaths. | 2 | This makes the death of a player impactful and causes problems for the players. | |
80 | 19 | End of Game Display | The system shall present the user with an end-of-game menu once they complete the game. | 1 | The user wants an intuitive experience where the game prompts them with their options upon completion. | |
81 | 19.1 | End Score Display | The system shall present the user with their final score at the end of the experience. | 1 | Showing the user a score gives them an incentive to replay the experience. It also gives the user a way to share the experience with friends by comparing scores. | |
82 | 19.2 | End Time Display | The system shall present the user with their remaining time at the end of the experience. | 1 | Showing the user a time gives them an incentive to replay the experience. It also gives the user a way to share the experience with friends by comparing times. | |
83 | 19.3 | Replay Button | The end-of-game menu shall include a replay option so the user can choose to play the game again. | 3 | This completes the overall experience loops and allows the users to keep enjoying the experience once completed. | |
84 | 19.4 | End Main Menu Button | The end-of-game menu shall include a main menu option so the user can choose to return to the main menu. | 2 | Returning to the main menu allows the user to exit the experience or edit settings before replaying the experience. | |
85 | 20 | Make Account Option | If the user is using a guest account they shall be prompted to create an account and save their score. | 2 | Users on a guest account may want to save their score once they had completed the game even if they did not when they first logged in. | |
86 | 21 | Simplicity | The system shall have an interface such that no prior knowledge of the controls or settings of the game should be required to play. | 1 | Users need to understand the game to enjoy it and making it easy to understand opens up the game to the most users possible. | |
87 | 22 | Entity | The game shall include entities that are non-player characters that reside in the game. | 1 | The game needs an entity's system to keep track of elements in the world. | |
88 | 22.1 | Entity Inclusion | Each floor of the game shall feature at least 2 entities for player interaction. | 1 | Users want things to interact with in the game world to have an interactive experience. | |
89 | 22.2 | Entity Interaction | The game shall provide a state in which any given entity is the sole focus for interaction. | 1 | Users need to be able to see more details about entities and dialogue to be able to complete the puzzles. | |
90 | 22.3 | Entity Interaction Response | The game shall provide unique responses when an entity is: | 1 | Users want to be able to decide how to interact with the world | |
91 | 22.3.1 | Entity Attack Response | - attacked by the player | 1 | The player can interact with entities in different ways, the entity can also respond appropriately (makes the game realistic and adds different ways of solving problems) | |
92 | 22.3.2 | Entity Analysis | - analyzed by the player | 1 | The game needs a way for users to get more information about entities | |
93 | 22.3.3 | Entity Interact | - "interacted" by the player | 1 | Users need a way to progress through and effect the game world. | |
94 | 23 | Environment | The game shall provide a virtual environment navigable through buttons on a provided image. | 2 | Users need a way to navigate the game map to experience the entire game. | |
95 | 23.1 | Room View | The user shall view rooms in the innovation center with the game. | 1 | It is important for the core game loop for the user to have a way to view and interact with a virtual environment. | |
96 | 23.2 | Room Object Interaction | The user shall interact with items in the room. | 1 | Users need to be able to interact with entities in the room. | |
97 | 23.2 | Room General Interaction | The user shall use their general actions to interact with the room. | 1 | The actions from the entity system need to function in the game world to be useful to the user. | |
98 | 23.3 | Room Class Interaction | The user shall use their character class's special actions to interact with the room. | 1 | Users want to customize their experience and feel like they are in control of the character they are playing. | |
99 | 24 | Inventory System | The user shall add items from the world to their inventory. | 1 | An inventory system allows for more complex puzzles and a more interactive world. | |
100 | 24.1 | Inventory Management | The user shall view the inventory page and see their collected items at any time. | 1 | The user needs to be able to see objects in there inventory at any given time. |