Skip to main content

Use-case descriptions

Use Case 1: Non-Playing User Hosts a Game Lobby

Screenshot 2025-04-27 at 12 11 53 PM

Actor(s): User

Preconditions:

Flow of Events:

  1. User clicks the "Create Lobby" button.
  2. User specifies the "Max Players" (2–8).
  3. User specifies the "Number of Rounds" (1–10).
  4. User clicks the "Launch Room" button.

Postconditions:

  • A new game lobby is created without the host participating as a player.

Use Case 2: Playing User Hosts a Game Lobby

Screenshot 2025-04-27 at 12 22 54 PM

Actor(s): User

Preconditions:

Flow of Events:

  1. User clicks the "Create Lobby" button.
  2. User specifies the "Max Players" (2–8).
  3. User specifies the "Number of Rounds" (1–10).
  4. User clicks the "I'm Playing Too" button.
  5. User selects an avatar.
  6. User clicks the "Launch Room" button.

Postconditions:

  • A new game lobby is created with the host participating as a player.

Use Case 3: Hosting User Shares Game Lobby Code

Screenshot 2025-04-27 at 12 34 01 PM

Actor(s): Hosting user

Preconditions:

  • A game lobby has been created.

Flow of Events:

  1. A shape-based room code is generated automatically.
  2. User views the room code on screen.
  3. User shares the room code with other players.

Postconditions:

  • Other players are able to join the lobby using the shared code.

Use Case 4: User Joins an Existing Game Lobby

Screenshot 2025-04-27 at 12 38 47 PM

Actor(s): User

Preconditions:

  • User has received a valid room code.

Flow of Events:

  1. User navigates to the Scribblers! website.
  2. User clicks the "Join Lobby" button.
  3. User enters the provided room code.
  4. User selects an avatar.
  5. User clicks the "Join Lobby" button.

Postconditions:

  • User successfully joins the existing lobby.

Use Case 5: User Attempts to Join a Non-Existing Lobby

Screenshot 2025-04-27 at 12 40 16 PM

Actor(s): User

Preconditions:

Flow of Events:

  1. User clicks the "Join Lobby" button.
  2. User enters a random or incorrect room code.
  3. User selects an avatar.
  4. User clicks the "Join Lobby" button.
  5. An error message is displayed indicating the room does not exist.

Postconditions:

  • User remains on the "Join Lobby" screen.

Use Case 6: Hosting User Starts a Game

Hosting User Starts a Game

Actor(s): Hosting user

Preconditions:

  • A lobby has been created and players have joined.

Flow of Events:

  1. Host waits for players to join the lobby.
  2. Host clicks the "Start Game" button once ready.

Postconditions:

  • The game begins, and the first round starts.

Use Case 7: User is Presented with a Drawing Prompt

User is Presented with a Drawing Prompt

Actor(s): Drawing user

Preconditions:

  • Game has started, and it is the user's turn to draw.

Flow of Events:

  1. User is selected to draw.
  2. User is shown a prompt word above the drawing board.
  3. User is shown an image associated with the prompt word.

Postconditions:

  • User prepares to draw the assigned prompt.

Use Case 8: User is Assigned to Draw on the Drawing Board

User is Assigned to Draw on the Drawing Board

Actor(s): Drawing user

Preconditions:

  • User has been assigned the drawing role.

Flow of Events:

  1. User's avatar displays a "Drawer" status and a pencil icon.
  2. User gains access to drawing tools.
  3. User draws by dragging finger or mouse across the canvas.

Postconditions:

  • Drawing is broadcasted to all connected users.

Use Case 9: Drawer Undoes a Drawing Stroke

Drawer Undoes a Drawing Stroke

Actor(s): Drawing user

Preconditions:

  • User is actively drawing.

Flow of Events:

  1. User clicks the "Undo" button.
  2. The most recent stroke is undone on the canvas for all users.

Postconditions:

  • Canvas updates reflect the undone stroke for all players.

Use Case 10: Drawer Clears the Drawing Board

Drawer Clears the Drawing Board

Actor(s): Drawing user

Preconditions:

  • User is actively drawing.

Flow of Events:

  1. User clicks the "Clear" button.
  2. Entire drawing board is cleared for all users.

Postconditions:

  • Canvas is reset to blank for all players.

Use Case 11: Drawer Changes Stroke Color

Drawer Changes Stroke Color

Actor(s): Drawing user

Preconditions:

  • User is actively drawing.

Flow of Events:

  1. User clicks a color option from the palette.
  2. User continues drawing with the selected stroke color.

Postconditions:

  • New stroke color is displayed on the canvas.

Use Case 12: Drawer Changes Stroke Width

Drawer Changes Stroke Width

Actor(s): Drawing user

Preconditions:

  • User is actively drawing.

Flow of Events:

  1. User adjusts the stroke width slider.
  2. User continues drawing with the selected stroke width.

Postconditions:

  • New stroke width is applied to the canvas.

Use Case 13: User is Assigned the Role of Guesser

User is Assigned the Role of Guesser

Actor(s): Guessing user

Preconditions:

  • A drawing round is in progress.

Flow of Events:

  1. User is assigned as a guesser.
  2. User is shown the drawing canvas and an AAC board of possible guesses.

Postconditions:

  • User is able to select guesses based on the drawing.

Use Case 14: Guesser Selects an Incorrect Guess

Guesser Selects an Incorrect Guess

Actor(s): Guessing user

Preconditions:

  • User is viewing the AAC board during a round.

Flow of Events:

  1. User selects an incorrect guess from the AAC board.
  2. Guess is displayed on the message board.
  3. AAC board becomes temporarily disabled for 5 seconds.

Postconditions:

  • User must wait before making another guess.

Use Case 15: Guesser Selects a Correct Guess

Guesser Selects a Correct Guess

Actor(s): Guessing user

Preconditions:

  • User is viewing the AAC board during a round.

Flow of Events:

  1. User selects the correct guess.
  2. "Correct" message is displayed next to the user's avatar.
  3. A checkmark image is shown beside the message.
  4. User’s score is calculated based on time remaining.
  5. AAC board disappears from the user's screen.

Postconditions:

  • User successfully guessed the drawing.

Use Case 16: All Guessers Guess Correctly

All Guessers Guess Correctly

Actor(s): All guessing users

Preconditions:

  • A drawing round is in progress.

Flow of Events:

  1. All guessers select the correct guess before the timer ends.
  2. A popup appears indicating all users guessed correctly.
  3. Round ends and new roles are assigned.
  4. A new round begins.

Postconditions:

  • Game progresses to the next round.

Use Case 17: Round Timer Ends Before All Guessers Guess Correctly

Round Timer Ends Before All Guessers Guess Correctly

Actor(s): All players

Preconditions:

  • A drawing round is in progress.

Flow of Events:

  1. Round timer reaches zero.
  2. A popup appears indicating time has run out.
  3. Round ends and new roles are assigned.
  4. A new round begins.

Postconditions:

  • Game progresses to the next round without all correct guesses.

Use Case 18: Game Ends (Regular Player)

Game Ends (Regular Player)

Actor(s): All players (non-host)

Preconditions:

  • The maximum number of rounds is reached.

Flow of Events:

  1. Game session ends.
  2. Endgame screen displays final leaderboard.
  3. User clicks the "Leave Lobby" button.

Postconditions:

  • User returns to the main website or lobby list.

Use Case 19: Game Ends (Host)

Game Ends (Host)

Actor(s): Hosting user

Preconditions:

  • The maximum number of rounds is reached.

Flow of Events:

  1. Game session ends.
  2. Endgame screen displays final leaderboard.
  3. Host is presented with a "Play Again" button and "Leave Lobby" button.

Postconditions:

  • Host can choose to start a new game or leave the lobby.

Use Case 20: Users Choose to Play Again After Game Ends

Users Choose to Play Again After Game Ends

Actor(s): Hosting user and players

Preconditions:

  • Game session has ended, and players are on the endgame screen.

Flow of Events:

  1. Host clicks the "Play Again" button.
  2. All users are returned to the lobby.
  3. Host clicks the "Start Game" button to begin a new session.

Postconditions:

  • A new game session starts with the same players.