One Two Many
One Two Many is a simple word-guessing party game.
To begin the game, players suggest strings (words, phrases, etc).
Only two suggestions are accepted (the first two); they are only
revealed when both suggestions are in place.
In succeeding rounds, players again suggest strings. They are trying to
agree, by finding whatever string is the "obvious" combination of the
two guesses from the previous round.
The referee strips leading and trailing whitespace, and compares
case-insensitively. To work around other minor differences of spelling
or phrasing, the game provides each player a "Yeah, those two guesses
are really the same" button. If a majority pushes it, the game is
over.
The game supports up to 15 players. The seat IDs are seat1
to seat15
. At least two players are required to begin the
game.
RPCs
Referee to player
game.begin_initial()
Players may begin sending suggestions for the initial two strings.
game.begin_guessing(round, seat1, str1, seat2, str2)
Players may begin sending guesses. The round is an integer
count, which increments each round, starting with 1.
(The initial round is zero.)
The remaining arguments are the two guesses on the table, and who sent them.
game.guessed(seat)
The given seat has registered a guess. If seat is the empty string,
then no seat has registered a guess. (In both cases, any previous guess mark
is implicitly cancelled.)
game.your_guess_is(str)
Your current guess is the given string.
game.voted_equivalent(seat, bool)
The given seat has declared that the two guesses on the table are
equivalent. (Or, if the argument is false, retract this.)
game.win(seat1, str1, seat2, str2)
The two given seats have won, with the given guesses.
Note that when a round begins, all guessing and voting is implicitly
reset. This is also true on suspend.
Player to referee
game.guess(round, str)
Offer a guess (or a suggestion, in the initial round 0). The round
must match the referee's count, as some protection against race conditions.
If the string is empty, or all whitespace, the player's guess is cancelled.
game.equivalent(bool)
Declare that the two guesses on the table are equivalent. (Or, if
the argument is false, retract this.)
Translation tokens
need_min_players
- The game requires at least two occupied seats.
wrong_round
- Your guess was ignored, because a new round has begun.
not_initial
- You cannot end the game before the first guesses appear.
More of my Volity work
Volity home page