Back to MetaDeck Project Home

GR1 - Task analysis

User analysis

There is basically just one user class, someone that plays card games. Interviewees all fell within this user class. They mentioned that they wanted an interface flexible enough to allow them to play more obscure games. They also wanted it to look clean, so that they mainly just see cards on a table and no other clutter. Following are some examples of people that would find MetaDeck useful.
 

Tim is a college student. He likes to play all sorts of card games. He plays cards with his friends every now and then, but they play different games all the time. Instead of having to use different sites for playing various card games, and having to maintain user accounts at each site and learning different interfaces, he could just use MetaDeck every time.

Jack is an Asian parent. He plays this Asian card game called tractor on weekends with his Asian parent buddies. He recently moved far away and can't play with them live anymore. They can't find any sites that support playing tractor online, but he knows that he can always use MetaDeck.

Ashey is a high school student. She and her friends invented this new card game, and they want to play it online. They don't know how to program, so they can't make their own multiplayer card game client for this new game. Fortunately, they can use MetaDeck to play this game.

Task analysis

Task: Start a new round

Goal: Clean up from previous round and start a fresh round

Subtasks:

  1. Collect all the cards into one stack
  2. Shuffle the stack
  3. Deal cards by splitting the stack into different stacks
  4. Give the stacks to the players
Task: Communication

Goal: Convey information between players

Subtasks:

  1. Select which users to send message to
  2. Enter and send the message

Notes: For now, we'll probably stick with a chatbox panel for simplicity. Multiple interviewees mentioned that built-in voice chat would be highly desirable.

Task: Play a card

Goal: Move a card from your hand onto the table

Subtasks:

  1. Select a card or multiple cards from your hand
  2. Move the cards onto the appropriate stack of the table

Notes: A related task is moving a card from a stack to another task, or merging two stacks.

Task: Update the score

Goal: Keep the score consistently updated

Subtasks:

  1. Select player's score to change
  2. Input the new score

Notes: There will probably be a minimizable scoreboard panel in the corner of the interface.

Task: Change games

Goal: Clean up table and set up deck for a new type of game

Subtask:

  1. Clear the table
  2. Possibly change the deck composition (# of decks, add jokers, etc)

Domain analysis

Entities

Player: A person connected to the server. Has a name, a seat position, and a score for the current game.

Hand: Represents the cards that the player is holding. Each player has exactly one hand. Only he can see the contents of his hand, others just see how many cards he is holding.

Stack: A collection of cards, representing a physical stack of cards on the table. Stacks can be rotated different ways on the table, and can be face up or face down. Hands are special instances of stacks.

Card: Represents a card in the deck. Has a number and suit, possibly a joker. Stacks contain a positive number of cards.

l

  • No labels

1 Comment

    • In your user analysis, it seems like your different personas would also differ in areas like technical proficiency, and willingness to learn a new interface.
    • Missing preconditions from task analysis?
    • Domain analysis doesn't mention games or rounds

    Have you tried to see how your proposed system would actually handle a few real-world card games? It's a neat idea, I'm just worried that it will be difficult to capture all of the potential rules of many card games. Have you considered making this a mobile application?