Chatroom GameBot

This is a place where gamers can come and tell of their favorite games, discuss current games, head up gaming contests, and join in on online games that others are playing. It's a place run by gamers and enjoyed by all types of gamers alike.
Post Reply
User avatar
bookworm
ToO Historian
ToO Historian
Posts: 16248
Joined: July 2006
Contact:

Chatroom GameBot

Post by bookworm »

GameBot User Manual

The following is a comprehensive introduction to the GameBot running in our Chatroom and explanation of its functionality and usage. I've made this because the original thread is no longer a good place to point new users for information since there has been much additional development of the bot since its original release. This post can now be a one-stop reference for understanding how the bot works and it will be updated as needed to always be an overview of the most current implementation that is active in the Chatroom.

For announcements of new games that get added to the bot and updates on other development, as well as general discussion or questions about bot usage, see this thread. For specific feedback or questions you may post there or PM me directly.



What is the GameBot?

GameBot is an application I have set up to run in our Chatroom in the #gameroom channel.
It is able to run several games through messages sent and received in that channel.

What games can I play?

This is the current library of games the bot can run:
  • Apples To Apples (Word association game) 3+ players, optional AI player
  • AiO Apples (Adventures in Odyssey themed Apples To Apples) 3+ players, optional AI player
  • Bop It (Timed reaction game) 1 player
  • Codenames (Word association team game) 3+ players
  • Farkle (Press your luck dice game) 1+ players, optional AI player
  • Just One (Cooperative word guessing game) 2+ players
  • Poker (Texas hold 'em) 2-23 players
  • Uno (Card matching game) 2+ players
  • Yahtzee (Poker style dice game) 1+ players
  • Zombie Dice (Press your luck dice game) 1+ players, optional AI player
More games can be added! If you have a specific suggestion PM me and I'll see if I can make it work! It has to be something that can be played through just sending and reading text so the easiest to implement are dice games, card games with simple mechanics, and word games, but I might be able to get other kinds of things to work if we can find clever ways to approach them.

How to use GameBot:

Bot commands begin with "^" these are used to start or stop one of the different games or to use one of the bot's base functions.
Once a game is running, new game-specific commands beginning with "!" become available which are how you play the games.
"^help" and "!help" will list the available bot commands and game commands respectively. Bot commands will always be the same and can be run at any time. Game commands will depend on which game, if any, is currently activated and can only be used while that game is running.

List of bot commands:
  • ^list - shows the games that can be played and, if there is one, the currently active game
  • ^start <gamename> - starts a game from the list
  • ^stop <gamename> - stops the specified game
  • ^roll - rolls dice
  • ^flip - flips a coin (^flip <number> for multiple)
  • ^calculate - does math
Additional feature: The bot can randomly choose something from a pair or list of options if asked with "GameBot, decide between A and B" or "GameBot, decide between A, B, etc, and E"

See the sections below on the different games for lists of their specific commands and explanations of gameplay.



Important functionality information:
Because of the way the bot sends player information for most of the games there are some things to be aware of to ensure you will be able to properly interact with it.

Required: The chat client you are using must display notice messages. These are a different type of IRC message than a regular post to a channel and are used by the bot to send game information specific to a particular player to that player individually, for example showing your hand of cards.

Not required, but highly recommended for ease of use: A chat client that displays notices in the channel you are currently viewing rather than in a separate server messages tab. This will allow you to play seamlessly within the gameroom channel rather than needing to switch back and forth between some other place where you are getting the game update messages.

Not required, but recommended for improved gameplay experience: A chat client which renders text formatted with IRC color codes. Some of the games use text with certain parts bolded or in specific colors. While you do not really need to see this formatting, you can play fine by just reading plain text, being able to see the colors makes following the information somewhat easier and it looks nice.


Not all IRC clients behave the same way in regard to where and how they display notice messages and whether they show colored text. If you want to be sure you get the fully-featured GameBot experience that I have in mind when I design the various games these are my recommendations for the chat programs to use, tested to confirm they perform as expected when interacting with the bot:

For playing in your browser:
Mibbit - select that option in the "Interface" dropdown list when loading the #gameroom webpage and connecting to the Chatroom.
It is highly recommended to have an ad-blocker active to keep the Mibbit layout clean and compact for the best user experience.

For playing on your phone:
Atomic IRC - see this webpage for instructions on how to install the app and correctly configure the settings.


Note for Kiwi users: If you use this interface option for chatting in a browser, the notice message behavior changes if a private message tab is open. If you have received a PM from GameBot, because you used the !rules command for example, or for any other reason, and you do not close the PM tab when you are done reading it, then notice messages that the bot sends to you will be sent into that PM tab even if you have changed back to viewing the gameroom channel. To prevent this you should close the PM tab after reading what the bot sent you, then notices will be displayed in the gameroom channel as intended.
Getting started:
The cycle of interaction with GameBot is to first use a bot command to load one of the game modules, then use a series of game commands to start and play your chosen game until it ends or you are finished, then either start another session of the same game in which case you just continue using game commands or change the game by using bot commands to unload the current module and then load a different one and use game commands to start and play that new game.

Example order of events:
  • Load up a game module if one is not already active: ^start Uno
  • Start a new instance of that game: !start
  • Have other players join and follow the instructions to play: !help
  • To change to a different game unload the current one first: ^stop Uno
  • Then load the new one: ^start ApplesToApples
  • Start a new instance of this new game: !start
  • Check the new game's commands for people to join and play: !help

Please be sure to unload the current game with "^stop" if you are the last person to leave the channel and there is still a game module loaded, so the bot is not wasting resources trying to run a game with no active players. When no one is playing the bot should be idling in the default state of waiting for someone to run "^start" and load a game type. You can check what state the bot is in by using the "^list" command. If the bot is in the default state it will show only the list of available games and you are okay to leave the channel. If it shows the list of games and also a current game type it means a game module is still loaded; if this is the case please use "^stop" to unload the game shown before leaving the channel.
Saving games:
Note that if an active game is ended with "^stop" it does not delete the running game. The game state will be saved and unloaded, allowing for another one to be started up. The next time the previous game type is loaded with "^start" the previous game will resume where it left off. (This only works for one of each type of game. For example, you can save a game of Uno to change to Apples To Apples, but you can't have multiple games of Uno at the same time.)

If you want to actually end a running game, not just pause and unload it, use the in-game "!end" command first before using the "^stop" bot command to unload. A few ways this game state situation may come into play are shown in the following examples.


Scenario 1A:
Two people are playing Uno. Someone else comes in and they decide to change to Apples To Apples instead so everyone can play.
The original players want to save their Uno game so they can get back to it later.
Series of commands:
  • "^stop Uno" saves the game and returns the bot to the idling state
  • "^start ApplesToApples" loads the new game type
  • "!start" begins an actual game of this new game type
Later, to resume the original game:
  • "^stop ApplesToApples" unloads this game
  • "^start Uno" resumes the original game where it left off

Scenario 1B:
Same situation as before, but this time the original players don't care about saving their game.
Series of commands:
  • "!end" concludes the game of Uno
  • "^stop Uno" unloads Uno from the bot
  • "^start ApplesToApples" loads the new game type
Now when "^start Uno" is next run it will load a fresh instance ready to start a new game


Scenario 2:
Some people are playing a game and after a while save and unload it, then all leave. New people join the channel and want to play a game of their own.
In this case when they use "^start" if they load the same type of game that the previous players were using, instead of getting the usual instructions to start new a game the previous one will be rejoined in progress.
  • If the new players decide to leave the game for the previous players to return to:
    • They use "^stop" to resave the game and unload it again
    • Then use "^start" to load a different type of game and play that instead
  • If the new players still want to play the game they originally tried to start:
    • They use "!end" to conclude the previous game that had been loaded in progress
    • Then use "!start" to begin a new game session that they can join


I'm not going to declare specific etiquette that should be followed here, like if you see a game is saved you should always leave it for the original players to come back to; it's up to you. If no one else is in the channel and you find a previous game saved, you're there now you get to end it and play a new one if you want. Or you can leave it if you want to, your choice. The bottom line is don't expect a game you save to still be there later when you come back. It's a possibility that the bot allows, it's not a sure thing that it will happen. Especially if you leave it for a long time.
Players coming and going:
If you lag out and get disconnected from the Chatroom or accidentally close your chat client while playing you are not removed from the game. Reconnect to the Chatroom, rejoin the channel, and you can resume play from where you dropped out. You can use "!status" to see what stage the game is in, whose turn it is, and other information to get reoriented after coming back.

If a disconnected player does not appear to be returning and they need to be removed from the game in order to proceed, use "!help" to check the command that can be used to delete them from the player list. Take care when doing this; for some of the games using the delete command just sets the player aside with their information saved so they can rejoin if they return, but for other games deletion is actually deletion and if they come back they will not be able to resume playing until the current game concludes and a new one is started. Before using the delete command be sure the player will not be coming back and wanting to resume where they left off, in case the game you are playing is not one where that is possible.

Some of the games do not allow new players to join once a session has been started, but most will. If the currently running game does support it, brand new players can use "!join" at any time while a game is already in progress to get added into the next round and players that have been temporarily removed with the quit or delete commands can return later and use "!join" to resume play. Additionally, some of the games allow players to drop in and out fluidly, meaning a player who temporarily leaves and later rejoins will pick up right where they left off, with their same score and cards as before. In other games they can rejoin, but their previous status is not saved so they will start over at zero. See the sections below on the different games to check which ones have these specific capabilities.



Apples To Apples:

Expand this section to see explanations of the commands and gameplay for this word association game.
Commands:
  • !rules - read how to play
  • !start - start a new game
  • !join - join the game
  • !hand - check the cards in your hand
  • !peek <number> - read the description of a card in your hand
  • !play <number> - play a card from your hand
  • !choose <number> - choose the winner of the round if you are judging
  • !greens - see the green cards you have won so far
  • !status - show the current status and scores of the game
  • !quit - remove yourself from the game
  • !del <username> - remove a player from the game if they left without using !quit
  • !end - end the current game
  • !extra - have GameBot join as an extra player so it's possible to run a game with just two humans
How To Play:
Each player gets a hand of red cards. A green card showing an adjective is selected at the start of each round. If you are not judging, use '!play <cardnumber>' to play a red card, preferably one related to the green card. If you forget your hand use '!hand' to see it again. Use '!peek <cardnumber>' if you want to read a card.

After all players have put down a card, the judge uses '!choose <cardnumber>' to pick the winner. There is no set criteria to determine the 'best' card, the judge simply picks the one they like the most! It could be the one they think fits the green card best, or the match they find the funniest. Usually the judge picks without knowing who played which card, but if they want to they can ask the players to lobby for their cards to help them decide by explaining why they thought their card was a good match for the green card.

The player of the picked card gets a point, someone else is named judge, and a new green card is selected for the next round. Use '!status' to see how many points are needed to win the current game. Most importantly: have fun!
Game Features:
This game needs a minimum of 3 players to be started.

There is an option to add GameBot as an extra player so only two humans are needed to run a game. It will play a random card from its hand each round. It will not act as judge since it cannot determine how good the different cards are, rather than randomly picking a winner it will pass its turn.

New players can join a game already in progress. If judging for the round has not started yet they will be given a hand of cards and can play right away. If already in the judging phase they will be added to the game at the start of the next round.

Players who quit will have their score and cards saved so if they rejoin the game later they can resume from where they left off.



AiO Apples:

Expand this section to see explanations of the commands and gameplay for this word association game.
This is an Adventures in Odyssey themed version of Apples To Apples! See the section above on the original game for commands and information, this functions exactly the same way the only difference is a deck of AiO-related red cards is used.

Have an idea for a card? Add it here!

A list of the cards currently in use can be found here!



Bop It:

Expand this section to see explanations of the commands and gameplay for this timed reaction game.
Commands:
  • !rules - read how to play
  • !start - start a new game
  • !b - Bop it
  • !t - Twist it
  • !p - Pull it
  • !end - end the current game
  • !scores - show the high score
How To Play:
(This module is kind of a joke, it was just created as a coding exercise, but it is a functioning game if you want to play it.)

Bop It is a fast-paced reaction game. GameBot will give you a prompt and you must enter the appropriate command before the response time limit runs out. The further you make it into the game the less time you will have to react.
For "Bop it" the command is !b - For "Twist it" the command is !t - For "Pull it" the command is !p

Only one person can use this module at a time. Whoever first uses the !start command will become the active player. If someone else wants to play they should wait until the first game ends and then use !start themselves to take over game control.
Game Features:
This game is played by one player at a time.

The high score is saved between sessions, you can check what the all-time best chain that has been reached is. If you tie or pass it your username will be added to the score record.



Codenames:

Expand this section to see explanations of the commands and gameplay for this word association team game.
Commands:
  • !rules - read how to play
  • !start - begin setup of a new game
  • !clue <word> <number> - give your team the clue for the current round
  • !guess <number> - reveal a codename's identity after the team has decided on their guess
  • !done - pass the turn (after making at least one correct guess) if the team doesn't want to guess again
  • !grid - show the grid of codenames
  • !words - show the team wordlists (Spymasters only)
  • !status - show how many spies remain for each team and the current Spymasters
  • !end - end the current game
How To Play:
Two teams take turns trying to identify which words in a 5x5 grid are codenames for their spies while avoiding the other team's spies. They make guesses based on clues their Spymaster gives them each round. The first team to reveal all of their spies wins.

The Spymaster knows which codenames are their spies and which are the other team's. On their turn the Spymaster uses "!clue" with a word and a number (example: !clue heavy 2) where the word somehow relates to one or more of their team's codenames in the grid and the number is how many grid words their clue word applies to. They cannot say anything else or lead the players in any way, including reacting to whatever word is eventually guessed.

The rest of the team discusses the clue and decides their best guess of the word(s) the Spymaster was trying to get them to think of. When they have an official guess they should clearly indicate which word it is, guessing one word at a time in order of their confidence level. The discussion should be done publicly in the game channel. The other team will see what you are thinking, but so will your Spymaster which is important. They need to know if you're on the right track or not with your reasoning so they can adjust future clues if needed.

The Spymaster will enter "!guess" and the number of the word the team settled on (example: !guess 7) and that codename's identity will be revealed. If it is one of their spies they may discuss more and make another guess if they want to, based on any remaining clues from previous rounds that they may not have found all the words for yet.

The Spymaster cannot give the team a new clue word until the next round. They can continue guessing up to the number in the Spymaster's current clue +1 times. If they want to stop guessing because they don't think they have enough information to confidently keep going the Spymaster will enter "!done" to end the turn. (At least one guess must be made each turn.)

If the word they guess is one of the other team's spies it gives them a free reveal and the turn passes to them. If it is neither team's no one gets an advantage, but the turn ends. One word is the assassin, if this is guessed the game ends immediately and the other team wins. Spymasters need to be careful to not accidentally lead their team to guess that word.

Valid Clues:

The Spymaster's clue must be a single word. Hyphenated and compound words are ok. The clue word cannot be one of the codenames in the grid. (Until that word gets guessed and revealed, then it can be used in future rounds if desired.) Acronyms are ok if none of the words are in the grid. Proper names are ok, but must still be only a single word. (No full names.)

You can't use a rhyme as your clue, the word has to actually apply to the codename you want them to guess in some way beyond a "sounds like" hint. It is ok to use a word that rhymes though as long as that isn't the reason you use that word. (Meaning it has another valid connection as well.)

Players:

Usually a game requires at least 4 players (1 Spymaster and 1 guesser per team) but it is possible to run a 3 player game where both Spymasters give clues to the same player (a double agent) who does their best to guess each team's words during the appropriate turn.

Ideal gameplay has at least 6 players (2 teams of 3) where each Spymaster gives clues to at least 2 other players who can then discuss the clue between themselves to decide on their most confident guess.
Game Features:
This game only has two people (the Spymasters) interact with the bot, the rest of the gameplay is done through regular chat messages in the channel between the team members, so there are no join or quit commands needed to manage active players. New people can join in if they want to by simply participating in their chosen team's discussion when the next turn starts.

The usual minimum players required is 4, though it is possible to run a 3 player game. For ideal gameplay at least 6 players is recommended. See the "How To Play" section above for details on how the number of players affects gameplay.



Farkle:

Expand this section to see explanations of the commands and gameplay for this press your luck dice game.
Commands:
  • !rules - read how to play
  • !start - start a new game
  • !join - join the game
  • !keep <set> - put aside a set of rolled dice
  • !roll - reroll the dice that aren't put aside in sets
  • !score - end your turn and score the sets that have been put aside
  • !status - show the current scores
  • !quit - remove yourself from the game
  • !del <username> - remove a player from the game if they left without using !quit
  • !end - end the current game
  • !extra - have GameBot join as an extra player
How To Play:
Farkle is a press your luck dice game. At the start of your turn roll 6 dice. Choose one or more scoring sets of rolls to put aside. End your turn and bank those points, or reroll the dice you did not put aside to try getting more points.

Every time you roll you must be able to put aside at least one new set of dice from the results. If you ever roll and get no results that can be put aside that's a Farkle and you get no points that turn, even if you had sets put aside from a previous roll.

If you put aside all 6 dice into scoring sets and want to continue your turn you start rolling again with 6 new dice. When a player reaches 10,000 points it triggers the end game and the others get one more turn each. After that the highest banked score wins!

These are the sets of dice that can be put aside and what each is worth:

[5] 50 points
[1] 100 points
[1,1,1] 300 points
[2,2,2] 200 points
[3,3,3] 300 points
[4,4,4] 400 points
[5,5,5] 500 points
[6,6,6] 600 points
[1,2,3,4,5,6] 1,500 points
[4 of a kind] 1,000 points
[5 of a kind] 2,000 points
[6 of a kind] 3,000 points
[3 pairs] 1,500 points
[4 of a kind & 1 pair] 1,500 points
[2 triplets] 2,500 points

You cannot combine sets across multiple rolls, each set aside phase is separate. For example, if you set aside a single [1] then roll again and get three more 1's those get set aside as a [1,1,1] set, you cannot add them to the 1 from before to make [4 of a kind].
Game Features:
This game can be played solo.

There is an option to add GameBot as an extra player. On its turn it will put aside all possible sets, in order of the highest values, and continue rolling until there are less than 3 dice left, then it will score.

New players can join a game already in progress.

Players who quit will not have their score saved, if they rejoin the game later they will start over from zero.



Just One:

Expand this section to see explanations of the commands and gameplay for this cooperative word guessing game.
Commands:
  • !rules - read how to play
  • !start - start a new game
  • !join - join the game
  • !clue <word> - submit your clue for the round (Use in a PM to GameBot)
  • !guess <word> - guess the secret word for the round
  • !quit - remove yourself from the game
  • !del <username> - remove a player from the game if they left without using !quit
  • !end - end the current game
How To Play:
Just One is a cooperative party game, everyone plays together as a team to try getting the best score!

Each round one player is selected as the guesser. They will try to figure out a mystery word based on clue words given by the rest of the players. The clue givers will receive a PM from GameBot telling them what the mystery word is. They must then think of a one-word clue without discussing or coordinating with anyone. The clue giver sends their word to GameBot in a PM, so it is hidden from everyone else. When all clues have been submitted they are compared. If any of them match, the guesser does not get to see those clues. The unique clues are shown to the guesser and they make their guess of what the secret word is.

The game runs for 13 rounds. At the end the team sees how many words they were able to guess correctly. This game can be started with as few as two people, but it will be hard to guess the words from only one clue. Ideal gameplay has at least four players, three clue givers and a guesser for each round.

Valid Clues:

Your clue must be a single word. It can't be a variation of the secret word (such as just making it plural) and can't be in the same word family as the secret word. (Example: 'Princess' can't be used as a clue for 'Prince', but 'King' could.) These same rules apply to determining what clues are considered matching and will cancel each other out.

You can't use a rhyme as your clue, your word has to actually relate to the secret word in some way beyond a "sounds like" hint. It is ok to use a word that rhymes though as long as that isn't the reason you use that word. (Meaning it has another valid connection as well.) Acronyms are considered one word and are valid clues if none of the words are the secret word. Proper names can be clues, but must still be only a single word. (No full names.) Numbers can also be used. (Example: '007' is a valid clue for 'Bond')
Game Features:
New players can join a game already in progress.

Players who quit can rejoin later and resume playing starting with the next round. Because this is a cooperative game with everyone working together, there is just one score for the team as a whole which is not affected by players coming and going.



Poker:

Expand this section to see explanations of the commands and gameplay for this card game.
Commands:
Setup:
  • !join - join the next tournament
  • !bankroll <amount> - set size of the initial bankroll [Don't use this command to play a game using the default setting]
  • !blind <amount> - set size of the small blind [Don't use this command to play a game using the default setting]
  • !double <interval> [hands] - set interval (in seconds) for doubling the blinds, optional 'hands' argument changes interval to that number of hands [Don't use this command to play a game using the default setting]
  • !start - start the tournament (there must be 2-23 players joined)
Playing:
  • !rules - read how to play
  • !hand - check the cards in your hand
  • !board - check the cards on the board
  • !check - pass turn without betting if no one has raised
  • !call - call the current bet amount to continue playing the hand
  • !raise <amount> - attempt to raise the bet the specified amount
  • !make <amount> - bet the specified amount, will call or raise as appropriate
  • !pot - call the current bet and raise it by the current value of the pot
  • !jam - go all in, bet your entire remaining bankroll on the current hand
  • !fold - fold your cards and forfeit the current hand
  • !autofold - turn on to automatically fold when there is a bet to you (use command again to turn off)
  • !remind <username> - remind the specified player that it's their turn to act
  • !status - show the current status of the game
  • !vacation - set yourself on vacation
  • !vacation <username> - send the specified player on vacation
  • !back - bring yourself back from vacation
  • !quit - quit immediately, any money you've put into the pot stays there
  • !del <username> - remove the specified player from the tournament
  • !end - ends the current tournament
How To Play:
This is a standard game of Texas hold 'em. It is not necessary to understand all the details of the betting parts to play, the bot will handle those things automatically. You only need to know the very basics of the gameplay.

Each player is dealt two private cards then there is a betting round. Then three shared cards are dealt, followed by another betting round. Two more shared cards are dealt, each followed by another betting round. Then all player's cards are revealed and the best five-card hand that can be made using any combination of the two private cards and five shared cards wins the pot.

Click here to see a graphic showing the different hand rankings. (Lower numbered rankings beat higher ones, 1 is the best hand you can get.) The card suits are represented in the game by letters (example: 8h = 8 of hearts)

A game ends when one or more players has run out of money. If there are still at least two players with money after the game then a new game will begin between them. This tournament style play continues until only one player is left with money.

Gameplay:

The point of the game is to consider your chances of getting a good combination of cards based on which shared cards have been revealed so far, and act accordingly at each betting round. When it is your turn to bet you have multiple options, depending on what the other players have done.

1) If no one has raised the bet for the current round you can "!check" which does not cost anything. This will be the option you use most often, it means you like the current state of the game as it is and you want to move on to revealing the next shared card without changing anything.

2) If you like your odds of having a good hand at the end of the round (for example you have two matching private cards so if another comes up in the shared cards you will have three of a kind) you can use "!raise <amount>" to add more money to the pot the winner will get.

When someone raises the bet, every other player will need to choose to either "!call" that bet and put a matching amount of money into the pot to continue playing, or to "!fold" which means dropping out of any further play in the current round and forfeiting any money they had previously put in the pot.

If you choose to raise, make the amount reasonable. If you set it too big the other players will probably just fold and the round will end. You win, but earn less than if you hadn't scared everyone away. You want the other players to remain in the round as long as possible (if you think you have a good hand) so there are multiple betting phases which increase the pot you will win.

You might also decide to raise when you don't actually have a good hand, but you want to bluff and make the other players think you do. Be careful when trying this though and don't let the betting get too high, because if the other players call and you're stuck playing out your bad hand then you helped your opponents by increasing the pot one of them will win.

3) If someone else in the round has already raised the bet, you must "!call" to remain in the round and continue playing your hand. You should obviously do this if you have a good hand so you stay in the game, but it is also worth doing if you don't have great cards but the amount to call is small because its worth continuing to the next card to see how things develop.

If you were going to raise on your turn because you like your hand but someone else in the round raises before you, rather than just calling their bet you can still use "!raise <amount>" if you want to make the current bet even higher. All players will then have to decide whether to call your new bet or fold.

4) If you don't think you will get a good enough hand to win the round you can "!fold" to give up and the round will continue with the other players. You only need to do this if the betting in the round has been raised to a point where calling the bet is wasting your money because you're sure you won't win.

If you are able to "!check" just do that, even with bad cards, because it costs nothing. You might even consider calling small bets even if you think you have bad cards. You don't need to fold every hand that isn't great, it's a last resort for when you are certain you won't win the round and calling a big bet is required to continue playing.

Remember that your opponent could always be bluffing about how good their hand is, hoping to get you to fold, so it is often worth playing out the round even if you don't seem to have great cards if the bet amounts have not gotten ridiculously high.
Game Features:
This game requires at least 2 players to be started and can accept up to 23 players. It will run a tournament series of games until there is only one player left with money. (If only two people are playing that will mean only a single game gets run.)

New players cannot join a game already in progress, everyone who wants to participate at some point in the series of games must join before the first game of the tournament is started.

Players who use "!quit" are not able to rejoin. If someone needs to stop playing temporarily but will be returning later they should use the "!vacation" command when they go and the "!back" command when they return.

If a player becomes inactive without using !vacation or !quit first and needs to be removed for the game to continue, use "!vacation <username>" or "!del <username>" to either temporarily or permanently remove them from the tournament, whichever is appropriate for the situation.



Uno:

Expand this section to see explanations of the commands and gameplay for this card matching game.
Commands:
  • !rules - read how to play
  • !start - start a new game
  • !join - join a pending game
  • !top - see the current top card
  • !hand - see your hand of cards
  • To play a card use "!play <card>" with no space between the color and number (example: "!play R5")
  • To play a Wild card use "!play WILD <color>" (example: "!play WILD B")
  • To play a Draw 4 Wild use "!play WLD4 <color>" (example: "!play WLD4 G")
  • !draw - draw a new card if you cannot play any
  • !pass - end your turn if you drew a card and still cannot play
  • !status - see the current player, turn order, and cards left
  • !quit - remove yourself from the game so the other players can continue
  • !del <username> - remove a player from the game if they left without using !quit
  • !end - end the current game
How To Play:
Each player starts with a hand of 7 cards. The first one to play all of their cards wins. Which cards can be played on your turn depend on what the top card in the discard pile is. The card you play must match the top card by either number, color, or word. For example, if the top card is a Green 7 you must play a Green card or any color 7 or, if you have one, you may play a Wild card. If you don't have any cards that match you must draw a new card. If you draw a card you can play, play it. Otherwise, pass the turn to the next player.

The following cards have effects when played:

Wild card: When you play this card you may change the active color to any color you want, including the current color.

Wild Draw 4 card: When you play this card you may change the active color to any color you want, including the current color. The next player is then required to draw 4 cards and forfeit their turn.

Draw 2 card: The next player must draw 2 cards and forfeit their turn. If they have a Draw 2 card in hand they may play it to pass the drawing to the next player who must now draw 4 cards. This card can only be played on a matching color or on another Draw 2 card.

Skip card: The next person in line to play loses their turn. In a two player game that means the current player will immediately play again. This card can only be played on a matching color or on another Skip card.

Reverse card: Reverses the direction of play. In a two player game this acts as a Skip card. This card can only be played on a matching color or on another Reverse card.
Game Features:
This game requires at least two players to be started.

New players cannot join once a game is in progress.

A joined player can use "!quit" to leave the game and let the other players continue, but they will not be able to rejoin the game and if all but one player leave an active game it will end.



Yahtzee:

Expand this section to see explanations of the commands and gameplay for this poker style dice game.
Commands:
  • !rules - read how to play
  • !start - start a new game
  • !join - join a pending game
  • !roll - roll the dice that are not marked as held
  • !mark <die_numbers> - mark the specified dice (1-5) to be held or released for your next roll
  • !score <category> - use the specified scoring category for your roll results
  • !card - check your scorecard
  • !quit - remove yourself from the game
  • !del <username> - remove a player from the game if they left without using !quit
  • !end - end the current game
How To Play:
Yahtzee is a poker style dice game. Each turn you have 3 rolls to get the highest scoring combination of 5 dice, setting aside results you want to keep and rerolling the rest. When all players have filled their scorecards the highest score wins!

Start your turn with "!roll" to see your first 5 results. If you want to keep any of them use "!mark <die_numbers>" on the ones you don't want to reroll. If you don't want to keep any use "!roll" to reroll all 5.
(example: You roll 4,3,3,5,1 and want to keep 3,4,5 to try getting a 2 or 6 for a straight. Use "!mark 124" to keep the first, second, and fourth dice as they are.)

The results you mark are carried over and the rest of the dice are rerolled. Use !mark again to specify dice to hold or release for your third and final roll. If you don't want to make any marker changes use "!roll" to keep your holds as they were previously.
(example 1: After the previous holds your new results are [4],[3],2,[5],5 and you want to add the 2 to your holds so you have a Small Straight and reroll the remaining die to try for a Large Straight. Use "!mark 3" to keep the third die; the holds from before stay in place.)
(example 2: After the previous holds your results are [4],[3],4,[5],4 so you decide to stop trying for a straight and instead take 3 of a kind by holding the 4s and reroll the other two dice to try for 4 of a kind or a Yahtzee. Use "!mark 2345" to add the new 4s to your holds and release the second and fourth dice; the first die remains held from before.)

After your third roll decide which category on your scorecard to use for the 5 results you have. (Use "!score <category>") You must use one each turn, even if it won't give you any points from the rolls you ended up with. Each category can only be used once, except Yahtzee which can stack. (As long as the first use was valid.) This game does not use the Joker mechanic; if you roll more than one Yahtzee you can reuse the "Yat" scoring category without marking off an additional box.

If you ever want to use the 5 results you currently have for your score that turn but aren't at the third roll yet, make sure all 5 dice are marked to be held and just use "!roll" until you reach the scoring phase.

When you select a category to be used for scoring your roll, these are the points that each awards if your roll meets the criteria. If your roll doesn't meet the criteria for the chosen category you will get no points.

1-6: total of the corresponding number in your roll (example: scoring 2,2,1,2,4 in "2" gets 6 points)
3 of a kind & 4 of a kind: total of all 5 dice
Full House (3 of a kind & 1 pair): 25 points
Small Straight (4 consecutive numbers): 30 points
Large Straight (5 consecutive numbers): 40 points
Chance: total of all 5 dice
Yahtzee (5 of a kind): 50 points for the first, 100 points for each additional
Bonus: If the total score of your 1-6 categories after all have been used is 63 points or more you receive an additional 35 points. Scoring 3 of each number in each category gives you this, but any combination that reaches 63 works.
Game Features:
This game can be played solo.

New players cannot join once a game is in progress.

A joined player can use "!quit" to leave the game and let the other players continue, but they will not be able to rejoin.



Zombie Dice:

Expand this section to see explanations of the commands and gameplay for this press your luck dice game.
Commands:
  • !rules - read how to play
  • !start - start a new game
  • !join - join the game
  • !roll - roll your next set of three dice
  • !score - end your turn and score the accumulated brains
  • !status - show the current scores
  • !quit - remove yourself from the game
  • !del <username> - remove a player from the game if they left without using !quit
  • !end - end the current game
  • !extra - have GameBot join as an extra player
How To Play:
You are a zombie trying to get brains from people represented by dice. On your turn roll 3 dice randomly drawn from the cup. If you roll a Brain add a point to your potential score for the turn. If you roll a Shot tally a shot for the turn. Put those dice out of play. Choose whether to score the brains you have tallied so far and end your turn, or press your luck by drawing back up to 3 dice and roll the new set. If you reach 3 or more shots your turn ends and you will score nothing that round. If you roll a Runner that die must be rerolled as part of your next set of 3 if you continue your turn. The first player to score 13 or more brains wins!

If the cup has less than 3 dice left to draw from then the dice that have rolled brains so far get put back in the cup. The dice that have rolled shots remain out of play. Each turn starts with 13 dice in the cup: 6 green, 4 orange, 3 red.
The different colors have different odds of what they will roll:
Green Die: 3 brains, 1 shot, 2 runners
Orange Die: 2 brains, 2 shots, 2 runners
Red Die: 1 brain, 3 shots, 2 runners

The strategy is to weigh how many brains you're putting at risk if you roll again against what color dice you are likely to draw based on the number of each left in the cup and considering the risk/reward ratios those colors of dice will have, accounting for any runners you have to reroll knowing what color they are.
Game Features:
This game can be played solo.

There is an option to add GameBot as an extra player. On its turn it will choose to continue rolling until it has 2 shots, then it will score.

New players can join a game already in progress.

Players who quit will not have their score saved, if they rejoin the game later they will start over from zero.




If you have questions or problems with anything please let me know!
Image
User avatar
~JCGJ~
Autumn is a Glorious Season
Autumn is a Glorious Season
Posts: 2567
Joined: September 2011
Location: Orlando, FL
Gender:

Post by ~JCGJ~ »

Will Werewolf be added back soon?
They/Them
:mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
Image
User avatar
Bob
Catspaw Rocks!
Posts: 705
Joined: September 2006
Location: The Metroplex
Gender:
Contact:

Post by Bob »

Technically, as far as I'm aware, GameBot has never had Mafia/Werewolf; the Mafia channel was a separate thing. I think there was a time when they were both online (in different channels), but that was a long time ago now and the Mafia bot died.

If there's a demand for this, it's possible bookworm could have it added sometime.
User avatar
bookworm
ToO Historian
ToO Historian
Posts: 16248
Joined: July 2006
Contact:

Post by bookworm »

~JCGJ~ wrote: Tue Jun 14, 2022 5:45 pmWill Werewolf be added back soon?
That was a separate bot that ran those games in its own channel. I hope we get it online again sometime, but I have no control over that one, Limerick ran it. GameBot actually does have a Mafia plugin, but I don't know how well it works. I never activated it because we already had that game working great elsewhere and I didn't want to reinvent the wheel.

Because the Wolfbot downtimes are so extended when Limerick isn't around to restart it if it crashes, he had said long ago he would send me the code to put on the same server as GameBot and run it the same way so it's online more, but he never did. I do have the original version of the bot he used, but he had said he made some modifications from the public code that it started with so I want to get the actual bot that we had running before.
Image
Post Reply