Xonotic Forums
[SUGGESTION] Make 'em talk [BOT] WE NEED A CODER! - Printable Version

+- Xonotic Forums (https://forums.xonotic.org)
+-- Forum: Creating & Contributing (https://forums.xonotic.org/forumdisplay.php?fid=10)
+--- Forum: Xonotic - Suggestion Box (https://forums.xonotic.org/forumdisplay.php?fid=20)
+--- Thread: [SUGGESTION] Make 'em talk [BOT] WE NEED A CODER! (/showthread.php?tid=2114)



Make 'em talk [BOT] WE NEED A CODER! - unfa - 09-07-2011

Someone asked: what if someone tries to talk to bots?

Well... they will not respond.
But they could ;)

Any bored AI programmers want to have some fun creating a program that would make bots respond to chat messages in a funny and more-or-less relevant way?

What do we do?

I think one way would be to make a dictionary of phrases that carry a meaning for bots and to define a list of answers that can be randomlly picked. %me is replaced with bot's name. Like:

1. "gg", "good game" → "gg" "GG" "good game" "Good Game" "Good game" "Gg"
2. "nice one %me", "nice %me", "n1 %me" → "Thanks." "thanks" "ty" "TY" "Ty :)" "TY :D" "ty ;)"
3. "where you from %me" "where are you form %me" "where r u %me" "wru %me" → "Botlandia" "Botlandia, dude. Beatiful country."

And so on. We could also make several categories of typers:

1. messy ("yo have nic riode")
2. pedant ("Have a nice ride.")
3. avarage ("have a nice ride")
4. vovels-only ("hv nc rde")
5. 1337 ("/,/-\\/3 /-\ /\/1(3 21/)3")
6. rofler ("have a nice rofl")
7. emoticonic ("Have a nice ride :D :D")
8. elaborative ("I hope you're gonna have a nice ride, folk. Don't forget me once you're done!")
9. unrelevant ("I like me toes dancing samba, man!")

And make 1 or 2 versions of every answer in each category, so a bot would also get a typis category number to determine his writing style :D

Coding shouldn't be a big pain, most work would be filling in the tables.

What do we get?

A lonely bot playing with you on an empty server might entertain you a bit and maybe even trick somebody that he is not playing with bots.

Why not?

If you have better things to do.

Why do?

If you have no better things to do.


RE: Make 'em talk [BOT] - Cortez666 - 09-07-2011

(09-07-2011, 06:03 PM)unfa Wrote: Why not?

If you have better things to do.

There are many many reason against this.
- their behavior is still retarded
- waypointsystem doesnt work well on some maps
- there is no bot support for modes like freezetag for example
- and some modes just work bad like LMS or nexball

Im sure mand1nga can add some other problems


RE: Make 'em talk [BOT] - unfa - 09-07-2011

It's not about bot's movement, it's about them interacting with players via game chat!

Of course if you can spend the time on coding one of those lovely shiny features - go and do it!
Otherwise: you can relax programming something less needed but far more enjoyable to do Wink


RE: Make 'em talk [BOT] - divVerent - 09-08-2011

Sure, no problems with such features, they're very low priority though.

If a new coder who can't help anywhere else yet wants to do this, go straight ahead! It can be a good way to learn the code base. I'd tell him what he needs to know (where to receive chat, how to send, etc.) so he can get started.

One thing I'd require though: such a feature must be able to be turned off.


RE: Make 'em talk [BOT] - unfa - 09-08-2011

Cool! Should it be disableable by both servers and clients?


RE: Make 'em talk [BOT] - PinkRobot - 09-08-2011

unfa:

For servers that is a HELL YES from me.

For clients, don't know. Players will respond to stuff said by the bots. If you can not read the bot, the other chat might get confusing. So either it should be always on for everyone and not disableable, or it should be on by default and disableable. In that last case the player will know he will start to miss parts of the conversation.

Maybe a "vcall mute #n" should be availableable if a certain bot gets too annoying :p

The only thing I could see against this, is that it might look a bit desperate. We have so few players, we need to look popular by making bots talk like real players Tongue But, if I had more time I would probably enjoy trying to code this.


RE: Make 'em talk [BOT] - Mepper - 09-08-2011

That would be amazing! I would really love to see them talk, but please do give them humor! Things like "I hope you're gonna have a nice ride, folk. Don't forget me once you're done!" should absolutely be included.

If someone could make this... That would be absolutely fantastic, great idea unfa!


RE: Make 'em talk [BOT] - nowego4 - 09-08-2011

If a new player thinks they're actual players and then the bots don't respond to questions and act like retards, it won't make a good impression...


RE: Make 'em talk [BOT] - unfa - 09-08-2011

(09-08-2011, 03:00 PM)nowego4 Wrote: (...) and then the bots don't respond to questions and act like retards, it won't make a good impression...

They should be ready to say:

"Sorry, dude, I'm just a computer program, I don't know this stuff you're talkin'bout..."

Them hardly pretending they are human would do BAD impression, but them humorously saying that they're bots would feel very funny and interesting.

If guys making a game spent time on programming bots to write funny stuff on chat - they must be cool guys, and the whole project gains in their eyes.

I'd be really happy to work on the dictionary, but I can't code this feature, I need someone who will make this work.

If you're a coder and want to help, or you just want to join and have fun writing funny lines and testing this - please raise your liver!

I think we might also need some (a lot of) random archives from real game chat to be able to make bots respond to real stuff.

I think the algorithm should search for key words (also including case sensitivity and allowing some treshold of error like missing letters, misplaced letters, wrong letters etc. - things we all do while typing).

I think I'm gonna try to make a little test of my concept in Python to figure out how (and if) it will work. I'm just not sure If my programming skills are brilliant enough... Dodgy


RE: Make 'em talk [BOT] - Minkovsky - 09-09-2011

Give them personality!
Create at least two sets of messages for each playermodel, and have the talking engine select one at random from the start and use that one for the round. Or create a special file called bottalks.txt, make message groups whose names you can then use in bots.txt to give a bot its own personal lines.


RE: Make 'em talk [BOT] - unfa - 09-09-2011

Yay. That's right. I wrote about this as "typist gropus" Tongue
But the essence is the same: making several sets of chat messages for bot to follow one pattern (style of writing).


RE: Make 'em talk [BOT] - kuniu the frogg - 09-09-2011

unfa Wrote:Make 'em talk [BOT]

but we do, we really do...

and btw, don't cut our legs off.






ok, sorry, stupid joke...


RE: Make 'em talk [BOT] - Minkovsky - 09-09-2011

Some lines:
Game start:
Xonos/Robot:
"Initiating asskicking sequence..."
"Xonos Deployed."
Gak:
"\"Hi, Billy Mays here!\" Yeah, right."
"Are you guys for dinner? You don't LOOK tasty."
"I swear I'll sue the tourist agency for this..."
Got fragged:
Gak:
"HEY! It's supposed to go the other way around!"
"No, YOU are MY dinner!"
Erebus:
"It's because of the neon lights, is it? Damn suit."
"You know, I spent half a million bucks on this armor!"

etc...,

So personality trends should follow these:
- Xonos is a typical fighter robot
- Gak went to a tour agency for a safari but got dumped on the arena instead
- Erebus thinks he'll win because of his pimped-out suit.


RE: Make 'em talk [BOT] - Spaceman - 09-09-2011

Server admins or anybody with rcon access can use bot_cmd
Code:
rcon sv_cmd bot_cmd "Jo Grant" cc "say hi"
Code:
raw dp sv_cmd bot_cmd "Jo Grant" cc "say hi"

Jo Grant is the bots name.

I used this on Simba CTF to confuse a few players.

Use "rcon sv_cmd bot_cmd help" for a full list of bot commands.

"raw dp ..." is used with Rcon2IRC, but it needs a special plugin enabled.

It would be useful with bots in team games if they told you they were going to attack or defend, but not every time as that would be very spammy.


RE: Make 'em talk [BOT] - Minkovsky - 09-09-2011

Or treat bots as bots and just have a window in the UI with listings for bots in your team, possible to disable from the UI editor or via a cvar.

Thanks for the suggestion, though.


RE: Make 'em talk [BOT] - tZork - 09-09-2011

sth link alice or the modern day equiv could be used for this i guess, even quite funny. but i cant spare the time for implementing it atm. its a good idea tough, bots are quite boring atm.


RE: Make 'em talk [BOT] - Lee_Stricklin - 09-14-2011

(09-09-2011, 09:29 AM)Minkovsky Wrote: Some lines:
Game start:
Xonos/Robot:
"Initiating asskicking sequence..."
"Xonos Deployed."
Gak:
"\"Hi, Billy Mays here!\" Yeah, right."
"Are you guys for dinner? You don't LOOK tasty."
"I swear I'll sue the tourist agency for this..."
Got fragged:
Gak:
"HEY! It's supposed to go the other way around!"
"No, YOU are MY dinner!"
Erebus:
"It's because of the neon lights, is it? Damn suit."
"You know, I spent half a million bucks on this armor!"

etc...,

So personality trends should follow these:
- Xonos is a typical fighter robot
- Gak went to a tour agency for a safari but got dumped on the arena instead
- Erebus thinks he'll win because of his pimped-out suit.

lol The cheesier the better, would be quite entertaining for newcomers who show their face online.


RE: Make 'em talk [BOT] - Minkovsky - 09-14-2011

Example responses to:
>Good Game
Xonos: I only support such games as Action 52, Gyromite and Stack-Up.
Was: Xonos: I only support such games as Action 52, Kid Kool and Castlevania II.
Gak: You're talking about yourself, right?
Erebus: Dude, that's, like, the best game of my life!
Seraphina: Almost as good as the one I got killed in.
>Where you from, X?
Xonos: I was manufactured by Botlandia Industries in Botlandia.
Gak: That stupid tour agency in Botlandia, where else?
Erebus: Botlandia, dude! Where else would you get such a cool armor?
Seraphina: Land of the dead. No, really: I was dead before Botlandia Industries resurrected me.

New personality traits:
Erebus is codified as the 90's kid.
Seraphina is kinda goth.


RE: Make 'em talk [BOT] - Lee_Stricklin - 09-14-2011

Hey hey, now Castlevania II Simon's Quest was a love it or hate it game and in my opinion pretty good but heavily flawed.


RE: Make 'em talk [BOT] - unfa - 09-14-2011

Haha: funny idea to give them personalities, Minkovsky!

We could merge our ideas to give bots both personality and typing style. Nice ideas, keep it up! Smile


RE: Make 'em talk [BOT] - Minkovsky - 09-14-2011

(09-14-2011, 09:28 AM)Lee_Stricklin Wrote: Hey hey, now Castlevania II Simon's Quest was a love it or hate it game and in my opinion pretty good but heavily flawed.

And how could I forget the ROB games? Quick, to the EditMobile!


RE: Make 'em talk [BOT] - Minkovsky - 09-15-2011

some Random messages
A personality file should include a few of those, their overall probability and frequency, ie. 75% @ 1.5 minutes means that every 1.5 minutes there is 3/4 chance of a bot sending one of these messages.
Xonos (25%@1min):
"Charging batteries completed."
"RSS feeds updated. No new orders found."
"Paradox detected. Sent to command for analysis. Continuing normal operation..."

Gak (50%@1min):
"Come on, I'm HUNGRY!"
"Wow, this sure is a nice place..."
"Interesting walls. Surely inedible though."

Erebus (60%@1.3min):
"Cool place!"
"I'd totally build a house here! After I'm finished with you losers, that is!"
"DUUUUUUUDE!"

Seraphina (20%@1min):
"I find this place ironically interesting."
"Good location for a gothic cemetery... For all of you."
"${map name} is a good name for a goth-rock band, don't you think?"


RE: Make 'em talk [BOT] - unfa - 09-15-2011

Hey! Cool idea, Minkovsky!!

I'd just make the intervals 3 times longer and chances 2 times lower. Imagine 5 bots repeating those lines over and over.

And we need at last 10 times more lines Wink

Yes, I'm into o-v-e-r-k-i-l-l-i-n-g this feature. Really. Lets do it to the max or not do it at all, otherwise - it will just be an annoying stupid thing that everyone will just dream of disabling.

One more thing: please don't spam this place with tons of lines, just say that you have some. Or show your best ones, or just some to explain your concept.

We first need the machanics of this feature working, then we'll input the data. Maybe I should create another thread just for lines brainstorming?

Who can help coding this?

We need a coder!