Microsoft Word - Scattergories.docx
Scattergories Project
CSC 241 Winter 2021
Prototype Scattergories Game App
While some games require complex graphical displays to render the nuance of play, others are
impressively simple while still quite fun. Scattergories is an entirely text-based game in the real world
and should translate pretty easily to even a simple text user interface. The basic rules are fairly simple.
Players must think of words within a list of categories that start with a randomly selected letter within
the allotted time. After the time is up, players compare their list of words to the other players and
score points for acceptable, unique words. For example, if the category is Food and the random letter is
P, the result may have turned out as:
Player 1: Papaya Player 2: Pickle Player 3: Papaya Player 4: Pickled Pepper
Players 2 and 4 would score points for this topic, but Players 1 and 3 would not. Player 4 would earn 2
points by some versions of the rules because their answer included a P on both words. A quick search
on Scattergories will show more examples and detailed explanations of the rules.
Your team will prototype a virtual version of Scattergories played using Python apps that users can run
emotely and play asynchronously. Each player can thus play their rounds at their convenience and
send in their results for later scoring. Being a prototype, try to simulate the complete game experience
from start to finish, and add details to each feature within the game as time allows.
Feature 1: Starting a new game
One player initiates a game choosing the number of rounds. The result of starting a game is a text file
that stores the categories for each round. The initiating player can then email or otherwise share the
game with any nu8mber of players.
Possible enhanced feature(s):
ï‚· Allow the player to choose the numbers of categories in each round rather than the fixed lists
ï‚· Randomly generate categories from a pool of categories, so the game is different each time
 Rather than sending a file in plain text, cipher the file’s output so the players cannot see the
words in advance.
Feature 2: Playing a round
Upon receiving the game file, a player can complete their round. The app should present the categories
to the user from each round, starting by reminding the user of the round’s starting letter. Then present
each category within that round, capturing the answers for each category. The app should save the
player’s responses to each round in a new file.
Possible enhanced feature(s):
ï‚· Provide some feedback for the user if their word does not start with the target letter
ï‚· Optimize the user interface for speed
ï‚· Track how quickly the user responds to the set of categories in a round
ï‚· Show the user some timer or updated progress of time as they complete the round
Scattergories Project
CSC 241 Winter 2021
Feature 3: Scoring
Upon completing the round, the players then send their answer files back to the game originator for
scoring. The scoring feature should allow the user to see all of the player answers for a given category
within a given round.
Possible enhanced feature(s):
ï‚· Consider the most usable interface. Is showing one category at a time easier, or showing all of
the answers for an entire round? Does the number of players matter? Should there be multiple
options of interfaces the user can select from?
ï‚· Provide initial scoring by identifying when players have exact matches and suggest initial points
ï‚· Capture the points for each user in each round and compute the totals for the round and
perhaps the winner of the game
ï‚· Provide a new summary file that players can review and dispute the answers of other players or
otherwise suggest changes to the scoring
Your team’s goal is to cover the core behavior in each feature. Don’t rule out the enhanced features too
quickly, as it may turn out they are easier to implement than the proposed core behavior. At the same
time, don’t fall in love with making one feature perfect while not completing a basic version of the full
game. It is better to enhance the basic version of the app than to have a half-completed masterpiece
that is not useful.