Author Topic: Interacting with a Bot - Player feedback requested  (Read 3501 times)

slickriptide

  • Elite Boss
  • *****
  • Posts: 356
Interacting with a Bot - Player feedback requested
« on: May 23, 2016, 04:51:18 PM »
As some folks may be aware, I'm working on adapting a "chat bot" into something that can control an avatar inside Paragon Chat and interact with a human.

Having recently spent some effort to make the bot capable of sending on an arbitrary CoH chat channel (Local, Broadcast, Request) and also of automatically replying on the channel a message was received from - I've realized that a NPC bot should almost never be broadcasting a reply to the whole zone, unless doing so is part of a specific function the bot is performing.

This wasn't an issue in "real" City of Heroes. You didn't actually "talk" to a NPC. You initiated a series of dialogs and nobody but you ever saw the text. (This was actually something of an immersion issue when it came to task forces and such.)

A chat bot "NPC" has to behave more like a NPC in Everquest. EQ is "old school" trigger-response interaction. In the really old days, you never knew just what the right thing to say to a NPC might be. You started with "Hail!" and looked at what the NPC said in response and decided which of the words in the response might trigger the next "link" in the dialog chain. At a certain point, EQ (and similar "chat with a NPC" type games) adopted a convention of bracketing trigger keywords so the player didn't have to guess whether to ask about "what map", "who has the map", "what direction", "what enemy", etc... The NPC would say, "My [treasure map] has been stolen!" and you'd know what to ask about.

A bot is going to "hear" on whatever channel the player happens to have set as his chat channel. The player could be standing three feet away and still be in Broadcast, shouting, "Tell me about the bank robbery!"

This means that a bot has to be selective rather than automatic about how it responds to messages from players.

Off the top of my head, these are the options that present themselves:

1) The NPC ignores broadcast entirely and only responds to direct /tell or Local channel prompts.

2) The NPC responds to broadcast with directed /tells in the Local channel, regardless of the <channel/> associated with the incoming message. A player who shouts "Treasure Map!" to the whole zone will get a private response from the bot.

3) The NPC always responds only to the player who said the trigger phrase. This has the disadvantage that people in that player's group can't "hear" the dialog. An outsider watching would see five people all shouting "Treasure Map!" at a silent NPC.

4) The NPC always responds in Local chat to every player within "earshot", regardless of who said the trigger phrase. This has the disadvantage of someone nearby getting overloaded with responses if many people are interacting with the bot simultaneously.

I'm thinking at the moment that choices 1 and 3 are the "best", though I tend to think that 3 & 4 are a matter of taste and server population. If only a few people are ever around the bot then 4 might be the best choice instead.

I'd be interested in how users of Paragon Chat might feel about this sort of interaction. If you talk "out loud" to a bot, do you want the bot to reply "out loud" so that everyone nearby "hears" it, or do you prefer it to be totally private between you and the bot, even if you initiated the conversation "locally" instead of "privately"?

« Last Edit: May 23, 2016, 04:57:16 PM by slickriptide »

crashpositron

  • Elite Boss
  • *****
  • Posts: 342
Re: Interacting with a Bot - Player feedback requested
« Reply #1 on: July 11, 2016, 07:58:38 PM »
I'd like to use 'chatbots' in PChat games.  The most useful one to me would be a bot that replies in Local when sent a direct tell. 

E.G. Walk up the NPC (named say, Clue 1) and say " /tell Clue1, Tell me about it" and the NPC might reply "/local There was a trail of blood going east from the scene".
I could then hide bots in various places, give clues to find them and the players could follow the trail of clues.

saipaman

  • Elite Boss
  • *****
  • Posts: 921
Re: Interacting with a Bot - Player feedback requested
« Reply #2 on: July 11, 2016, 09:55:24 PM »
I'd like to use 'chatbots' in PChat games.  The most useful one to me would be a bot that replies in Local when sent a direct tell. 

E.G. Walk up the NPC (named say, Clue 1) and say " /tell Clue1, Tell me about it" and the NPC might reply "/local There was a trail of blood going east from the scene".
I could then hide bots in various places, give clues to find them and the players could follow the trail of clues.

I see lots of entertainment potential if you changed the NPC to "AngryPlayer1" and then asked the NPC to tell you about NCSOFT.

Kassandros

  • Dead Already and Dead Again
  • Minion
  • **
  • Posts: 44
Re: Interacting with a Bot - Player feedback requested
« Reply #3 on: July 12, 2016, 02:12:09 AM »
1 sounds best to me assuming this is an npc type bot.

saipaman

  • Elite Boss
  • *****
  • Posts: 921
Re: Interacting with a Bot - Player feedback requested
« Reply #4 on: July 12, 2016, 03:02:23 AM »
1 sounds best to me assuming this is an npc type bot.

How about an NPC you could poke to tell you how many posts there are in the 'New Efforts' thread?

Dyne

  • Lieutenant
  • ***
  • Posts: 54
  • Gluer of Gears
Re: Interacting with a Bot - Player feedback requested
« Reply #5 on: July 14, 2016, 05:41:25 PM »
As I recall, my badgebot only accepts and responds to commands via /tell.   It does have an "attract" behavior where it periodically emotes/speaks in local to bring awareness to its existence when someone is nearby, especially if it doesn't have them in its database already, so it listens to movement in the meta channel, but it ignores all non-tell chat.  So, basically option 1.

If only I had time to work on it.
-= Virtue Server - 2004-06-13 to 2012-11-30 =-
hortis publicis gemini in aeternum

Usurper Dyne, Still Heart, River Elemental, Saul Invictus, Grim Grinner