AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

communicating bots
 
 

We’re doing a MUD like single player game where you run around and talk with various bots.

web page <—> prolog <—> chatscript

The game’s online, so of course we’re using the user ID to keep different player’s states separate.

The bots have a set of secret state variables.

The bots will also move around on their own. When they encounter each other they exchange information. So at some point, determined by the external system, arnold for player1 needs to give some info to bob for player1.

Obviously one way is to fake being the player, get the info from arnold, and give it to bob. But I’m wondering if there’s a more elegant way to do this. It looks like system variables are truly global, not per user, and bot variables are per bot, of course. So whats per user but global by bot?

 

 
  [ # 1 ]

Not sure what you mean as per user but global by bot.  Do you mean what can a bot know that is available to all users of that bot?  A bot can use ^export and ^import to write out facts to a file, so for each volley with any user it reads in the file of facts, makes changes, writes out the file again. That is global by bot (assuming you are running multiple bots in a single server).

 

 
  [ # 2 ]

I’m running multiple bots in a single server.

“per user but global by bot” means:

X represents a different variable for different users of bot bob
X represents the same variable for the same user of bots bob and arnold

I do NOT mean “what can a bot know that is available to all users of that bot?”

I DO mean “what can multiple bots know that is available only to a single user?”

concrete example:
I have some bots that represent cliquey teenage girls.

Suzy is a bot.  Meghan is a bot.
Alice is a user. Becky is a user.
At some point Alice tells Suzy a secret.
Suzy’s a bit of a gossip and tells Meghan.
Meghan reveals that she knows Alice’s secret.

Becky, as a different user, should know nothing of this. She has her own Suzy and her own Meghan.

 

 

 
  [ # 3 ]

In order to share information between bots on a per user basis, there are two techniques possible.

1. use the SHARE topic control word to create a bot that gets its data loaded in conjunction with another bot (havent really reviewed this in your use case but I think it works).

2.  each bot reads and writes facts when it handles a volley, using ^import and ^export, writing to a file named by the user name.

 

 
  [ # 4 ]

Anne - I’m doing a similar rpg game mechanics library in C# for eventual inclusion in Unity3d but taking a very different approach while still using CS.  I have the additional requirement for multiple npc and pcs to be in the same conversation.  I’m working on an early prototype of the system right now and it’s too early to talk about it ( I prefer to have something working before I share ) - if you are interested email me and I’ll let you know when I have a workable demo - I’m hoping sometime this summer.  smile

 

 
  [ # 5 ]

nifty!  dropped you a pm with my email

 

 
  login or register to react
‹‹ r:      chatscript erasing i ››