ABCDEF
1
2
NameRequirementPriorityRationale
3
1Maturity RatingThe content in the software shall comply with the T rating for the Entertainment Software Rating Board (ESRB).1Our target demographic is college students, but we want the game to be appealing to as many people as possible.
4
2MapThe game shall have a map.2Having a map allows the game to have a basis to add puzzles on top of.
5
2.1Map DisplayThe map shall display the playable area in the game.2The map must be displayed to the user for it to do anything.
6
2.2Map AccessThe user shall have access to a certain part of the map.1Gating off parts of the map and allowing users to unlock them gives users a sense of progression
7
3LeaderboardThe game shall have a leaderboard.3A leaderboard adds replayability by incentivising users to compete against past scores, which creates more content for very little development time.
8
3.1Leaderboard usersThe leaderboard shall represent scores from multiple users.3A shared leaderboard adds a social aspect to the game by allowing players to compete against each other.
9
4Time LimitThe game shall have a time limit.1A 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.1Time adjustmentThe time limit shall be adjustable based on user preference on difficulty settings (in 1 minute increments until a maximum of 2 hours)2Some 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
5SettingsThe game shall provide a settings menu, containing:2Different users have different preferences and letting users customize the experience opens the game to a wider audience.
12
5.1Fullscreen- full screen mode3Users 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.2Difficulty Adjustment - difficulty (easy, medium, hard)2Different 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.3Volume Adjustment- (game text, object sounds, ambient music).2Many 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.4SavesThe 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.2Users 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.5AutosavesThe game shall automatically create saves that may be resumed at a later date.2Users want the game to save on its own for convenience and in case their computer crashes or dies.
17
5.6Settings SavesThe user's setting preferences shall be stored in the system until the user changes them.3Saving settings provides a better user experience and is expected for modern applications with settings.
18
5.7Save StorageThe latest game save from each user shall be stored under that users account2Users want to be able to resume games even after fully closing the application.
19
5.8Save 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.
2Users want to be able to resume immediately from their last saved location.
20
7TextThe game shall display text.1Escape rooms need a way to communicate the story and text is a scalable and efficient way to do so.
21
7.1TTSThe game shall read the text audibly.2Providing text that is read aloud is a better user experience and makes it easier for players with some disabilities to play.
22
8InteractThe user shall select an option to interact with an entity.3Users need to be able to interact with the world to be able to play the escape room.
23
8.1Interact FunctionWhen the user makes their intent known, the game shall provide a unique message depending on the entity currently engaged with.3The 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.2FightThe user shall select an option to fight an entity.3Combat provides an avenue of engaging users who may otherwise not have participated in a Computer Science based game.
25
8.2.1Fight FunctionWhen the user makes their wish known, the game shall provide a unique fighting-related function depending on the entity currently engaged with.3Entities will react to the way users want to play the game which is essential for a realistic and compatible experience.
26
8.3AnalyzeThe user shall select an option to analyze an entity.3Users want the ability to choose what in the game world to gain more information about and when to gain that information.
27
8.3.1Analyze FunctionWhen user makes their wish known, the game shall provide more information about the entity currently engaged with.3Users 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
9Main MenuThe game shall have a main menu containing the following:3Users need a way to go back to the main menu if they want to exit the game or change settings.
29
9.1Play Action- button to start the game1Users need a way to start the game
30
9.2Settings Menu Button- button to access settings menu2Users need to be able to change overall game settings to support a wider variety of users.
31
9.3Close ActionThe user shall close the application.2Users need a way to exit the application easily.
32
9.4Main Menu ScreenThe main menu screen shall open on game start and include the game title as well as the buttons that give the player options.1A main menu is necessary for the escape room to feel like a complete experience.
33
9.7StoryThe game shall have a story.1Users want a story to make the experience more entertaining.
34
10Login PageThe game shall have a login page2Users need a page to handle logging in or creating accounts.
35
10.1Make New Account ButtonThe game shall present the user with the option to make a new account.2Users need to be able to create a new account to play the game.
36
10.2Login FieldsThe user shall be presented with text fields to enter their login information. 2Users need to be able to enter login information to successfully login.
37
10.3Login ButtonThe user shall be able to press a button to attempt to login with the information in 2.9.22Users need to be able to login to their account to access there saved scores and game state.
38
10.4Reject LoginIf the user attempts to login with 2.9.3 with incorrect information they will be informed which field was incorrect.3Users 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.5Logout ButtonThe user shall press a button and logout of there account1Users need a way to be able to reach the sign in page.
40
10.6Logout RedirectWhen the user logs out they should be brought to the sign in page.1Users need a way to switch accounts, logout of their account, or create a new account.
41
11ReplayabilityThe game shall have multiple replayable endings.1Having multiple endings gives the user a reason to play the game multiple times.
42
12SkippingThe story shall be skippable.1Users want to be able to skip story information if they are uninterested or have already seen it.
43
13SystemThe game shall run on a computer.1Users need to be able to play the game on a computer to experience the escape room.
44
13.1WindowsThe game shall be playable on on Microsoft Windows.1Microsoft windows is the most common operating system so supporting it allows the most users to play the game.
45
13.2LinuxThe game shall be playable on on Linux.2Linux support is easy to add and allows more users to play the game.
46
13.3MacOSThe game shall be playable on on MacOS.2MacOS support is easy to add and allows more users to play the game.
47
13.4AndroidThe game shall be playable on Android.3Android support allows way more users to access the game.
48
13.5iOSThe game shall be playable on iOS.3IOS support allows way more users to access the game.
49
14GameplayThe game shall be playable in a custom GUI.3Users needs a way to interact with the game and a GUI allows for more gameplay possibility and supports more users.
50
14.1HintsThe game shall provide hints to clues that facilitate the solution of puzzles.1Users want a way to get help if they are stuck on a puzzle.
51
14.2PuzzlesThe 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.1Puzzles are the core part of an escape room and are essential to giving the user an experience to complete.
52
14.2.1Puzzle ProgressionThe puzzles shall facilitate game progression when solved.1Completion of puzzles needs to progress the story, otherwise the puzzles are useless.
53
14.3RiddlesThe game shall provide riddles for the player to solve.1Having riddles provides another way to challenge the user and add variety to the game.
54
14.3.1Riddle ProgressionThe user shall be barred from game progression until the riddles are solved.1Completion of riddes needs to facilitate the continuation of the game.
55
14.3.2Riddle SolutionThe user shall solve the riddles with information presented during the game or otherwise easily reasoned.2Riddles that require the user to check resources outside the game breaks the immersion, which results in a less cohesive experience.
56
14.4MCQ RandomnessRiddles which provide multiple answers to choose from shall have their answers presented in a randomly generated order.2Users want a repeatable experience and changing the order increases replayability and makes it harder for users to just memorize the positions of answers.
57
15ScoreBased on completion time and other performance factors the user shall be given a score indicating how well they did in completing the room.1Having 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.1PunishmentThe score shall be reduced by 10 points when the user fails a timed challenge.2A punishment system adds to the game's tension and incentivize users to not guess answers randomly.
59
15.2Time ScoringThe base score of the player shall be the numeral of the difficulty system * 100-time taken (in rounded minutes)1Adding a timer increases the tension and adds more excitement to the game and rewards users for solving puzzles quickly.
60
15.3Score-progressionThe 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.1The game needs a way to calculate score.
61
15.4Score StorageThe highest score from the user on each account shall be stored with that account 2Users want to keep track of their scores and see improvement over time.
62
16DeathThe game shall provide actions which result in player death.1This makes it more engaging by adding risk to encounters (eg. climbing the side of a building is risky).
63
16.1RecoveryPlayer death shall result in a return to the latest save.2This stops it from being discouraging for the player by allowing them to maintain their progress.
64
17DifficultyThe game shall provide difficulty selection, which includes:2The user needs to be able to choose between the difficulty options
65
17.1EasyThe easy mode shall have the following features:2Outlines features
66
17.1.1Easy Hints- 6 hints to the player2Users that select easy mode want more hints to make the game easier to complete.
67
17.1.2Easy Entity Interaction- Combat disabled on entity interactions3Entities attacking will only make the game harder for players.
68
17.1.3Easy Time- Default time setting of mode set to 1 hour2This gives ample time for players to finish the game (15 minutes on top of the base time)
69
17.2MediumThe medium mode shall have the following features:2Outlines features
70
17.2.1Medium Hints- The game shall provide 3 hints to the player in medium difficulty.2Users that select medium mode want some hints but not enough to make the game not challenging.
71
17.2.2Medium Entity Interaction- Entities will be set to friendly (will only attack the player if repeatedly provoked, >1 time)3This makes it easier for players to play but still balances the challenge with some combat.
72
17.2.3Medium Time- Default time setting set to 45 minutes1This is the base time and is a suitable challenge for players on the medium mode.
73
17.3HardThe hard mode shall have the following features:2Outlines features
74
17.3.1Hard Hints- The game shall provide 0 hints to the player in hard difficulty.2Users that select hard mode want a challenging experience with no hints.
75
17.3.2Hard Entity Interaction- Entities who have the trait 'aggressive' will attack immediately, other entities will attack when provoked once.3This adds sufficient difficulty for the hard mode
76
17.3.3Hard Time- Default time setting set to 30 minutes 2This time setting (15 below base time) will set a sufficient challenge for the player
77
18Story ConclusionThe user shall be presented with an indication that they have finished the game and escaped the building.1Having 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.1Failure Condition 1The game shall conclude when the timer reaches zero.1For 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.2Failure Condition 2The game shall conclude when the player reaches 3 deaths.2This makes the death of a player impactful and causes problems for the players.
80
19End of Game DisplayThe system shall present the user with an end-of-game menu once they complete the game.1The user wants an intuitive experience where the game prompts them with their options upon completion.
81
19.1End Score DisplayThe system shall present the user with their final score at the end of the experience.1Showing 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.2End Time DisplayThe system shall present the user with their remaining time at the end of the experience.1Showing 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.3Replay ButtonThe end-of-game menu shall include a replay option so the user can choose to play the game again.3This completes the overall experience loops and allows the users to keep enjoying the experience once completed.
84
19.4End Main Menu ButtonThe end-of-game menu shall include a main menu option so the user can choose to return to the main menu.2Returning to the main menu allows the user to exit the experience or edit settings before replaying the experience.
85
20Make Account OptionIf the user is using a guest account they shall be prompted to create an account and save their score.2Users 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
21SimplicityThe system shall have an interface such that no prior knowledge of the controls or settings of the game should be required to play. 1Users need to understand the game to enjoy it and making it easy to understand opens up the game to the most users possible.
87
22EntityThe game shall include entities that are non-player characters that reside in the game.1The game needs an entity's system to keep track of elements in the world.
88
22.1Entity InclusionEach floor of the game shall feature at least 2 entities for player interaction.1Users want things to interact with in the game world to have an interactive experience.
89
22.2Entity InteractionThe game shall provide a state in which any given entity is the sole focus for interaction.1Users need to be able to see more details about entities and dialogue to be able to complete the puzzles.
90
22.3Entity Interaction ResponseThe game shall provide unique responses when an entity is:1Users want to be able to decide how to interact with the world
91
22.3.1Entity Attack Response- attacked by the player1The 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.2Entity Analysis- analyzed by the player1The game needs a way for users to get more information about entities
93
22.3.3Entity Interact- "interacted" by the player1Users need a way to progress through and effect the game world.
94
23EnvironmentThe game shall provide a virtual environment navigable through buttons on a provided image.2Users need a way to navigate the game map to experience the entire game.
95
23.1Room ViewThe user shall view rooms in the innovation center with the game.1It is important for the core game loop for the user to have a way to view and interact with a virtual environment.
96
23.2Room Object InteractionThe user shall interact with items in the room.1Users need to be able to interact with entities in the room.
97
23.2Room General Interaction The user shall use their general actions to interact with the room.1The actions from the entity system need to function in the game world to be useful to the user.
98
23.3Room Class InteractionThe user shall use their character class's special actions to interact with the room.1Users want to customize their experience and feel like they are in control of the character they are playing.
99
24Inventory SystemThe user shall add items from the world to their inventory.1An inventory system allows for more complex puzzles and a more interactive world.
100
24.1Inventory ManagementThe user shall view the inventory page and see their collected items at any time.1The user needs to be able to see objects in there inventory at any given time.