Bots

From Team Fortress Wiki
Jump to: navigation, search
Bot hrající za Soldiera v akci na Dustbowl Training mapě.
Tato stránka je o počítačem kontrolovaných hráčích ve hře Team Fortress 2. Pro boty z Team Fortress Classic, zkuste Bots (Classic). Pro boty na Team Fortress Wiki, zkuste Category:User bots. Pro roboty z Mann vs. Machine updatu, zkuste Roboty. Pro jiné použití, zkuste Robot.
Human teammates might judge you, but will these soulless automatons? YES. They're not blind. But they ARE mute, so your incompetence is a secret they will take to their grave.
The Soldier

Bot (nebo BOT) je počítačem ovládaný hráč na serveru. Jsou dva typy botů v Team Fortress 2: AI boti a Puppet boti. AI boti jsou kódováni se sofistikovanou umělou inteligencí určenou k napodobení hráčů ve hře a mohou být používáni bez zapnutí cheatů. Puppet boti nemají kódování AI, ale jsou použitelní například pro testování a trénink. Puppet boti potřebují, aby měl server zapnuté cheaty, které také znemožní obdržení achievementů.

AI boti

AI boti jsou navrženi, aby napodobovali chování hráče a nejsou přímo řiditelní. Navíc, jejich herní třídy jsou náhodně zvoleny. Používají sofistikovaný AI kód zakládající se na PlayerBot a Infected AI ztvárněných v sérii Left 4 Dead.[1] AI boti nepotřebují server se zapnutými cheaty; tudíž achievementy jsou zapnuty když se s nimi hraje. Je tu ale jedna vyjímka, nicméně; Boti nevidí Deathcam snímek při jejich zabití; tudíž hráč nemůže dostat achievementy z deathcamu. Také pokud bota zabijete pomocí Strange zbraně, nezvýší se na ní počet zabití, pokud na sobě nemá Strange Part: Robots Killed, v tomto případě by se zabití počítalo do strange partu, nikoli do zabití se zbraní.

AI boti mohou být nepřímo do jisté míry ovládáni:

  • Jakýkoli přátelský či nepřátelský bot na kterého má hráč namířeno crosshairem v čase přípravy zatauntuje.
  • Boti hrající za Medica budou léčit hráče, pokud zavolá "Medic!" voice command.
  • Pokud bot hrající za medica má nabitou ÜberCharge, pomocí voice commandu "Go go go!" nebo "Activate Charge!" ho donutíte ji na vás použít.
  • Bot hrající za medica s nabitou ÜberCharge ji zapne, pokud bude zraněn.
  • Boti se budou snažit zapojit do partnerských tauntů (např. High Five) nebo skupinový taunt (např. Conga).

Aktuální stav AI botů

AI boti jsou v beta testování a po updatu budou sofistikovanější. Aktuálně všichni boti fungují správně kvůli Hatless Updatu, včetně kdysi bugujcího se Spye. AI boti fungují pro většinu oficiálních King of the Hill map, některé Payload mapy, Attack/Defend mapy Dustbowl a Gorge, Capture the Flag mapy, a Mann Manor (ve dvou pozdějších, boti mohou být přidái pouze pomocí tf_bot_add commandu). Použití AI botů na nepodporovaných mapách je možné pomocí následujíchích kroků; nicméně, nebudou také napodobovat hráče.

Poznámka: balíček hotových botů byl vylepšen pro spoustu populárních map.

Jména AI botů

AI boti jsou naprogramováni aby měli odlišná jména, kde většina jmen odkazuje na hru Team Fortress 2, jiné výrobky Valve, a programování počítačů. Spousta těchto jmen byla zamluvena na Steam fórech.

Používání botů na nepodporovaných mapách

  1. Nav mesh úprava potřebuje zapnuté cheaty, proto napište "sv_cheats 1" do konzole.
  2. Vytvoř iniciální nav mesh pomocí "nav_generate" commandu
  3. Počkejte, než počítač vygeneruje AI cesty, postup je ukazován v konzoli
  4. Mapa se restartuje
  5. Můžete zatáhnout generovaný nav mesh pro přidání chybějících dat a ovládáni chybných dat. Použijte nav_edit 1 pro vstup do nav mesh editačního módu.
  6. Restartujte server (nemusíte, ale pokud to není dokončeno, budou vypnuty achievementy)
  7. Otevřete konzoli a napište "tf_bot_add <number>" jako nahoře pro přidání botů.

VAROVÁNÍ: Je pravděpodobné, že hra spadne pokud upravíte navigační mesh přitom co jsou zapnuti boti.


Bot mohou být používáni na jakékoli mapě na které byly použity kroky zde nahoře bez toho, aby musely být opakovány, kromě psaní "tf_bot_add <number>" commandu pokaždé, když musí být přidáni boti.

Bot nejlépe fungují na Control Pointech, King of the Hill, Payloadu, a Capture the Flag mapách. Na Mannpower mapách, se budou chovat jako při Capture the Flag, ale nebudou moci používat Grappling Hooky a nebudou moci chytře využívat vylepšení.

Map s officiální podporou botů

Chování AI botů

  • Boti mohou používat pouze základní vybavení.
  • Boti na snadnou obtížnost vzácně, pokud vůbec, používájí jinou než jejich primární zbraň. Boti na vyšší obtížnosti budou přepínat a používat své sekundární zbraně jakmile vypotřebují zásobník své primární zbraně.
  • Boti hrající za Spye a Snipera se neobjeví na Snadnou obtížnost; pouze na obtížnost Normal a vyšší.
  • Boti aktuálně nemohou používat speciální skoky (jako rocket jump) nebo být odstřelováni budovami.
  • pokud boti zabijí hráče, je tu šance že zatauntují ihned po zabití, a pokud se to povede, budou tauntovat i uprostřed nepřátelské střelby. Toto chování je identické s Roboty v Mann vs. Machine módu.
  • Boti hrající za spye (a hráči) jsou správně ignorováni boty když jsou přestrojeni. Nicméně, pří 'dotknutí' jakéhokoli nepřátelského bota, sappování, střelba, či Zneviditelňování, všichni ostatní boti co tento děj uvidí odhalí bota/hráče a Spyem a nezapomenou kdo jsou dokud nbezmění převlek když je nikdo nevidí nebo dokud bot(i) co je odhalil(i) a Spy zemře(ou).
  • Boti hrající za Pyra budou používat odfouknutí proti projektilům a nepřátelům s neobvyklou frekvencí pokud se hraje na jinou než Snadnou obtížnost.
  • Boti hrající za Medica budou obvykle léčit jiné herní třídy než Snipery (a v menší míře Engineery) jen pokud byl použit "Medic!" voice command.
  • Boti hrající za Medica s nabitou ÜberChargí ji ihned použijí, pokud budou zraněni. Toto chování je používáno Über Medicy v Mann vs. Machine módu.
  • Pokud přestrojený bot hrající za spye na obtížnost Expert vidí nepřítele se zneviditelňovat, bude ho schopen pronásledovat bez ohledu na to, zda jejich neviditelnost bliká či ne.
  • Boti neútočí v čase přípravy ledaže jsou první napadeni (s vyjímkou Demomana kde boti kladou stickybomby).
  • Boti hrající za Engineera nevylepšují (ani neoddělávají sappery) své teleporty, a někdy ani neopravují své sentry pokud jsou pod palbou.
  • Boti, kromě Engineerů, Sniperů, a Spyů, zůstanou na svém spawnu v čase přípravy při útoku na Attack/Defend mapě nebo Payload mapě.
  • Boti hrající za Spye, se budou pokoušet vás zastřelit, místo backstabu při ústupu když je objeví bot (nebo hráč).

Chyby

  • Boti zkouší projít/prostřelit nehybné předměty jako zdi.
  • Když se bot/hráč zneviditelní/zviditelní nebo přestrojí/odstrojí, boti 'uvidí' hráče o jsou za nimi a otočí se, i když jsou pryč z botova zorného pole. Všiměte si že to není z důvodu nějakého zvuku stvořeného hráčem (kroky, smíšený hluk zbraně, atd.).
  • Ačkoli vzácně, boti mohou stát v jiném při používání engineerova teleportu, a uvíznout (nemoci se hýbat).
  • Pokud boti použijí voice commandy (jako "Spy!" a "Move Up!"), textové verze voice commandů se nezobrazí.
  • Medic bot který léčí hráče se nevyhýbá nepřátelské střelbě a nesbírá lékárničky, ani když má kriticky málo zdraví.
  • Boti se mohou pohybovat při tauntování, což dělá Holiday Punch neefektivním.
  • Nedávno napadení Medic boti často selžou při použití Syringe Gun pro zabití nepřátel na ne-melee vzdálenost, místo výměny za jejich Bonesaw, nebo na jejich Medi Gun v extrémně vzácných případech.
  • Medic botům se nedaří mířit a vyrovnávat gravitaci při střílení ze Syringe Gunu. Může to být z důvodu že Syringe Gune není spřávně identifikován jako ne-hitscan zbraň v bot AI kódu.
  • Engineer boti mohou stát uvnitř jejich vlastních budov.
  • Spy boti jsou schopni následovat neviditelné spye (AI nebo hráče) kteří by měli zmizet, nezávisle na stupni obtížnosti.
  • Pokud je Spy přestrojen jako člen vlastního týmu (pouze hráč, boti to nikdy nedělají), nepřátelé ho budou stále považovat za Spye když narazí do nepřítele.
  • Boti dodržují auto-balance pravidla. Abyste stvořili boty v jednom týmu, musíte nastavit mp_teams_unbalance_limit na 0.
  • Engineer boti mohou ignorovat své budovy než budou zničeny.
  • Heavy bot se občas pokusi střílet ze svého minigunu i když bude mít prázdný zásobník.
  • Boti aktůálně nefungují v následujících módech a mapách, jen s generovanou navigací mesh:

AI bot příkazy

Pro použití AI botů na podporovaných mapách, administrátor serveru by měl použít následující příkazy:

Příkaz Popis
tf_bot_add Tento příkaz vytvoří jednoho nebo více AI botů náhodné třídy v náhodných týmech. Také budou mít přiřazená legrační jména.
Syntax
tf_bot_add [<count>] [<class>] [<team>] [<difficulty>] [<name>]
Parametry
<count>
Určuje počet vytvořených botů. Pokud není specifikováno, bude vytvořen jeden bot.
Pokus vytvořit více botů než je maximální počet hráčů bude mít za následek chybovou hlášku.
<class>
Název třídy může být Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, nebo Spy.
<team>
Určuje tým ke kterému bude bot přiřazen, kde za team lze dosadit red nebo blue.
<difficulty>
Nastaví obtížnostní úroveň botů, kde za difficulty lze dosadit easy, normal, hard, nebo expert.
<name>
Nastaví jméno vytvořeného bota.
Přiklad
tf_bot_add 3 heavyweapons red easy přiřadí k RED týmu 3 Heavy snadné obtížnosti.
tf_bot_difficulty Nastavuje obtížnost přidaných botů.
Syntax
tf_bot_difficulty <level>
Parametry
<level>
Nastaví obtížnost botů. Hodnoty jsou: 0=easy, 1=normal, 2=hard, 3=expert. Výchozí je "Normal" (1).
Příklad
tf_bot_difficulty 2 nastaví všem botům vytvořeným po zadání tohoto příkazu obtížnost "Hard".
tf_bot_force_class Pokud je nastaven název třídy, všichni boti se přepnou na tuto třídu.
Syntax
tf_bot_force_class <class>
Parametry
<class>
Název třídy může být Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, nebo Spy. Výchozí je "" (neurčeno).
Příklad
tf_bot_force_class medic změní všechny boty na Medica.
tf_bot_join_after_player If nonzero, bots wait until a player joins before entering the game. This only applies to quota spawned bots.
Syntax
tf_bot_join_after_player <integer>
Parameters
<integer>
Either 1 or 0. Default is 1 (enabled).
Example
tf_bot_join_after_player 0 will make TFBots join the game when added even if no players are on a team.
tf_bot_keep_class_after_death If zero, bots will always respawn as a different class.
Syntax
tf_bot_keep_class_after_death <integer>
Parameters
<integer>
Either 1 or 0. Default is 0 (disabled).
Example
tf_bot_keep_class_after_death 1 will prevent TFBots from changing class.
tf_bot_kick

This command will remove one or all AI bots.

Syntax
tf_bot_kick <name/all>
Parameters
<name/all>
Specifies the name of bot to remove or all.
Example
tf_bot_kick CEDA will kick the TFbot named "CEDA" if one exists.
tf_bot_prefix_name_with_difficulty If nonzero, append the skill level of the bot to the bot's name
Syntax
tf_bot_prefix_name_with_difficulty <integer>
Parameters
<integer>
Either 1 or 0. Default is 0 (disabled).
Example
tf_bot_prefix_name_with_difficulty 1 will cause added bots to have names like "1 Aimbot" (normal) and "3 Saxton Hale" (expert).
tf_bot_quota Determines the total number of TFBots in the game. Only has effect if tf_bot_quota_mode = "fill" or "match".
Syntax
tf_bot_quota <integer>
Parameters
<integer>
Whole number between 0 and how many players the server can hold. Default is 0.
Example
tf_bot_quota 2, if tf_bot_quota_mode = match, will add two bots to the server for every one human.
tf_bot_quota_mode Determines the type of quota.
Syntax
tf_bot_quota_mode<normal/fill/match>
Parameters
normal/fill/match
If 'normal', the server will never add/remove TFbots without explicit commands and bot_quota has no effect.
If 'fill', the server will adjust bots to keep N players in the game, where N is bot_quota.
If 'match', the server will maintain a 1:N ratio of humans to bots, where N is bot_quota.
Example
tf_bot_quota_mode fill will always keep (bot_quota - # of human players) bots in the game.
tf_bot_taunt_victim_chance Určuje jak často bude Bot tauntovat po zabití hráče.
Syntax
tf_bot_taunt_victim_chance <integer>
Parametry
<integer>
Celé čislo od 0 do 100. Výchozí je 20.
Příklady
tf_bot_taunt_victim_chance 0 Boti nikdy nebudou tauntovat po zabití hráče.
tf_bot_taunt_victim_chance 100 Boti budou tautovat pokaždé když zabijí hráče.
tf_bot_melee_only Určí zda by boti měli používat pouze Melee zbraně nebo ne.
Syntax
tf_bot_melee_only <integer>
Parametry
<integer>
Buď 1 nebo 0. Výchozí je 0 (vypnuto).
Příklad
tf_bot_melee_only 1 boti budou používat pouze Melee zbraně.

Puppet boti

Puppet boti nemají žádný AI kód a sami nemohou nic dělat. Tito boti mohou být použiti jako loutky: hráči je mohou nastavit tak aby následovali hráčovi příkazy jako například aby kopírovali hráčův pohyb nebo aby sříleli svými zbraněmi. Puppet boti jsou hlavně využívani pro testování a při správné manipulaci také mohou vytvořit působivé efekty jako v tomto videu.

Puppet bot příkazy

Ne všechny z následujících příkazů fungují; některé jsou také vynechané.

Note: psaní commandů bez udáné číselné hodnoty ukážou aktuální nastavení daného commandu a jeho stručny popis.

Command Description
bot This command will create a bot on the given team with the specified class and name. If team or name is omitted, they will be assigned randomly.
Syntax
bot -team <teamname/number> -class <classname> -name <botname>
Parameters
-team teamname/number
Specifies the team name or number to assign the bot. Where name/number can be RED or 1, BLU or 0
-class classname
The classname of the class can be Demoman, Engineer, Heavy, Medic, Pyro, Scout, Soldier, Sniper, or Spy
-name botname
botname can be anything. If there is already someone with the same name, an incremental number (starting at 1) surrounded with parenthesis will be added to the beginning of the name. For example, joe, (1)joe, (2)joe, etc. If no name is given then the name will be "bot" followed by a number starting with 01; for example, the first bot will be bot01, the next bot02, and so on.
Example
bot -team red -class Engineer -name joe
bot_changeclass Force all bots to change to the specified class.

Does not seem to be implemented, nothing happens.

bot_changeteams

Make all bots change teams. This forces all the bots to switch teams. If a bot was on the RED team then it will now be on the BLU team and vice versa.

bot_command Sends specified command on behalf of specified bot.
Syntax
bot_command <botname> <console command>
botname is the name or id of the bot to send the command to.
console command can be any of the ones listed in Scripting#Console Commands.
Example 1
bot_command bot01 "voicemenu 0 0"
Example 2
bot_command bot01 "taunt"
The slot commands (slot1, slot2, etc.) do not work with bot_command, however with bot_forcefireweapon, all bots in that class can be made to switch to a weapon and start firing, then made to stop. Only the entire group of bots in that class can be made to do so, however.
bot_defend Set to a team number, and that team will all keep their combat shields raised.

For instance, Heavies will spin their miniguns.

Not implemented at present.

bot_dontmove Bots are allowed or prevented from moving. When set to 1 the bots cannot move but they can still turn and jump. Note with a combination of this command and bot_mimic bots can be moved to certain areas and left there.
Syntax
bot_dontmove <0/1>
Bot is allowed to move, or not.
Example
bot_dontmove 1
bot_flipout When on, this command will make the bots fire the current weapon selected. Default is to use primary_fire, but if bot_forceattack2 is set to 1 then secondary fire is used.

Not implemented at present.

Syntax
bot_flipout <0/1>
On when set to 1. Off when set to 0.
Example
bot_flipout 1
bot_forceattack This will make all the bots automatically fire whatever weapon they currently have selected. If bot_forceattack2 is set to 0, then the bots will execute primary_fire. If bot_forceattack2 is set to 1, then the bots will execute secondary_fire.

Note this does nothing if bot_mimic is active (set to 1).

Syntax
bot_forceattack <0/1>
Bot will not fire if set to 0 and fire repeatedly if set to 1.
Example
bot_forceattack 1
bot_forceattack2 This will make all the bots execute secondary_fire on whatever weapon they currently have selected when bot_forceattack is set to 1.
Syntax
bot_forceattack2 <0/1>
Bot will use its weapon's secondary_fire when set to 1, primary_fire when set to 0
Example
bot_forceattack2 1
bot_forceattackon When firing, do not tap fire, hold it down. When this command is set to 0, the bot acts like it is continuously tapping the fire button (useful for the Pistol, but not for the Heavy's Minigun). If this command is set to 1, the bots acts as if it is holding down the fire button (useful for the Heavy's Minigun).
Syntax
bot_forceattackon <0/1>
On when set to 1. Off when set to 0.
Example
bot_forceattackon 1
bot_forceattack_down When firing, don't tap fire, hold it down. If this is set to 0 then the bot will act like they are continuously tapping the fire button (useful for the Stickybomb Launcher). If this is set to 1 then the bot will act as if it is holding down the fire button (useful for the Minigun).
Syntax
bot_forceattack_down <0/1>
On when set to 1, off when set to 0
Example
bot_forceattack_down 1
bot_forcefireweapon Forces all bots who have the specified weapon to switch to and fire it.

If a bot does not have this weapon, nothing happens to it (unless it is firing a different weapon, in which it stops)

Syntax
bot_forcefireweapon <weapon filename>
filename is usually tf_weapon_ <weapon name>.
Examples
bot_forcefireweapon tf_weapon_fists makes all Heavy bots switch to and repeatedly attack with their Fists, and all other bots stop attacking.

bot_forcefireweapon tf_weapon_shotgun_pyro makes all Pyro bots switch to and repeatedly fire their Shotguns, and all other bots stop attacking.

To make all bots stop attacking, simply specify a non-existent weapon filename. Anything without tf_weapon in it isn't a TF2 weapon, so the bots won't shoot it, for example bot_forcefireweapon ,,
Bots' loadouts cannot be changed; therefore, you cannot make them fire unlockable weapons.
bot_kill

Kills the specified bot.

Syntax
bot_kill <bot name>
Makes the specified bot commit suicide.
Example
bot_kill bot01
bot_mimic Bot uses usercmd of player by index.

The bot will execute all keystrokes issued by a player, mimicking movements, turns, jumps, fire, etc. It should be noted that bots will not mimic Medic calls, weapon switches, or taunts.

Note this overrides bot_forceattack but does not override bot_dontmove.

Syntax
bot_mimic <0/1>
On when set to 1, off when set to 0
Example
bot_mimic 1
bot_mimic_inverse

Inverts the movement of the bots; moving left makes the bots move right, moving forwards makes the bots move backwards, etc.

The direction which the bot is looking is not affected.

Syntax
bot_mimic_inverse <0/1>
On when set to 1, off when set to 0
Example
bot_mimic_inverse 1
bot_mimic_yaw_offset

Offsets the bots' yaw. The bots will face in a direction this angle from the player. By default this is set to 180 so that all bots will face the player. Setting this to 0 will face the bots in the same direction as the player.

Syntax
bot_mimic_yaw_offset <0-360>
Set the direction by specifying angle in degrees
Example
bot_mimic_yaw_offset 180
bot_randomnames
Syntax
bot_randomnames <0/1>
On when set to 1, off when set to 0
Example
bot_randomnames 1
bot_refill Refills all bots' Ammo counts, including Metal for Engineers.

Syntax: bot_refill

bot_saveme This makes all the bots call for a Medic, equivalent to issuing bot_command <botname> "voicemenu 0 0" to every bot.

Syntax: bot_saveme <0/1>

On when set to 1, off when set to 0
bot_selectweaponslot This makes the specified bot select the weapon in the specified weapon slot.

0 = primary; 1 = secondary; 2 = melee; 3 = special

Syntax
bot_selectweaponslot <n> <botname>
Set n to weapon slot that bots should switch to.
Example
bot_selectweaponslot 2 bot12
bot_teleport Teleports a specified bot to a given coordinate.

Map coordinates of where you are standing can be found by typing Status in the console.

Syntax
bot_teleport <botname> <X> <Y> <Z> <Pitch> <Yaw> <Roll>
Where botname is the bot name or id to teleport.
X Y Z are the map coordinates.
Pitch Yaw Roll is the direction the bot should face.
Example
bot_teleport bot01 -4815 1385 -447 0 0 0
bot_whack Delivers lethal damage from player to specified bot. This basically kills the bot with the currently selected weapon, probably used for testing during development.
Syntax
bot_whack <botname>
Where botname is the name of bot to "whack".
Example
bot_whack bot109

Update history

Patch z 17. prosince 2009 (WAR! Update)
  • Přidáno pracování na botech v KOTH módu.

Patch z 6. ledna 2010

  • Různá vylepšení bojových schopností.
  • V KOTH módu, boti jsou teď:
    • Více náchylní na lov ostatních botů.
    • Je více pravděpodobné, že začnou zabírat bod, nebo jejich spoluhráči začnou.
  • Medic boti teď:
    • Příležitostně "overhealují" blízké spoluhráče, pokud mohou.
    • Upředňostňují léčení zraněných hráčů.
    • Nezaměřují se výlučně na heavyho.
    • Nespamují svůj Medi Gun hned na začátku kola.
    • Nepreferují schování sebe sama před léčením spoluhráče (koth_nucleus).
    • Opětují útok svým syringe gunem.
  • Hlavní vylepšení botů:
    • Hýbou se když zabírájí či brání kontrolní bod.
    • Vybírají si více cest.
    • Vybírají si lepší obranná místa kolem kontrolních bodů.
    • Vybírají si jinou zbraň když jim dojde munice.
    • Přizpůsobují svůj FOV když mají zaměřenou Sniper Rifle.
    • Opravují blízké Sentry v nebezpečí.
    • Střílí svými zbraněmi mnohem realističtěji.
    • Engineeři správně používají své Shotgun.
  • Přidán koncept "virtual mousepad" pro přepracování zaměřování nepřátel boty.
    • Pravidelně odhadují pozici a rychlost nepřátel, které sledují, místo zanechání crosshairu na nich (locking on).
    • Adresovány "180 spin around and fire", "Heavy bot is OP", "Sniper bot is OP", and "I can't fight a Heavy bot as a Scout" problémy.
  • Tuned Sniper místo najít algoritmus pro generování více místech, částečně .addressing na "Předvídatelné Sniper kemp míst" problém.
  • Soldier roboti jsou více opatrní, aby oheň rakety, které vybuchne na nedalekém geometrii a zabít.
  • Opravena chyba, kdy roboti pokusil se léčit z zásobník, která je vedená jako inženýr.
  • Tuned scoreboard logiku, aby se zamezilo škodlivým Provozovatelé serveru spoofing bot ping skrýt "bot" značku.
  • Přidána další jména bot, jak navrhuje TF komunitou.

Patch z 28. dubna 2010

  • Bots don't retreat to gather health as readily if they are in combat.
  • Bots no longer retreat when moving to block a point capture.
  • Bots should now equip an appropriate combat weapon and fight while moving to collect health.
  • Bots who are roaming the map and hunting now chase down their victims, following them around corners.
  • Bots that fire projectiles (ie: rockets/grenades/etc) don't hold down their fire button for a minimum time. This was causing Soldier bots to fire rockets into nearby walls as they strafed, killing themselves.
  • Soldier bots now switch to their Shotgun after firing all four rockets when engaging an enemy.
  • Added a few more bot names from community suggestions.
  • Fixed a behavior loop with Engineer metal gathering.

Patch z 10. června 2010 (Mac Update)

  • Added Offline Practice mode, with support for KOTH maps and Dustbowl.
  • [Nezmíněno] Looking at a bot player for a few seconds now causes it to taunt.

Patch z 11. června 2010

  • Fixed a case where servers could get stuck in an infinite loop while spawning bots.
  • Fixed a level change crash related to Bot navigation meshes.

Patch z 14. června 2010

  • Fixed server crash related to bots and health kits.

Patch z 16. června 2010

  • Medic bots now respond when nearby humans call for Medic.
  • If a Medic bot is healing you and has an ÜberCharge ready, using the voice commands "Go go go!" or "Activate Charge!" will force the Bot to activate the ÜberCharge.

Patch z 19. července 2010

  • Improved performance of bot computations that are done when a point is captured, a round starts, or a checkpoint reached.
  • Fixed Engineer bots infinite build-destroy behavior loop regression.
  • Fixed Medic bots losing their charge if they touch a resupply cabinet.
  • Fixed a crash due to having multiple types of bot systems running in-game simultaneously.
  • Fixed bot behavior issue resulting in bot pile-ups near level 3 Teleporter entrances.
  • Bots no longer consider sapped Sentry Guns a dangerous threat.
  • Bots will not try to navigate through enemy spawn rooms (unless they have won the round).
  • Engineer bots will avoid building Teleporters on steep slopes which could hinder teammate movement.
  • Added tf_bot_pyro_always_reflect cvar. Set to 1 to make Pyro bots always reflect projectiles, regardless of difficulty level.

Patch z 14. dubna 2011 (Hatless Update)

  • Added Spy TFBots. Spy bots have basic cloaking, diguising, sapping, and backstabbing behaviors now, and are ready to join the fight
  • TFBots understand the basics of the Payload scenario now, and will push the cart on offense, and try to stop the cart on defense
  • Added navigation meshes for pl_goldrush, pl_badwater, pl_upward, pl_thundermountain, and pl_hoodoo_final
  • Improved TFBot reactions to cloaked and/or disguised enemy Spies
  • Improved Demoman bot behaviors for planting sticky bomb traps
  • Demoman bots will now try to move to a safe spot and lob stickybombs onto enemy sentry nests to destroy them
  • Soldier bots switch to their Shotgun after emptying their Rocket Launcher at close/medium range
  • TFBots will no longer hide from sapped or carried sentryguns
  • Engineer bots are better at moving their Sentry Gun nest as the scenario changes
  • Improved Sniper bot algorithm for finding good sniping spots for both Capture Point and Payload scenarios
  • Sniper bots will take opportunistic shots at targets while they move to their desired sniping spot
  • Fixed bug where Sniper bots would sometimes stand around in their spawn room doing nothing.
  • Improved TFBot ability to find a safe vantage spot to attack enemy Sentry Guns
  • TFBots will no longer try to use a teleporter entrance they can't actually reach
  • Added tf_bot_melee_only cvar. If set to 1, all TFBots will be restricted to only using their melee weapon

Patch z 18. dubna 2011

  • Fixed a server crash that could occur if TFBots were used across map changes

Patch z 5. května 2011 (Replay Update)

  • [Nezmíněno] Bots now properly target the Horseless Headless Horsemann as an enemy.

Patch z 22. července 2011

  • [Nezmíněno] Bots now work on CTF maps.

Patch z 26. července 2011

Patch z 23. srpna 2011

  • Fixed crash with Demoman bots trying to detonate stickybombs that had already been destroyed
  • Added tf_bot_kill console command (syntax identical to tf_bot_kick)
  • Bots obey melee only mode a bit better
  • Added func_nav_avoid to allow map creators control over where bots "like" to go
  • Fixed issue with Demoman bot reloading between each stickybomb he fired, causing him to be very slow at setting traps/destroying Sentry Guns
  • Bots never taunt if carrying the flag now
  • Aiming logic for Huntsman Sniper bots
  • Sniper bots prioritize enemy Snipers more aggressively, as well as enemy Engineers now
  • Improved Demoman bot Sentry Gun sticky bombing
  • Bots will no longer try to use health entities assigned to the enemy team
  • Added simplistic behaviors for Chargin' Targe, and various consumables (Bonk drink, Sandvich, etc)
  • Medic bots stay a bit closer to their patient now
  • Sniper bots go after very nearby enemies with their melee weapon now
  • Added func_tfbot_hint entity to allow map creators to tell Sniper bots good places to lurk
  • Sniper bots opportunistically fire on viable targets they encounter while on the way to their desired lurking spot
  • Spy bots are more aggressive about backstabbing an Engineer before sapping his nest now

Patch z 6. září 2011

  • Fixed a server crash related to bots

Patch z 13. října 2011(Manniversary Update & Sale)

  • TFBots have a percentage chance of noticing weapon fire based on their difficulty level. Easy bots are fairly oblivious, and Expert bots notice pretty much everything.
  • TFBots now treat certain weapon attacks as "quiet" (Spy knife, cloaking/uncloaking, some melee weapons, fists, etc). "Quiet" weapons can only be heard by TFBots when nearby, and their chance of being noticed is halved if the environment is "noisy" (ie., lots of non-quiet gunfire going on in the area). This greatly improves Spies ability to backstab TFBots without the entire team immediately turning on them.
  • Spy bot improvements:
    • Spy bots are much better about circling around and backstabbing their victims now
    • Improved Spy bot target selection in some situations (ie: clusters of Sentry Guns and enemy players)
    • Spy bots will give up on an attack and retreat if an enemy Sentry Gun aims at them
    • Spy bots now avoid nearby enemies while disguised and/or cloaked so they don't bump into them and give themselves away
    • Spy bots now have a simple notion of when their “cover is blown" now
    • Spy bots lead their target's position as they chase them down for a backstab now
    • Spy bots don't go after victims until setup time has elapsed
    • Hard and Expert Spy bots avoid looking at their prey until they get close and go for the stab
    • Easy Spy bots don't avoid enemies, or try to get behind before stabbing
    • Normal Spy bots don't avoid enemies
    • Fixed bug where Spy bots would jump against the enemy spawn gates during setup time
  • Medic bot improvements:
    • Medic bots stick much closer to running patients now
    • Medic bots stick much closer to their patient if they have an Ubercharge ready, or are deploying their Uber
    • Medic bots hide from Sentryguns now, too
  • Pyro bot improvements:
    • Pyro bots are less "pushy" with their compression blast, but will use it against ÜberCharges and to get enemies off of a capture point
  • [Nezmíněno] Added new bot names.

Patch z 26. ledna 2012

  • Changed the way bot counts are displayed in the server browser: the bot column is now next to the player column and always visible. Bot count is no longer subtracted from maxplayers.

Patch z 9. února 2012

  • Heavy bot improvements:
    • Fixed the Heavy bots not spawning in the commentary maps.

Patch z 1. března 2012

  • Improved bot behaviors

Patch z 23. srpna 2012

  • The tf_bot_add command can now create a bot with a custom name and can create a bot that isn't managed by the value of tf_bot_quota by adding the custom name and "noquota" arguments respectively

Patch z 4. září 2012

  • Fixed bots not displaying in the server browser properly
  • Blocked bots from being blasted into the tank tunnel in Mvm_Coaltown
  • Blocked bots from being blasted into the tank tunnel in Mvm_Mannworks
  • Fixed an issue in the Server Browser where replay bots would add to the player count in MvM.
  • Added safeguards to prevent bots from getting stuck in certain cases in MvM.

Patch z 27. září 2012

  • Fixed the tf_bot_add command using the same name for all of the bots when adding multiple bots simultaneously

Patch z 16. listopadu 2012

  • Fixed a dedicated server performance issue related to bots

Patch z 27. srpna 2013

  • Bots can now reflect energy-based projectiles
  • Improved bot pathing behavior around ramps

References

  1. Team Fortress Official Blog - Erectin a dispenser