Skip to content

Team Weekly Quest User Stories

Popa Razvan edited this page Mar 29, 2015 · 9 revisions

Stories for the team system

Brief description of the system

The main entities are player, team and owner.

The "Team Quest" page is at the center of the system. Its display will vary in conformity with the state of the entities.

Main Features:

  • Create a team - visible if not already in a team.
  • Join a team - visible if not already in a team.
  • Leave team - visible if in a team.
  • Invite a player to join your team - only visible to the owner, if the team is not full.
  • Invitations list - visible to the players that are not in a team.
  • Requests list - visible to the owner of a team that is not full.

Creating a team

Trigger: A player wants to create a team.

Precondition: The player is not in another team.

Scenario:

  • The player clicks on "Team Quest" and then on "Create a team".
  • If the player is already in a team the player is redirected to the "Team Quest" page.
  • The player has to fill the mandatory field "Team name":
    • The name of the team has to be unique, there cannot be two teams with the same name.
  • The player can fill in the optional fields "Team Member 2", "Team Member 3", "Team Member 4":
    • The player will type the name of a valid player which, if not in a team, will receive an invitation to the newly created team.
  • The player clicks on "Create".
  • If the "Team name" field is not filled, the player will see the error message "Please fill the mandatory field" and will be kept on the same page, with the form intact.
  • If the "Team name" field is not unique, the player will see the error message "Team name is not unique, please select another" and will be kept on the same page, with the "Team name" field reset.
  • If players from the "Team Member" fields can not be invited, the team will be created and the owner will be informed by the invitation failure.
  • The "Invitations" section is replaced by the "Requests" section.
  • After the team is created, the player (owner) is redirected to the refreshed "Team Quest" page.

Inviting a player to join your team

Trigger: A team owner wants to invite another player to join his team.

Precondition: The team is not full.

Scenario:

  • The owner clicks on "Team Quest", where he finds the "Invite another player" field.
  • The owner types the name of the player he wishes to invite and he is shown a drop-down list of the existing players with that name.
  • The owner clicks "Invite".
  • If the invited player is already in a team, the owner gets an error message saying "This player is already in a team".
  • If the invited player is not in a team, he is sent an invitation to join the team.
  • The "Team Quest" page is refreshed.

Requesting to join a team

Trigger: A player wants to join a team.

Precondition: The player is not in another team.

Scenario:

  • The player clicks on "Team Quest", where he finds the "Join a team" field.
  • The player types the name of the team he wishes to join and he is shown a drop-down list of the existing possible teams with that name.
  • The player can type the exact name of the team or click the one suggested in the drop-down list.
  • The player clicks on "Join".
  • If the team is full, the player will be given an error message saying "That team is full."
  • If the team does not exist, the player will be given an error message saying "Team name does not exist."
  • If the team exists and is not full, the player will be given a message saying "Your request to join the team has been sent.".
  • The "Team Quest" page is refreshed.

Accepting an invitation to join a team

Trigger: A player is invited to join a team and wants to accept the invitation.

Precondition: The player is not in a team.

Scenario:

  • The player clicks on "Team Quest", where he finds the "Invitations" section.
  • The player finds the team in the list of invitations and clicks "Accept".
  • If the team is not full at the time, he joins the team and is kept on the "Team Quest" page. The "Invitations" section is emptied and no longer visible.
  • If the team is full, the player gets a message saying "The team was filled meanwhile." and the invitation is removed from the list.
  • The "Team Quest" page is refreshed.

Refusing an invitation to join a team

Trigger: A player is invited to join a team and wants to refuse the invitation.

Scenario:

  • The player clicks on "Team Quest", where he finds the "Invitations" section.
  • The player finds the team in the list of invitations and clicks "Refuse".
  • The invitation is removed from the list.
  • The "Team Quest" page is refreshed.

Accepting a request to join a team

Trigger: The owner of a team wants to accept a join request from another player

Precondition: The team is not full.

Scenario:

  • The owner clicks on "Team Quest", where he finds the "Requests" section.
  • The owner finds the player in the list of requests and clicks "Accept".
  • If the player is already in a team at the time, the owner is given an error message saying "Player is already in a team." and is kept on the "Team Quest" page and the request is removed from the list.
  • If the player is not already in a team, he is added to the owner's team.
  • If the team becomes full, the "Requests" section is emptied and becomes invisible.
  • The "Team Quest" page is refreshed.

Refusing a request to join a team

Trigger: The owner of a team wants to refuse a join request from another player

Scenario:

  • The owner clicks on "Team Quest", where he finds the "Requests" section.
  • The owner finds the player in the list of requests and clicks "Refuse".
  • The request is removed from the list.
  • The "Team Quest" page is refreshed.

Kicking a player from your team

Trigger: An owner wants to remove a player from his team.

Precondition: The player is in the owner's team.

Scenario:

  • The owner clicks on "Team Quest".
  • The owner find the player's name in the "Team Members" section and clicks "Kick".
  • The owner is asked to confirm his decision.
  • If the owner confirms, the player is removed from the team.
  • The "Team Quest" page is refreshed.

Leaving a team

Trigger: A player wants to leave a team.

Precondition: The player is already in a team.

Scenario:

  • The player clicks on "Team Quest", where he clicks "Leave your team".
  • The player is asked to confirm whether he truly wants to abandon his current team or not.
  • If the player is the last team member (the owner), further confirmation will be requested as the team will be destroyed when he leaves.
  • The player is removed from the team.
  • The "Invitations" section is again visible.
  • The "Team Quest" page is refreshed.

Stories for the actual gameplay

Starting a quest

Trigger: A player wants to start the quest.

Precondition: There is an active quest.

Scenario:

  • The player finds "Start Quest" on the main page and clicks it.
  • The player is redirected to the "Quest" page, which has only the "Level I" section visible.
  • The "Start Quest" button is replaced by "Play Quest" for all the members of the team.

Answering a question

Trigger: A player wants to answer a question.

Precondition: The player / player's team has started the quest.

Scenario:

  • The player finds "Play Quest" on the main page and clicks it.
  • The player is redirected to the "Quest" page, which shows the unlocked and incomplete sections, labeled "Level N".
  • The player clicks on the label of the level he wants to see and is directed to the right section.
  • The player types the answer of a question on the corresponding field and clicks "Answer".
  • If the answer is wrong, he will be given an error message saying "Wrong answer!".
  • If the answer is right:
    • The question is grayed out (becomes inactive) for all the members of the team.
    • The progress bar is updated for all the members of the team.
    • If the conditions to unlock a question on the next level are met, the player is given a message saying "You unlocked question M on level N".
      • If the unlocked question is the first on the new level, its section becomes visible.
  • The "Quest" page is refreshed.

Unlocking the final level

Trigger: A team answers the last active question of a level.

Precondition: The team has finished the last but one level.

Scenario:

  • The player correctly answers the last question of the last but one level.
  • The level sections become invisible for all the players of the team.
  • The player is redirected to the "Final Quest" page, where only the last question is.

Finishing a quest

Trigger: A team finishes the quest.

Precondition: The current level of the team is the final one.

Scenario:

  • The player correctly answers the question on the "Final Level" section.
  • A congratulations message is displayed for all members of the team "Congratulations! You finished this week's quest on position N!".
  • If 1 <= N <= 10, an entry is made on the "Quest History" page, visible to all the players.
  • The "Play Quest" button is removed from the main page.
  • The player is redirected to the main page.

Stories for Team Quest in C-panel

Main Features:

  • Add Quest:
  • Edit Quest:
  • Delete Quest:

Add quest

Trigger: A Staff member wants to add a new team quest.

Scenario:

  • The Staff member clicks on “Quest” and then on “Add Team Quest”
  • The Staff member has to select the number of levels the quest will have and then fill the mandatory fields:
    • Start date:
      • The Staff member fills in the date and time the quest will be released
      • The application doesn't permit the Staff member to fill in a wrong date.
    • End date:
      • The Staff member fills in the date and time the quest will end
      • The application doesn't permit the Staff member to fill in a wrong date.
    • Title:
      • The Staff member fills in the name for the quest
  • If the mandatory fields have been completed, the Staff member can continue by pressing "Add Questions"
    • The Staff member picks the questions for each level from drop-down boxes
    • The maximum number of questions per level is restricted depending on the level number
    • The questions that have already been chosen for a level will be eliminated from the other drop-down boxes
    • The Staff member can find questions by typing searched content at the begining of the box
  • The Staff member has the option of either saving the quest, reseting all the fields or canceling the quest