SurrealChat.net Wheel-of-fortune

Difference (from prior author revision) (major diff, minor diff)

Changed: 1,62c1
#wheel-of-fortune is the channel that conducts games of Wheel of Fortune via an irssi Perl script.

Current status:
* puzzle list of over 250 puzzles and 30 bonus puzzles (aiming for at least 1000 and 150 respectively; there are now measures in place to ensure no puzzle is repeated within a game)
* inaccuracies with respect to TV show in its season 25 incarnation compared to the currently-running config file:
** timers instituted differently to TV show by necessity (example: in the Final Spin round, you get 20 seconds to give an answer because it's unreasonable to expect an answer to be typed out within 3 seconds); round 4 is always played as a normal round and round 5 always exists in final spin mode
** in the final spin round, an incorrect solve doesn't provide an opportunity to attempt another solve in the event of time remaining (this policy allows for easy ways to advance the game rather than being forced to wait 20 seconds after every turn in the event the player clearly doesn't know)
** sometimes the $2500 in round 1 covers a second space, which is easily alterable by creating a second layout and changing one line, but I won't bother
* keeps track of highest single-game winnings, and also the total winnings and number of games played by each player
* features a delinquency timer: a player who's not responding for 2 minutes during their turn gets a warning strike and loses the turn; a second occurrence within the same game yields disqualification
* allows supplemental puzzles such as "Who Is It?" for $3000 bonus
* tracks nick changes for the active players (normally this doesn't matter since mode +N is set during the game; however, it's possible for a nick to get changed to Guest\d+ even under +N, and the /ns sidentify command works likewise--perhaps if you want to recover from your Guest name and remember to identify this time)

Commands:

While no game is running:
* !spin lets you test out the spinning wheel just for fun. Values are taken from the round 3 wheel.
* !newgame starts a request for players and automatically adds the user as player 1. Use of !newgame will disable the !spin command until the game starts or is cancelled.
* !join adds the player to a game, if a !newgame request is currently pending. The player who initialized a !newgame does not need to use !join.
* !unjoin removes the player from the game, if they don't feel like playing. !unjoin doesn't work after the game has started, or for the player who joins as player 3. Alternately, if player 1 or 2 doesn't feel like playing and the game hasn't started yet, /part or /quit will automatically drop them even if they forget to issue !unjoin.
Note that if a new game fails to get 3 players after 10 minutes, the newgame request is ended automatically so as not to raise the possibility of a game's 3 players including one or two that initialized the game several hours prior and that are no longer paying attention.

During the game:
* As soon as the game starts, the three players are each given +v, and the channel is set +m. Any player can type !audience at any time in the game; if all three players agree to do so, +m will be removed so that spectators can talk.

Tossups
* One random letter from the puzzle is automatically filled in every 5 seconds. The only command that works here is !solve. After entering this command, when you're called on, you get 20 seconds to type out the answer on a separate line. Any line of 2 characters or more that you type at this point will be interpreted as a guess, so don't make any comments like "yay" before typing your answer or you will be ruled incorrect. If you give an incorrect guess or 20 seconds elapse, you're forbidden from attempting to solve for the remainder of the puzzle.

Rounds 1-4

When it's your turn, you can use the following commands:
* !spin spins the wheel. If you spin anything other than Bankrupt or Lose a Turn, you can enter a consonant to see if it's in the puzzle.
* Provided you have at least $250, !buy will prompt you for a vowel (unless you enter one on the same line), and reduce your score by that amount.
* !solve will give you 20 seconds to solve the puzzle (or enter your guess immediately if you put it on the same line as !solve), and either end the round or cost you your turn depending on whether your answer is correct or not.
* !scores will show the overall scoreboard, not the round-specific one, if you want to see who's in the lead (to know how much you should aim for in the round, for instance).
* By analogy, !rscores will show the current round's scoreboard, perhaps if you want to see what your opponents stand to gain if you don't go make it through with the puzzle.
* !letters will show you which letters have yet to be called this round, with vowels in red.
* !puzzle shows the puzzle as it's currently filled in, if for some reason it's scrolled too far upscreen and you want to see it again.
* FREE SPIN: After losing your turn (from a bad solve, guessing an incorrect letter, or spinning Bankrupt or Lose a Turn, but NOT from a delinquency strike), if you have a Free Spin, you can use it. You will be prompted to type "y" or "n" within 15 seconds, with "n" being the default if you take no action. If you choose "y" then you'll give up your free spin but retain control of the board.
* WILD CARD: If you earn the Wild Card, then any time you spin money until the end of the game, or you hand in the wild card or spin Bankrupt, you can use !wildcard instead of !spin, and you can guess another letter with the dollar amount locked in at whatever it was for the last spin, risk-free (there is a config file setting that also allows the wildcard to be used after an incorrect consonant, but it's disabled in the version on display).
* MYSTERY?: In round 3, there are two Mystery? spaces. If you spin one and correctly guess a letter, you'll be given a prompt to enter "y" or "n" within 15 seconds, with "n" being default. If you choose "n", you'll simply be awarded cash equal to $1000 times the number of letter instances. If you choose "y", the space will be flipped and you'll randomly get either a $10,000 prize or a Bankrupt, with equal probability. After a Mystery? space has been flipped, the other one remains on the wheel, but it simply functions as a $1000 space without the option to flip.

Round 5 - Final Spin
* In this round, the wheel is only spun once, at the start of the round. A spin of Bankrupt or Lose a Turn is ignored and silently respun until a cash value comes up, and the value for consonants is $1000 plus the value of the spin, for a net range of $1300 to $6000. On the actual show, $5000 spins come up more often than others (a conscious effort on the part of Pat Sajak and the producers), so this version crudely approximates this by weighting $5000 to come up about 20% of the time, and the adjacent $300 and $600 spaces to come up 14% each (specifically, 60% of final spins are undisturbed random spins, respun only in case of Bankrupt or Lose a Turn; the other 40% are forced into a span of 7 pegs centered on $5000).
* There's no need to use !-commands in this round, though !letters, !puzzle, and !scores still work. The active player simply types in a letter, and in the event of a correct guess will get 20 seconds to type in the answer. Just as in the tossups, don't enter any extra messages between your letter guess and your puzzle guess, or it will be interpreted as an incorrect answer. If you don't want to guess, you can either wait 20 seconds, or type in a filler message such as "pass".

Bonus Round
* Only the player with the highest score after round 5 plays the bonus puzzle, and disqualified players' scores are not taken into consideration. Losing players will lose their +v at the start of this puzzle, leaving them unable to make any comments until the bonus puzzle is over unless !audience was activated during the game.
* After the puzzle is revealed, the player has 20 seconds to pick letters. Normally this is 3 consonants and a vowel, none of which are allowed to be R, S, T, L, N, or E; but if the winning player still has a Wild Card from earlier in the game, the player picks 4 consonants instead of 3. Correct syntax for guessing letters consists of all letters being placed on the same line, and an optional comma and/or space between letters. If the player has not guessed letters properly within 20 seconds, a default guess of "C D M A" is entered, with P being the fourth consonant in the case of a wild card still in play.
* When the letters are filled in, a 20-second timer starts for guessing the bonus puzzle. There's no penalty for incorrect guesses here; the player can guess as often as desired until either 20 seconds run out, or a correct answer is given. Either way, at the end of the game, channel mode +m and the winner's user mode +v are removed, and players can again make open spins or start a new game.

If you come across any bugs, send a /msg to Tails with the details, or post about it here:
*

TODO:
* since I'm now using Config::IniFiles to handle the game format file, I may switch the puzzle files over to ini-file format (which would allow me to do away with the hackish puzzle file parser I have in place now, which depends on overly-strict syntax, and would additionally allow all 3 puzzle files to be consolidated into 1, though at the cost of a less universal format for storing puzzles
* season 1-4 "shopping mode" - just for the lulz
* the old Star Bonus mechanism - also for the lulz; would require significant rewriting of bonus code
* be able to handle tiebreakers that are speedup rounds rather than tossups (as happened in old WOF configurations prior to a tossup-capable board)
* there's been a request for a function that will disable the delinquency timer just as !audience disables +m; would it really be a good idea to potentially hang the game indefinitely that way?
* create a [TextEvents] config section so that all the messages in the game are themable (for i18n, perhaps)
*
This channel moved. You probably want #wof.

This channel moved. You probably want #wof.

This page is read-only | View other revisions
Last edited January 8, 2009 12:02 am (diff)
Search: