Post new topic Reply to topic
 [ 10 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: 14690
Age: 28
Gender: Male

Cash: 95.94
Bank: 59,143.88
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 chat 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.
  • As a fun hidden 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"


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

_________________
Image


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: 2558
Age: 23
Gender: Male

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

_________________
Vote for the T&J Revival
:mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
Image


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: 14690
Age: 28
Gender: Male

Cash: 95.94
Bank: 59,143.88
Yes it should always be in there now. If that wasn't clear in the explanation of usage 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


Top
  Offline Profile E-mail  
      
 Post Post subject: Re: GameBot in the Chatroom
Posted: Sat Jul 06, 2019 2:53 pm 
Why am I even here?

Joined: Sun Dec 18, 2016 1:06 am

Posts: 97
Gender: Female

Cash: 255.58
Any announcements for us, bookworm?


Top
  Offline Profile E-mail  
      
 Post Post subject: Re: GameBot in the Chatroom
Posted: Sat Jul 06, 2019 3:02 pm 
ToO Historian
ToO Historian
User avatar


Joined: Thu Jul 06, 2006 8:10 pm

Posts: 14690
Age: 28
Gender: Male

Cash: 95.94
Bank: 59,143.88
I am very excited to announce the addition of Codenames to the GameBot library!

I'm extremely proud of this - I wrote the whole program myself. The previous games came with the bot; I made significant modifications, but the underlying gameplay logic was provided. But this one was written by me from the ground up.

We've played several test games and it's a lot of fun! I was very pleased to find the game dynamics work just as well over IRC as playing with people in person.

_________________
Image


Top
  Offline Profile E-mail  
      
 Post Post subject: Re: GameBot in the Chatroom
Posted: Mon Jul 08, 2019 11:30 am 
Why am I even here?

Joined: Sun Dec 18, 2016 1:06 am

Posts: 97
Gender: Female

Cash: 255.58
Playing Codenames was so much fun! I always like being the one giving out the clues and watching the team try to figure them out. It's also nice to see the other team interpreting their clues the wrong way. XD Like with the other GameBot games, it doesn't take much time to get used to playing it in the chat as opposed to in real life.


Top
  Offline Profile E-mail  
      
 Post Post subject: Re: GameBot in the Chatroom
Posted: Mon Aug 19, 2019 12:13 pm 
ToO Historian
ToO Historian
User avatar


Joined: Thu Jul 06, 2006 8:10 pm

Posts: 14690
Age: 28
Gender: Male

Cash: 95.94
Bank: 59,143.88
Another update, announcing the addition of two press your luck dice games: Zombie Dice and Farkle!

I'm very pleased with how these both turned out. Zombie Dice is based on some code I found which functioned for the game basics but lacked implementation of some of the mechanics; I added the missing functionality and made some modifications and improvements to the other parts. Farkle uses game code that pleasantly needed minimal tinkering from the original version other than the refactoring that both programs needed to translate them from stand alone applications to a format the bot could facilitate.

Neither has a player limit, they can be played solo if desired. I also created a limited AI for each which allows for GameBot to be added as an extra player if you want.

_________________
Image


Top
  Offline Profile E-mail  
      
 Post Post subject: Re: GameBot in the Chatroom
Posted: Tue Aug 20, 2019 4:38 pm 
Care Bear Admin
Care Bear Admin
User avatar


Joined: Fri Apr 01, 2005 7:42 am

Posts: 28579
Age: 34
Gender: Female

Cash: 8,495.27
Bank: 1,958.31
Wow, it sounds like you put a lot of work into this, bookworm. :D

_________________
Image


Top
  Offline Profile E-mail  
      
 Post Post subject: Re: GameBot in the Chatroom
Posted: Tue Aug 20, 2019 9:24 pm 
Why am I even here?
User avatar
surely it must be madness to hear no voice at all.

Joined: Mon Nov 18, 2013 10:30 am

Posts: 93
Age: 16

Cash: 133.50
Bank: 0.00
Thanks bookworm!

_________________
Image

High wellborn Lady shnoodlec Knight of the Order of Augustine, formally known as Queen of the Monkeys. now enjoying an era of peace between the Monkeys and Vampires. permanent n00b. Q&A thread HERE. come find me on the ToO chat if you dare.


Top
  Offline Profile E-mail  
      
 Post Post subject: Re: GameBot in the Chatroom
Posted: Tue Aug 20, 2019 10:23 pm 
ToO Historian
ToO Historian
User avatar


Joined: Thu Jul 06, 2006 8:10 pm

Posts: 14690
Age: 28
Gender: Male

Cash: 95.94
Bank: 59,143.88
Catspaw wrote:
Wow, it sounds like you put a lot of work into this, bookworm. :D
I do, and I really enjoy it. I work on it in my spare time and it's a great way to keep my coding skills sharp! It's very gratifying to see the work come together into something tangible that people really use and enjoy.

_________________
Image


Top
  Offline Profile E-mail  
      
Display posts from previous:  Sort by  
Post new topic Reply to topic
 [ 10 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.