Post new topic Reply to topic
 [ 3 posts ] 
Author Message
 Post Post subject: GameBot in the Chatroom
Posted: Wed Mar 21, 2018 5:24 pm 
ToO Historian
ToO Historian
User avatar


Joined: Thu Jul 06, 2006 8:10 pm

Posts: 14253
Age: 27
Gender: Male

Cash: 875.70
Bank: 55,000.00
I want to let everyone know about a fun new feature I've set up in the Chatroom.
In the #gameroom channel there is now a bot which is able to run games of Apples to Apples (minimum three players), Uno (minimum two players), and Poker (minimum two players).

I am in the channel most evenings, drop by if you feel like a game or two. It's become a pretty regular thing for some frequenters and I to play a few rounds of Apples to Apples before heading to bed and it's really fun!


How to use it:
Bot commands begin with "^" these are used to start or stop one of the different games.
Once a game is running new game-specific commands beginning with "!" are available which are how you play.
"^help" and "!help" list the available bot and game commands respectively (bot commands will always be the same, game commands will depend on which game, if any, is currently activated)

Order of events:
Load up a new game if one is not active (example: ^start Uno)
Start a new instance of that game (!start)
Have other players join and follow the instructions to play (!help lists commands)
To change to a different game unload the current one first (example: ^stop Uno)
Then load the new one (example: ^start ApplesToApples)
Start a new instance of this new game (!start)

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 started it will resume the previous game 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 "^stop" to unload.
A few ways this 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
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 type of game that the previous players were using, instead of the usual instructions to start a game the previous one will be rejoined in progress.
If the new players decide to leave the game for the previous ones 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
Then use "!start" to begin a new one that they can join
(I'm not going to declare any 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 but you find a previous game saved, you're there now you get to end it and play a new one. 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.)



Important:
Please be sure to always unload the current game if you are the last person to leave the channel and there is a game running. You can decide whether the appropriate thing to do is use just "^stop" to save and unload or "!end" first to delete then unload, but either way make sure you run "^stop" 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 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 the list of available games. You are okay to leave the channel. If it shows the list of games and also a current game type it means a game is still loaded. Use "^stop" to unload the game shown before leaving.


A few various notes:

Apples To Apples allows players to drop in and out fluidly. New people can use "!join" while a game is already running to receive a hand of cards and be added right into the current round if judging has not begun yet or to the next round if it has. If a player needs to leave midgame, using "!quit" removes them so the others can keep playing. If someone left without quitting, another player can use "!del <username>" to remove them. If they return later and the same game is still going, they can use "!join" to jump back in with the same cards and score they had when they left.

If you lag out and get disconnected or accidentally close your client you are not removed from the game. Reconnect to the Chatroom, rejoin the channel, and you can resume play. 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.

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 D" as a fun hidden feature.


Please post here or PM me if you have questions or problems with anything.
Have fun! :D

_________________
Image
Sig by snubs


Top
  Offline Profile E-mail  
      
 Post Post subject: Re: GameBot in the Chatroom
Posted: Thu Mar 22, 2018 1:54 pm 
Autumn is a Glorious Season
Autumn is a Glorious Season
User avatar
I am :mrgreen:

Joined: Sat Sep 24, 2011 2:37 pm

Posts: 2536
Age: 22
Gender: Male

Cash: 2.12
Bank: 631.96
Does this mean we can now summon GameBot without you in there? :mrgreen:

_________________
I am Mr. Green
:mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
Image
A helpful graphic, for those who may be confused.
Image
That is all.



Last edited by ~JCGJ~ on Thu Mar 22, 2018 2:04 pm, edited 2 times in total.

Top
  Offline Profile E-mail  
      
 Post Post subject: Re: GameBot in the Chatroom
Posted: Thu Mar 22, 2018 1:58 pm 
ToO Historian
ToO Historian
User avatar


Joined: Thu Jul 06, 2006 8:10 pm

Posts: 14253
Age: 27
Gender: Male

Cash: 875.70
Bank: 55,000.00
It should always be in there now. I tried to make that clear in explaining the usage, but if it wasn't I'll reiterate.

When you want to play something just join the channel and the bot should be there either already running a game if others have been playing or idling ready to load and start one.

_________________
Image
Sig by snubs


Top
  Offline Profile E-mail  
      
Display posts from previous:  Sort by  
Post new topic Reply to topic
 [ 3 posts ] 

All times are UTC - 7 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  

Powered by phpBB © phpBB Group
The site is in no way affiliated with Focus on the Family. "Adventures in Odyssey" is the registered trademark of Focus on the Family.