Round Thing of Riches

Class group project for "Foundations of Software Engineering" course.

Gameplay is based on the Wheel of Fortune TV game show; specific rules are below.

The game is intended to be played on a single computer, with all elements managed by a moderator.  This makes it useful for in-person settings, such as a classroom with the teacher as the moderator, or virtual meetings, such as an ice breaker activity for remote teams.  See below on how to launch and manage the game.

Game objective and rules

(Game rules have been adopted from the TV game show rules, which are summarized here

Objective

Accumulate money during a round by making correct guesses of letters in a phrase.  The round ends when a player/team solves the puzzle; only the winning player/team is awarded their earned money at the end of the round.

After the specified number of rounds, the player/team which has was the highest amount of money wins!

Rules

After selecting the number of players/teams participating, the game will start the first round with player 1, the second round with player 2, etc.  There will be as many rounds played as players selected, so each player has the chance to start a round.

Round play

  1. Starting player spins the wheel.
  2. Based on the space it lands on:
    1.  Dollar value: player may guess a consonant for the dollar amount shown on the wheel; play continues if the consonant appears and passes to next player if it does not
    2.  Bankrupt: player loses all money; play passes to next player
    3. Free play: player may guess a consonant for $500, a vowel for free, or try to solve the puzzle; player's turn continues, even if wron
  3. A player that correctly guesses a consonant that appears in the puzzle:
    1. Earns money for each of the guessed consonant that appears in the puzzle (e.g. if on $500 and guess "T" for a puzzle that contains 2 T's, they earn $1000 toward their total score for the round)
    2. May then opt to buy any number of vowels for $250 per guess (e.g. it will cost $250 if the puzzle contains 1 "A" or multiple)
    3. Can try to solve the puzzle after making a correct letter guess
    4. May spin the wheel again to make another guess (step 2)
  4.  The player's turn ends by an incorrect guess (letter or solution) or landing on the "Bankrupt" or "Lose a turn" spaces
  5. Play continues by rotating through players until the puzzle is solved (steps 1-3)
  6. The player who solves the puzzle wins the money they have earned.  All other players get $0 for the round.

Play continues until all rounds have been completed.  The player with the highest score at the end of the game is the winner.  See below for note on tie breaker scenario.

Other rules

  1. Each puzzle will be accompanied by a category that gives a clue or hint about the solution
  2. Players will not be allowed to buy a vowel if the puzzle no longer contains vowels
  3. Players will be allowed to only buy vowels once all consonants in the puzzle have been guessed
  4. Puzzles may only be solved after guessing a correct letter (that is, a player cannot solve the puzzle without either spinning the wheel and making a (correct) guess or buying a (correct) vowel
  5. Minimum round winning is $1000 (e.g., if the player who solves the puzzle has $750, they are awarded $1000 for the round)
  6. Letters which have already been guessed will be unavailble on the game dashboard so it is not possible to re-guess a letter
  7. When only vowels are left in the puzzle, players do not have to spin the wheel.  They may guess a vowel (if they have >$250) or try to solve.
  8. When a tie occurs, the two players who tie will take part in a one-round tie breaker game.  The winner of this round wins the game.

Technology stack used

Game created using Godot game engine

Setup and deployment

  • Hosting and moderating
    1. Host launches game and creates 2-4 teams, depending on the size of the group
    2. Click the "Start Game" button and select the appropriate number of players (teams)
    3. Each team instructs moderator what they would like to do: spin, guess, or solve
    4. Spin: moderator clicks the wheel
    5. Guess: moderator clicks the button corresponding to the letter that was guessed
    6. Solve: moderator clicks the "Solve" button and types the response in the text box that appears, then clicks "Submit" when team approves
    7. In the case of a tie, moderator will assign the tied teams a number 1 through (number of tied teams) for the sudden-death round.  Note that these may not correspond to the team numbers assigned during the regular game rounds.
    8. To replay, moderator can click "Replay" button at the end of a game
    9. Optional: if host is comfortable sharing screen control (over Zoom or Teams) or in-person play allows, teams may have a representative do the above actions themselves, removing the need for a moderator (who can instead participate in the game)

Credits

3rd-party Assets

  1. Wheel Answers Come from DataGrabber's previous scrape of a Wheel of Fortune Facebook game
    1. A truncated version of the HTML containing the table is saved in res://WebScraper/
  2. Font: Lilita One (Google Fonts)
  3. Tools for deployment to GitHub pages:
    1. Guide for deployment
    2. Tool for deployment
    3. Tool for deployment
    4. [Itch.io or embedded gameplay on all browsers](itch.io)
    5. README to HTML Export For GitHub Pages: Stackedit.io

Code snippets

Developers

  •   Alicia Zinnecker
  •  Reagan Burke
  •  Aakash Malepati
var stylebox_active = get_theme_stylebox("normal").duplicate() 
style.<property> = <new value>
add_theme_stylebox_override("normal", stylebox_active)

Translating between ASCII code and character (used in GuessTracker

  var ascii = <string>.unicode_at(0)  # ASCII code for first character of <string>
  button_i.text = char(start_ascii + i)  # convert ASCII code to character

Parsing JSON file (used in PuzzleBoard

  var json = JSON.new()
  var raw_data = FileAccess.get_file_as_string(<filename>)
  var all_answers = json.parse_string(raw_data)

StatusPrototype
PlatformsHTML5
AuthorRsburke
Made withGodot

Leave a comment

Log in with itch.io to leave a comment.