D1. Specifications
1. User Stories
As a (role) I want (goal) so that (reason)
As a user, I want to click a button and be able to select a minigame to play so that I can learn about cyberbullying.
As a user, I want to receive badges upon completing minigames and/or tasks so that the game is fun and motivates me to want to continue learning.
As a user, I want to select which avatar I want so that the game is best suited for me.
As a user, I want to be able to customize whichever avatar I choose.
As a user, I want to be able to complete the minigame and have an overall score at the end so that I can see how well I did.
As a user, I want to be able to advance through the minigames, with the city filling up as each game is completed.
As a user, I want to be able to play through each minigame fully, having a score displayed as I go.
As a client, I want mascots present in the game to help guide the users on their journey and give them tips/tricks.
As a client, I want tutorials present in the game to help users figure out how to navigate the game.
2. Requirements
Functional Requirements
Definite
Application must respond to interaction with the minigame button by displaying a view of minigames to play.
Application must display a text box for users to enter their preferred name upon being started for the first time.
Application must display an avatar for the user.
Application must display all task widgets for user to view lesson material.
Perhaps
Application must display badges for users upon the completion of a minigame, given that their score was acceptable.
Application must allow for the customization of user avatars, such as eye color, hair color, etc.
Application must display a selection of avatars for users to select from.
Application must display all widgets containing tasks that the user has unlocked.
Application must display completed lesson materials in a separate location of the mobile app that users are still able to access and view.
Improbable
Application must have 16 minigames available to choose from under the minigame widget.
Application must save player information for all users to replay minigames.
Non-functional Requirements
Definite
Upon playing minigames, the user will be able to see their score as they correctly or incorrectly answer questions. (performance)
User's progress is saved throughout their game-play (reliability)
The system should be able to run on multiple operating systems (e.g. iOS, Andriod)
The User's information included in their account will be secure.
The application must not overwrite previous information, unless it is necessary to do so. (Reliability)
Perhaps
User training will be available for users to learn how to effectively navigate the app.
Upon opening the game or exploring new or particularly difficult sections, video tutorials will be present. (usability)
*note: we wanted to incorporate videos, and it would've been very possible, but we were unable to get these resources from the client*
As needed, a mascot will appear to the user to assist and guide them. (usability)
User has access to a help menu that explains how the app works (usability)
The user should be able to access files for extra information and support. (Usability)
The user should be able to change their avatar while playing the game. (Usability)
Improbable
The user should be able to navigate through all 16 minigames and see animations of their avatar moving. (performance)
Application must give the user updates on Cyberland as they complete tasks.
Application must allow for parts of Cyberland to be clicked on and navigated to.
Application must allow for user to unlock more of Cyberland as they play.