When you figure out that you were speaking the whole time ai thinking that you are making friends...
@phantomwraith19844 жыл бұрын
The bots were the best part of Quake 3. I'd sometimes set up a TDM with only 1 team and just chat with the AI
@paweszczygielski78924 жыл бұрын
I swear that I was extremely shock how smart were bots when I talked to them.This is really insane for 1999.
@Shyguy7158810 ай бұрын
No dlc no 3rd party plugins no advanced algorithms. Just pure coding skills
@RayOfSunlight9844 жыл бұрын
this game has around 20-21 years old,maybe unreal tournament doesn't have this,but both games are cool as fuck i remember one time that a bot done me a "turn down for what",it was unbeleiveable xD
@jakodarex5 жыл бұрын
i'd remember playing this, and chatting with him the whole not playing the game :D
@NerveFlux5 жыл бұрын
Same lol. What with the guns and the arena? 'random bot response'
@mertcanuruni8633 жыл бұрын
90s games very awesome
@can28354 жыл бұрын
how does it work though
@thechosenone7293 жыл бұрын
There was a PDF book about Quake 3 arena bots and how they where made. 10.3 Initiating chats and Eliza chats Just like human players the bots will sometimes say things when the environment changes. For instance when killed, the bot could say something like “nice shot” to the enemy. The bot can also reply to things other players say. For instance when someone says to the bot “you are good” the bot could reply with “no I’m not that good”. Initial chats The initial chats are used by the bot to initiate a chat when something in the environment changes or the bot just feels like chatting. The bot can also use them to respond to something a team mate says. Each bot has a personal set of initial chat lines. In the characteristics of a bot there is a reference to a location where the initial chats for that bot are stored. The initial chats for a bot are stored as follows: chat { type "type name" { "initial chat message"; "another initial chat message"; ... } type "type name" { } ... } The bot can select messages based on the type name. One of the messages listed for a specific type is chosen at random. Reply chats The bot uses the “reply chats” to reply to chat messages from other players. These reply chats work very similar to the Eliza chat program [web. 3]. This chat program was named after Eliza Doolittle and was created by MIT scientist Joseph Weizenbaum. Its mission was to attempt to replicate the conversation between a psychoanalyst and a patient. Eliza talks you into giving her your deepest feelings. She will not remember it in the next sentence and keeps no recollection of anything you say. However, she has a personality like no other program. The bots use a similar system with chat messages that are applicable to the game. All bots use the same reply chats because the number of reply chats tends to grow quite large. Creating different reply chats for each bot character would be too much work and also take up to much memory. 10. Bot Chats Quake III Arena Bot 60 Each reply chat has keys, a priority and several reply chat lines. [key1, key2, ...] = priority { "reply chat message"; "another reply chat message"; ... } Possible keys: name key is true when the name of the bot is found in the chat message female key is true when the bot is female male key is true when the bot is male It key is true when the bot is not male nor female key is true when the bot has one of these names, any number of names can be listed between the < and > "" key is true when the string between the quotes is found in the message to reply to ( ) key is true when the chat message to reply to matches the template between the ( ) The match templates work in exactly the same way as the match templates described above. The matched variables can be used in the reply chat messages. For example: [("I'm not ", 0)] = 4 { "yes you are ", 0; } The priority is a value that is relative to the priorities of other reply chats. The bot evaluates the keys to find out if the reply chat can be used to reply to a certain chat message from another player. A key can be preceded by a & which means that the key has to be true. When a key is preceded by a ! the key must be false. When all the keys with the prefix & are true, and all the keys with the prefix ! are not true, and there is at least one key without prefix true, then the bot may use the reply chat. When several reply chats can be used to reply to a message the one with the highest priority is chosen. Reply chat examples: ["hate you", !"not"] = 7 { "why do you hate me"; "there's no reason for you to hate me"; } Bots can use the above reply chat when someone types the message "I hate you". However if a player types the message "I don't hate you" the bot cannot use the above reply chat because of the key "not" with the prefix !. (Note: "don't" will be replaced by "do not" because of the contraction synonyms in the synonym list. ["love you", !"not", &female] = 6 { "am I the only woman you love?"; "I love you to"; } Only female bots can use the above reply chat. ["camper", !"not", &] = 6 { "I love camping"; "I'm the king of all camp grounds"; "camping with the rocket launcher is what Graeme told me to do"; "so?.. you got a problem with campers?"; } Only the bots Grunt and Stripe can use the above reply chat. Bad reply chats Unfortunately the described representation allows the implementation of reply chats that do not work well or do not work not at all. The reply chats that are troublesome are listed here. [&"looser", !"not", &female] = 6 { "I'm not a looser"; } All the keys in the above reply chat have either the ! or & prefix. No bot will never use this reply chat because at least one key without prefix must be true. [("I hate ", 0), "hate you"] = 7 { "are you sure you hate ", 0; } In the above reply chat the variable 0 does not have to be valid when the bot tries to output the message "are you sure you hate ", 0; because the key "hate you" could be the only key that is true. For instance only the key "hate you" is true when the bot tries to reply to the message "we hate you". [("get lost"), &name] = 7 { "I never get lost"; } The above reply chat will never be used because there is no room for the name of the bot in the match template. However the name of the bot is required to be in the chat message to reply to because of the key &name.