From Team Fortress Wiki
Jump to: navigation, search
A 솔저 봇이 Dustbowl 훈련 맵에서 활약 중인 모습.
이 페이지는 팀 포트리스 2의 봇에 관한 문서입니다. Team Fortress 위키에서의 봇에 대해 보시려면, Category:User bots으로 가세요. Team Fortress Classic의 봇들을 보시려면, 봇 (Classic)을 보세요.
인간 아군들은 네 실력을 판단할 수 있겠지만, 이 영혼 없는 자동 기계들도 그럴 수 있을까? 그래. 이들도 장님은 아니야. 하지만 말을 하지는 못하니 너의 그 무능함은 영영 비밀로 남을 것이지.
솔저

Team Fortress 2에는 인공지능 봇과 인형 봇의 두 종류의 이 존재합니다. 인공지능 봇은 플레이어의 행동을 모방하도록 설계된 정교한 코드로 이루어져 있으며, 치트를 사용하지 않고도 이용할 수 있습니다. 인형 봇은 인공지능이 존재하지 않지만, 실험과 훈련에는 매우 유용합니다. 인형 봇은 서버에서 치트를 활성화해야만 이용할 수 있으며, 이 때문에 도전 과제도 비활성화 됩니다.

인공지능 봇

인공지능 봇은 플레이어의 행동을 모방하도록 설계되었으며, 직접 조종되지 않습니다. 또한, 봇들의 병과는 임의입니다. 이 봇들은 플레이어봇레프트 4 데드에서 사용된 감염자 봇 코드를 기반으로 한 정교한 AI 코드를 사용합니다.[1] 인공지능 봇은 서버에서 치트를 활성화하지 않아도 이용 가능하므로, 이 봇들을 이용해 도전 과제를 달성하는 것도 가능합니다. 그러나 단 하나의 예외로, 봇들은 절대로 프리즈캠 샷을 볼 수 없어 이와 관련된 도전 과제는 얻을 수 없습니다. 또한, 이상한 무기로 인공지능 봇을 처치해도 처치 수가 오르지 않으며, 이상한 부품: 로봇 파괴를 덧붙인 무기로 처치하더라도 해당 부품의 처치 수만 증가합니다.

인공지능 봇들은 이하의 규칙을 따릅니다.

  • 플레이어가 준비 시간 중 아군 또는 적군 봇을 겨냥하고 있으면 해당 봇이 도발을 합니다.
  • 메딕 봇은 플레이어가 음성 명령을 사용해 "메딕!"이라고 부르면 플레이어를 치료합니다.
  • 우버차지가 준비된 메딕 봇이 플레이어를 치료하는 도중 "돌격! 돌격! 돌격!"이나 "우버를 발동하라!" 음성 명령을 사용하면 우버차지를 발동합니다.
  • 우버차지가 준비된 메딕 봇은 피해를 입는 즉시 우버차지를 발동시킵니다.
  • 아군 봇은 하이파이브! 자세를 취한 플레이어를 감지하면 화답합니다.

현재 인공지능 봇 상태

인공지능 봇은 현재 베타 시험을 거치고 있으며 업데이트 때마다 더 정교해질 예정입니다. 현재, 모자없는 업데이트 이후로 한때 버그가 많았던 스파이를 포함해 모든 병과의 봇들이 정상적으로 작동하고 있습니다. 인공지능 봇은 대부분의 공식 언덕의 왕 맵들, 몇 개의 수레 밀기 맵들, 공격/방어 맵 DustbowlGorge, 깃발 탈취전 맵들과 Mann Manor (맨 마지막 두 개에서는 tf_bot_add 명령어를 통해서만 봇 사용이 가능합니다)에서 올바르게 작동합니다. 특정한 절차를 거치면 공식적으로 지원이 되지 않는 맵에서도 인공지능 봇을 이용할 수 있지만, 플레이어의 행동을 모방하는 수준은 약간 떨어집니다.

주석: A pack of pre-made bot meshes has been compiled for many popular maps.

인공지능 봇 이름

인공지능 봇들은 서로 다른 이름을 갖도록 프로그램 되어 있으며, 대부분은 "팀 포트리스 2", Valve의 타 작품들, 또는 컴퓨터 프로그래밍과 관련되어 있습니다. 거의 모든 이름들은 Steam 포럼에서 제안된 이름들입니다.

AI bots names can also be customized by a player by typing in, for example, tf_bot_add heavyweapons blue "Blu Hoovy"; this example would put a BLU Heavy on the BLU team with the name "Blu Hoovy".

지원되지 않는 맵에서 봇 사용하기

  1. 경로망을 생성하려면 치트가 활성화되어 있어야 합니다. 콘솔에 "sv_cheats 1"을 입력하세요.
  2. 콘솔에 "nav_generate"를 입력하여 경로망을 생성하세요.
  3. 게임에서 인공지능 봇의 경로 파일을 생성하는 동안 기다리세요. 진행 정도는 콘솔에 표시됩니다.
  4. 맵이 다시 로딩될 때까지 기다리세요
  5. 선택 사항으로, 콘솔에 "nav_edit 1"을 입력하여 경로망 수정 모드에 들어가 누락된 데이터를 추가하고 잘못된 데이터를 수정하세요.
  6. Reload/Restart the server (optional, but if it is not done, then achievements will be disabled).
  7. Open console and type "tf_bot_add <number>" as above to add bots.

WARNING: The game is likely to crash if you edit the navigation mesh with bots enabled.


이러한 과정을 거친 맵에서는 봇을 언제든 사용할 수 있으며, 필요할 때 "tf_bot_add <숫자>"를 입력하기만 하면 됩니다.

Bots work best on Control Points, King of the Hill, Payload, and Capture the Flag maps. On Mannpower maps, they will treat it as Capture the Flag, but be unable to use Grappling Hooks and cannot intelligently use the Powerups they walk over.

지원되는 맵

지원되지 않는 맵

Complete list (may need updating):

인공지능 봇들의 행동

  • 봇들은 기본 장비 설정만을 사용합니다 (although they can be given non-Stock weapons with a custom mod/plugin).
  • 봇들은 '쉬움' 난이도에서는 주 무기 이외의 무기를 거의 사용하지 않습니다. 그러나 높은 난이도에서는 주 무기의 탄약이 떨어지는 즉시 보조 무기를 꺼내들어 사격합니다.
  • 스파이스나이퍼 봇들은 보통 이상의 난이도에서만 나타납니다.
  • 봇들은 특수한 점프 (로켓 점프 등) 를 하거나 구조물을 옮길 수 없습니다.
  • 봇이 플레이어를 사살하면, 곧바로 도발을 할 확률을 계산합니다. 그리고 성공하면 공격당하는 도중에도 도발을 하게 됩니다. 이러한 행동 양상은 Mann 대 기계 모드로봇들에게도 적용됩니다.
  • 스파이 봇들 (과 플레이어들) 이 변장을 하면 다른 봇들에게 무시당합니다. 그러나, 적군 봇과 '접촉'하거나, 적의 구조물에 전자 교란기를 설치하거나, 총을 쏘거나, 은폐하는 모습을 목격한 적군 봇들은 즉시 그 봇 또는 플레이어를 스파이라고 단정지으며, 그들이 모습을 감춘 후 변장을 바꾸거나 데드링어로 죽은 척 하거나 그들을 스파이라고 단정지은 적군 봇(들)이 죽기 전까지 그 스파이의 모습을 잊지 않습니다.
  • 파이로 봇들은 '보통' 이상의 난이도에서는 투사체나 적군을 대상으로 압축 공기 분사를 사용하지만 빈도는 낮습니다.
  • 메딕 봇들은 스나이퍼 (and to a lesser extent Engineers) 가 "메딕!" 명령어를 쓰더라도 다른 병과를 우선적으로 치료합니다.
  • Medic bots tend to favor Heavies, Soldiers, Demomen, and Pyros, if being played by a human. If a no human player is one of these classes, they are not likely to be pocketed.
  • 우버차지가 준비된 메딕 봇은 피해를 입는 즉시 우버차지를 발동합니다. 이러한 행동 양상은 Mann 대 기계 모드우버 메딕 로봇들에게도 적용됩니다.
  • 전문가 난이도의 스파이 봇이 적군 스파이가 은폐하는 것을 보면, 그 봇은 대상이 완전히 은폐한 상태이더라도 따라다닐 수 있습니다.
  • 준비 시간 중 봇들은 절대로 선제 공격을 하지 않습니다 (점착 폭탄을 설치하는 데모맨 봇은 예외입니다).
  • 엔지니어 봇은 텔레포터를 개선 (or even remove Sappers from) 하지 않으며, 센트리 건이 피해를 입었더라도 당장 공격받고 있지 않다면 수리하지 않을 때가 있습니다.
  • Engineer bots will never repair or upgrade a friendly Engineer bot's building, unless that building is in the way of the Engineer's target.
  • 엔지니어, 스나이퍼, 스파이 봇을 제외한 봇들은 공격/수비수레 밀기 맵의 준비 시간 중에는 재부활 지점에 가만히 서 있습니다.
  • 스파이 봇은 적군 플레이어나 봇에게 발각되었을 경우 백스탭을 시도하지 않고 후퇴하며 리볼버를 꺼내들어 사격합니다.
  • Demoman bots, once they know where a Sentry Gun is (usually after dying to one), will be able to stand out of range of the sentry and perfectly aim and time their stickybomb charges to land precisely where the Sentry Gun is. Walls and ceilings may occasionally get in the way of the stickybombs' flight path, though.

버그

  • 봇들은 가끔 벽과 같이 고정된 물체 너머로 이동하려 하거나 사격을 시도합니다.
  • 봇들은 종종 자신 뒤에 있는 플레이어가 자신의 시야 밖에 있더라도 이를 '볼' 수 있습니다. 이 현상은 스파이로 적군 봇의 뒤에서 은폐하거나, 은폐를 해제하거나, 변장하고 변장을 해제할 때 가장 돋보입니다. 이는 플레이어가 내는 소리에 의해 발생하는 것이 아님을 참고하세요 (발소리, 무기가 내는 소음 등).
  • Though rarely, bots may stand inside one another during usage of an Engineer's Teleporter, and get stuck (can't move).
  • 봇이 음성 명령을 이용하더라도 (예를 들어 "스파이다" 혹은 "이동하라!"), 텍스트 창에 그 명령이 표시되지 않습니다.
  • 플레이어를 치료 중인 메딕 봇은 체력이 심각하게 낮은 상태에도 적의 포화를 피하거나 체력 회복제를 주우려 하지 않습니다.
  • 봇들은 도발하면서 움직일 수 있어 휴일빵의 효율이 떨어집니다.
  • 공격을 받은 지 얼마 지나지 않은 메딕 봇은 근접 사거리 밖의 적에게 주사기 총을 사용하려 하지 않으며, 대신 뼈톱을 꺼내들거나 매우 드문 경우 메디 건까지 꺼내듭니다.
  • 메딕 봇은 주사기 총을 쏠 때 적이 이동할 것으로 예상되는 지점에 조준하거나 주사기에 적용되는 중력을 계산하지 못합니다. 이는 봇의 인공지능 코드가 주사기 총을 히트스캔 무기가 아닌 것으로 인식하지 못하기 때문일 수 있습니다.
  • 엔지니어 봇들은 자신의 구조물 안에 서 있을 수 있습니다.
  • 만약 스파이 봇이나 플레이어가 적군 스파이 봇과 부딪쳐 정체가 발각되면, 그 적군 스파이 봇은 난이도에 상관없이 자신과 부딪힌 스파이의 위치를 파악할 수 있습니다.
  • Even if a Spy is disguised as a class of his team (player only, as bots will never do this), enemies will still point him out as a Spy should he bump into an enemy.
  • 봇들은 자동 균형을 따릅니다. 봇들을 지정한 팀에 생성하려면, mp_teams_unbalance_limit의 값을 0으로 맞추어야 합니다.
  • 엔지니어 봇은 가끔 자신의 구조물을 무시하여 파괴될 때까지도 내버려 둡니다.
  • 헤비 봇은 가끔 미니건의 탄약이 떨어진 상태에서도 발사를 시도합니다. (Although it seems to occur abundantly when the bot difficulty is set below Advanced)
  • Medic bots on the losing team will occasionally commit suicide during Humiliation when there are no enemies nearby. Players are unable to do the same, even using commands.
  • Setting the loadout menu's preview to BLU will cause RED bots to appear BLU.
  • 현재, 경로망을 생성하더라도 봇들이 올바르게 작동하지 않는 게임 모드는 아래와 같습니다. (Spies and Snipers may work, though.)
  • Bots that have their 근접 weapons out will occasionally not switch to their other weapons, even if they pick up ammo.
    • This can be fixed by either killing them or just randomly.
  • After the 정글 인페르노 업데이트 bots spawned with specific parameters (example:tf_bot_add 5 pyro blue normal) will die in their spawnrooms. This can be prevented with the command: tf_bot_reevaluate_class_in_spawnroom 0, which requires setting sv_cheats to 1.

인공지능 봇 명령어

지원되는 맵에서 인공지능 봇을 사용하려면 서버 관리자는 콘솔에 다음 명령어를 입력해야 합니다.

[2]
명령 설명
tf_bot_add 이 명령어를 사용하면 무작위 팀의 무작위 병과의 봇이 하나 이상 생성됩니다. 이 봇들은 인간같은 재미있는 이름도 갖습니다.
문법
tf_bot_add [<>] [<병과>] [<>] [<난이도>]
변수
<>
생성할 봇의 수를 지정합니다. 생략하는 경우에는 하나의 봇이 생성됩니다.
최대 플레이어 수를 초과한 수의 봇을 생성하려 하면 실패하며 콘솔에 오류 메시지가 표시됩니다.
<병과>
입력할 수 있는 병과 이름Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, 또는 Spy입니다.
<>
봇이 참여할 팀을 지정하며, 입력 가능한 이름은 red 또는 blue.
<난이도>
봇의 난이도를 지정하며, 입력 가능한 난이도easy, normal, 또는 hard입니다.
<이름>
연결할 봇의 이름을 지정합니다.
예시
tf_bot_add 3 heavyweapons red easy 명령을 입력하면 레드 팀에 3명의 '쉬움' 난이도의 헤비 봇들을 추가합니다.
tf_bot_difficulty 게임에 참여하는 봇들의 난이도를 조정합니다.
문법
tf_bot_difficulty <단계>
변수
<단계>
봇들의 난이도를 조정합니다. 넣을 수 있는 값은 0(쉬움), 1(보통), 2(어려움), 3(전문가)입니다. 기본 난이도는 '보통'으로 설정됩니다.
예시
tf_bot_difficulty 2 명령어를 입력하면 모든 봇의 난이도를 "어려움" 으로 바꿉니다.
tf_bot_force_class 특정한 병과의 이름을 지정하면, 모든 봇들이 그 병과로 부활합니다.
문법
tf_bot_force_class <병과>
변수
<병과>
입력 가능한 병과 이름Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, 또는 Spy입니다. 기본적으로는 "", 즉 공백으로 설정되어 있습니다.
예시
tf_bot_force_class medic 명령어를 입력하면 모든 봇이 메딕으로 부활하도록 합니다.
tf_bot_join_after_player 0이 아닌 값으로 설정하면, 봇들은 플레이어가 게임에 참여하기 전까지는 게임에 들어오지 않습니다. 이는 한도 내의 봇들에게만 적용됩니다.
문법
tf_bot_join_after_player <정수>
변수
<정수>
1 또는 0을 입력합니다. 기본 값은 1 (활성화)입니다.
예시
tf_bot_join_after_player 0 명령어를 입력하면 팀에 아무런 플레이어가 없더라도 봇들이 생성되도록 합니다.
tf_bot_keep_class_after_death 0으로 설정하면, 봇들은 항상 다른 병과로 부활합니다.
문법
tf_bot_keep_class_after_death <정수>
변수
<integer>
Either 1 or 0. Default is 0 (disabled).
Example
tf_bot_keep_class_after_death 1 명령어를 입력하면 봇들이 병과를 바꿀 수 없게 됩니다.
tf_bot_kick

이 명령어는 하나 또는 모든 봇들을 제거합니다.

문법
tf_bot_kick <이름/all>
변수
<name/all>
제거할 봇 의 이름 또는 전부를 지정합니다
예시
tf_bot_kick CEDA 명령어를 입력하면 'CEDA'라는 이름의 봇이 존재할 시 해당 봇을 추방시킵니다.
tf_bot_prefix_name_with_difficulty 0이 아닌 값으로 설정하면, 봇의 이름에 해당 봇의 난이도를 표시합니다.
문법
tf_bot_prefix_name_with_difficulty <정수>
변수
<정수>
1 또는 0을 입력합니다. 기본 값은 0 (비활성화)입니다.
예시
tf_bot_prefix_name_with_difficulty 1 명령어를 입력하면 봇의 이름이 "1 Aimbot" (보통)이나 "3 Saxton Hale" (전문가)와 같이 바뀝니다.
tf_bot_quota 게임 내 봇들의 수량을 정합니다. "tf_bot_quota_mode"가 "fill"이나 "match"로 맞추어져 있을 때에만 효력을 발휘합니다.
문법
tf_bot_quota <정수>
변수
<정수>
0과 서버의 최대 플레이어 수용량 사이의 정수를 입력합니다. 기본 값은 0입니다.
Example
tf_bot_quota_mode가 "match"로 맞추어져 있을 때 tf_bot_quota 2 명령어를 입력하면 서버에 있는 플레이어 한 명마다 두 명의 봇을 추가합니다.
tf_bot_quota_mode 할당량의 유형을 결정합니다.
문법
tf_bot_quota_mode<normal/fill/match>
변수
normal/fill/match
'normal'을 입력하면 서버는 직접적인 명령어 없이는 봇을 추가하거나 제거할 수 없으며, bot_quota 명령어의 효력이 없습니다.
'fill'을 입력하면 서버는 총 플레이어 수를 bot_quota 명령어로 정해진 수 N으로 유지하기 위해 봇의 수를 조절합니다.
'match'를 입력하면 서버는 인간 대 봇의 비율을 1:N으로 맞춥니다. 여기서 N은 bot_quota 명령어로 정해진 수입니다.
예시
tf_bot_quota_mode fill 명령어를 입력하면 봇의 수를 (bot_quota 명령어로 정해진 수 - 인간 플레이어 수) 만큼으로 유지합니다.
tf_bot_taunt_victim_chance 봇이 인간 플레이어를 처치한 뒤 도발할 확률을 조절합니다.
문법
tf_bot_taunt_victim_chance <정수>
변수
<정수>
0과 100 사이의 정수를 입력합니다. 기본값은 20입니다.
예시
tf_bot_taunt_victim_chance 0 명령어를 입력하면 봇이 인간 플레이어를 처치해도 도발을 전혀 하지 않습니다.
tf_bot_tauntvictim_chance 100 명령어를 입력하면 봇이 인간 플레이어를 처치한 뒤 항상 도발을 합니다.
tf_bot_melee_only 봇들이 근접무기만 사용해야 할지의 여부를 정합니다.
문법
tf_bot_melee_only <정수>
변수
<정수>
1 또는 0을 입력합니다. 기본값은 0 (비활성화)입니다.
예시
tf_bot_melee_only 1 명령어를 입력하면 봇들이 오직 근접무기만을 사용 가능하게 합니다.

인형 봇

인형 봇에는 인공지능 코드가 없어 스스로 움직이거나 행동하지 못합니다. 하지만 이들은 이름 그대로 인형처럼 사용될 수 있어 플레이어의 명령에 따라 플레이어를 따라가거나 무기를 발사하는 등의 행동을 수행할 수 있습니다. 인형 봇은 주로 시험용으로 사용되며, 인형 봇을 적절히 조종하면 이 영상에서 볼 수 있듯 아름다운 시각적 효과를 연출할 수도 있습니다.

인형 봇 명령어

Not all of the following commands work; some working commands are also omitted.

주석: entering the command without any values will display the command's current setting and a brief 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 first bot select weapon in specified weapon slot.

0 = primary; 1 = secondary; 2 = melee; 3 = special Note this only works for the first bot spawned. There doesn't seem to be a way to specify other bots.

Syntax
bot_selectweaponslot <n>
Set n to weapon slot that bots should switch to.
Example
bot_selectweaponslot 2
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

업데이트 내역

2009년 12월 17일 패치 (WAR! Update)
  • Added work-in-progress Bots for beta testing in KOTH maps.

2010년 1월 6일 패치

  • Various improvements to combat behaviors.
  • In KOTH mode, Bots are now:
    • More likely to roam around and hunt enemies if there is lots of time left.
    • Become more likely to push for the point as time runs down, or their teammates start to capture it.
  • Medic bots now:
    • Opportunistically "overheal" nearby friends when they can.
    • Prioritize healing of injured nearby friends more.
    • Don't focus on Heavies quite so exclusively.
    • Don't spam their Medi Gun continuously at round start.
    • Won't choose cover far below their heal target so much (koth_nucleus).
    • Fight back with their Syringe Gun appropriately.
  • General bot improvements:
    • They no longer stand still on the point when capturing or defending it.
    • They choose more varied routes now.
    • They choose better defensive spots around captured points.
    • They fall back to another weapon when they entirely run out of ammo.
    • They adjust their FOV when using zoomed in Sniper scope.
    • They treat in-range Sentry Guns as the most dangerous threat.
    • They fire their weapons is more realistic bursts.
    • Engineers use their Shotgun properly.
  • Added a "virtual mousepad" concept to rework how bots track enemy players.
    • They now periodically estimate the position and velocity of the enemy they are tracking, instead of "locking on".
    • Addresses the "180 spin around and fire", "Heavy bot is OP", "Sniper bot is OP", and "I can't fight a Heavy bot as a Scout" issues.
  • Tuned Sniper spot finding algorithm to generate more diverse locations, partially .addressing the "Predictable Sniper camping spots" issue.
  • Soldier bots are more careful to not fire rockets that will explode on nearby geometry and kill them.
  • Fixed a bug where bots tried to heal from a Dispenser being carried by an Engineer.
  • Tuned scoreboard logic to guard against malicious server operators spoofing bot pings to hide the "BOT" tag.
  • Added more bot names as suggested by the TF community.

2010년 4월 28일 패치

  • 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.

2010년 6월 10일 패치 (Mac Update)

  • Added Offline Practice mode, with support for KOTH maps and Dustbowl.
  • [언급되지 않음] Looking at a bot player for a few seconds now causes it to taunt.

2010년 6월 11일 패치

  • 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.

2010년 6월 14일 패치

  • Fixed server crash related to bots and health kits.

2010년 6월 16일 패치

  • 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.

2010년 7월 19일 패치

  • 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.

2011년 4월 14일 패치 (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

2011년 4월 18일 패치

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

2011년 5월 5일 패치 (Replay Update)

  • [언급되지 않음] Bots now properly target the Horseless Headless Horsemann as an enemy.

2011년 7월 22일 패치

  • [언급되지 않음] Bots now work on CTF maps.

2011년 7월 26일 패치

2011년 8월 23일 패치

  • 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

2011년 9월 6일 패치

  • Fixed a server crash related to bots

2011년 10월 13일 패치 (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
  • [언급되지 않음] Added new bot names.

외부 링크

  1. Team Fortress 공식 블로그 - Erectin a dispenser
  2. WeGame.com - About Team Fortress 2: List of Commands