Our project aims to create an eye tracking game aimed at users with severely disabling conditions such as ALS or spinal cord injuries, with an emphasis on creating a novel and interactive experience that will help develop the user’s eye tracking capabilities. The game should be easy to use with an eye tracker and follow best practices for gaze interaction design.
We gathered our requirements from a combination of our project brief and meetings with our project partners. We initially based our requirements on the project brief and refined these over the course of several calls where we discussed ideas and implementation strategies. We then refined these requirements through user testing throughout the game's development, consulting our clients at every stage.
Number | Requirement | Description | Priority |
---|---|---|---|
1 | Ability to control the game using eye tracking. |
| Must Have |
2 | Ability to navigate easily through the game. |
|
Must Have |
3 | The Level Grid should allow a user to select a level to play. |
|
Must Have |
4 | The Level Grid should show level completion data for completed levels. |
|
Must Have |
5 | Semi-realistic water simulation within the game screen. |
|
Must Have |
6 | Normal levels should have a dock of pipes. |
|
Must Have |
7 | Grid in the game screen that can hold pipes, funnels and obstacles. |
|
Must Have |
8 | A level is completed when the message in a bottle sprite is carried by the water to the target mail pipe. |
|
Must Have |
9 | Pipes cannot be selected, moved, rotated or deleted when water is running. | Must Have | |
10 | All levels should contain buttons to pause the game, start and stop the flow of water and rotate pipes. Only normal levels should have a button to delete pipes. |
|
Must Have |
11 | Two different types of pipes. |
|
Must Have |
12 | Levels are generated from an XML file that specifies all the information about a level. |
|
Must Have |
13 | Visual and auditory indicators of when a user selects a game object using gaze-input. |
|
Must Have |
14 | A selection box to highlight when a pipe is selected. |
|
Must Have |
15 | The level completed screen displays the time taken to complete the level and the star level achieved. |
|
Must Have |
16 | The Message Unlocked screen should display the message unlocked by the completion of the level. | Must Have | |
17 | The game's credits should be easily accessible. |
|
Must Have |
18 | The game should have an overarching storyline. |
|
Should Have |
19 | Messages should be stored in a separate XML file. |
|
Should Have |
20 | Buttons which cannot be selected are greyed out. |
|
Should Have |
21 | Maze levels which involve a series of pipes being placed on the grid, with the user only being able to rotate these pipes to create a route to the target mail pipe. |
|
Should Have |
22 | A star achievement system for completing levels. |
|
Should Have |
23 | A visible timer in the game screen. |
|
Should Have |
24 | A branch obstacle. |
|
Should Have |
25 | A funnel which allows users to temporarily store water in it. |
|
Should Have |
26 | Privacy notification to provide information on how gaze data is used in the game and gain explicit consent for its use from the user. |
|
Should Have |
27 | Ability to also control the entire game with a mouse. | Should Have | |
28 | An interactive tutorial to introduce the game's concepts and mechanics to the user. |
|
Should Have |
29 | The user should have the ability to change the dwell time to suit their preferences. |
|
Should Have |
30 | The Settings Menu should contain all the user configurable settings for the game. |
|
Should Have |
31 | A Pause Menu that pauses the current level and allows the user to change game settings. |
|
Should Have |
32 | Longer dwell times for destructive actions. |
|
Should Have |
33 | Multiple, varied levels for users to play. |
|
Should Have |
34 | The game should be thoroughly user tested, with both eye tracking and mouse interaction being tested. |
|
Should Have |
35 | Unit tests to ensure that the critical logical components of the game work as expected. | Should Have | |
36 | A Message Library allows the user to view all the messages they have unlocked. |
|
Could Have |
37 | Pagination of messages and the level grid. | Could Have | |
38 | Custom game graphics throughout the game. |
|
Could Have |
39 | Sound effects throughout the game. |
|
Could Have |
40 | Ability to toggle the game's sounds and background music on and off, in addition to allowing the user to choose between different background music options. | Could Have | |
41 | Choice of background music for the game. |
|
Could Have |
42 | User preferences should be saved between game sessions. |
|
Could Have |
43 | Total gameplay time should be displayed in the Settings Menu. | Could Have | |
44 | Efficiency improvements to reduce the CPU usage of the game. | Could Have | |
45 | Create and publish a custom, reusable Eye Tracking 2D package. |
|
Could Have |
Number | Use Case | Description | Main Flow | Result |
---|---|---|---|---|
1 | Return to Main Menu | User can return to the Main Menu. | 1. Select Return to Main Menu Button. 2. User is returned to the Main Menu. |
Returns user to Main Menu |
2 | Open Settings Menu | User can open the Settings Menu from the Main Menu. | 1. User selects Settings button on Main Menu. 2. Settings Menu is opened. |
Settings Menu is opened |
3 | Consent to Privacy Notification | User consents to eye tracking data usage and so is able to play the game. | 1. User selects 'I Consent' in privacy notification. 2. User can now play the game. |
User can play the game and the consent notification will no longer pop up when the user reopens the game. |
4 | Does Not Consent to Privacy Notification | User does not consent to eye tracking data usage and so the game is automatically closed. | 1. User selects 'I Do Not Consent' in privacy notification. 2. Game closes. |
Game closes and consent notification will reappear when the user reopens the game. |
5 | Open Message Library | User opens a library of messages where they can read the messages they have unlocked. | 1. User selects Message Library from Main Menu. 2. Message Library Opens |
The Message Library opens, allowing the user to select a specific message to read. |
6 | Exit Game | User exits the game. | 1. User selects Exit button from Main Menu. 2. Game closes. |
Exits game. |
7 | Read Selected Message | User reads a selected message from the Message Library. Only messages which have been unlocked can be viewed. | 1. User selects Message Library from Main Menu. 2. User selects an unlocked message. 3. User reads the message. |
User reads selected message. |
8 | Adjust Dwell Time | User adjusts dwell time to meet their preferences. | 1. User opens the Settings Menu or Pause Screen 2. User selects one of the the slow, medium of fast dwell time buttons. |
Dwell time is adjusted to meet the user's preferences and this preference is saved between sessions. |
9 | Change Background Music | User changes the background music, choosing from a series of options. | 1. User opens the Settings Menu 2. User selects the background music button to switch between the different options. |
Background music is changed to the user's preferred option and this preference is saved between sessions. |
10 | Turn Background Music On/Off | User turns background music on or off. | 1. User opens the Settings Menu or Pause Screen. 2. User selects the background music on/off button to toggle the background music on or off. |
Background music is either turned on or off, depending on the previous state of the button. This preference is saved between sessions. |
11 | Turn Sound Effects On/Off | User turns sound effects on or off. | 1. User opens the Settings Menu or Pause Screen. 2. User selects the sound effects on/off button to toggle the sound effects on or off. |
Sound effects are either turned on or off and this preference is saved between sessions. |
12 | View Total Gameplay Time | User can view the total time they have spent playing the game. | 1. User opens the Settings Menu. 2. User views the total time they have spent playing the game. |
User views their total gameplay time. |
13 | Choose Level from Level Grid | User selects a level to play from all available levels. The user can only play previously completed levels or one level higher than their highest completed level. | 1. User opens the Level Grid. 2. User chooses an available level (less than or equal to their current level). |
User plays selected level. |
14 | Play Tutorial | User plays through the game tutorial to learn about the game mechanics and concepts. | 1. User opens the Level Grid. 2. User selects Tutorial button. 3. User plays through the Tutorial. |
User plays through the Tutorial. |
15 | Start Level | User starts their selected level. | 1. User opens the Level Grid. 2. User selects an available level. 3. User plays selected level. |
Users plays selected level. |
16 | Pause Level | User pauses the game indefinitely while playing a level. | 1. User starts a level. 2. User selects the pause button. |
Game is paused and a Pause Menu is brought up. |
17 | Restart Level | User restarts the level they are currently playing. | 1. User starts a level. 2. User opens the pause screen. 3. User selects the Restart Level button. |
Level is restarted. |
18 | Return to Game | User returns to the level they are currently playing, with their progress restored. | 1. User starts a level. 2. User opens the pause screen. 3. User selects the Return to Game button. |
User returns to their current game, with their progress restored and the Pause Menu is closed. |
19 | Complete Level | User completes the level. | 1. User starts a level. 2. User directs the message in the bottle to the ending mail pipe. 3. Level is completed. |
Level is completed. |
20 | User can read the unlocked message | User reads the message unlocked by the level completion. | 1. User completes a level. 2. User selects the Read Message button on the Game Completion screen. 3. User reads the unlocked message. |
User reads the unlocked message. |
21 | Select Funnel | User selects a funnel. | 1. User selects a funnel, either by dwelling on it or clicking. |
Funnel is selected. |
22 | Open Funnel | User opens a funnel by selecting a funnel when it is currently closed. | 1. Funnel is closed. 2. Funnel is selected. 3. Funnel is open. |
Funnel is open. |
23 | Close Funnel | User closes a funnel by selecting a funnel when it is currently closed. | 1. Funnel is open. 2. Funnel is selected. 3. Funnel is closed. |
Funnel is closed. |
24 | Move Pipe | User moves a pipe by selecting it and then selecting the grid block the user wishes to move it to. Pipes can only be moved to empty grid blocks. | 1. User selects movable pipe. 2. User selects an empty grid block to move the pipe to. |
Pipe moves to the selected grid block. |
25 | Select Pipe | User selects a pipe. | 1. User selects a pipe, either by dwelling on it or clicking. | Pipe is selected. |
26 | Delete Pipe | User can select a deletable pipe on the grid and then select the delete button to return the pipe to the dock. | 1. Select pipe. 2. Delete button is now available to select. 3. Select the delete button. |
Pipe removed from grid and returned to the dock. |
27 | Rotate Pipe 90 Degrees Clockwise | User can select a pipe and then select the rotate 90 degrees clockwise button to rotate the pipe. | 1. Select pipe. 2. Rotation buttons are now available to select. 3. User selects the rotate 90 degrees clockwise button. |
Selected pipe rotated clockwise by 90 degrees. |
28 | Rotate Pipe 90 Degrees Anti-Clockwise | User can select a pipe and then select the rotate 90 degrees anticlockwise button to rotate the pipe. | 1. Select pipe. 2. Rotation buttons are now available to select. 3. User selects the rotate 90 degrees anti-clockwise button. |
Selected pipe rotated anti-clockwise by 90 degrees. |
29 | Start Flow of Water | User can start the flow of water. | 1. Water flow button is selected. 2. Water continues to flow until the water flow button is selected again. |
Flow of water is started. |
30 | Stop Flow of Water | User can stop the flow of water, if water is currently flowing. | 1. Water flow button is selected while water is flowing. 2. Water stops flowing. |
Water stops flowing. |
31 | Watch Credits | User can watch the game's credits. | 1. User selects Settings Menu. 2. User selects Credits button. |
Credits play. |