Difference between revisions of "Bots/ja"
m (minor edit) |
m (Added translation/翻訳追加) |
||
Line 11: | Line 11: | ||
{{Quotation|'''ソルジャー'''|人間のチームメイトは時にお前を責める。じゃあこの不愛想なカラクリ人形共はどうだ?そうだ、奴らだって物は見える。しかし口を利くことは一切ない。お前がいかにポンコツ野郎だったか、奴らは死ぬまで誰にも明かすことは無いのだ!}} | {{Quotation|'''ソルジャー'''|人間のチームメイトは時にお前を責める。じゃあこの不愛想なカラクリ人形共はどうだ?そうだ、奴らだって物は見える。しかし口を利くことは一切ない。お前がいかにポンコツ野郎だったか、奴らは死ぬまで誰にも明かすことは無いのだ!}} | ||
− | '''Bot''' もしくは'''BOT'''(ボット)は、サーバー上でコンピューターに操作されているプレイヤーの事です。''Team Fortress 2'' | + | '''Bot''' もしくは'''BOT'''(ボット)は、サーバー上でコンピューターに操作されているプレイヤーの事です。''Team Fortress 2'' にはAI(人工知能)ボットとパペット(人形)ボットの2種類のボットが存在します。AIボットはプレイヤーの動きを真似るように作られている高度な人工知能で、[[cheats/ja|チート]]をオンにしなくても使用可能です。パペットボットにはAIコードがありませんが、テストと練習には大変便利です。パペットボットを出現させるにはサーバーのチートをオンにする必要があり、またパペットボットを実績の達成に用いることは出来ません。 |
==AI ボット== | ==AI ボット== | ||
− | + | AIボットは人間のプレイヤーの動きを再現するように設計されており、直接操作をすることは出来ません。ボットのクラスはランダムで選ばれます。このボットのAIコードは "Left 4 Dead" シリーズのプレイヤーボットと感染者の、洗練されたAIコードをベースに作られました。<ref>[http://teamfortress.com/post.php?id=3279 Team Fortress Official Blog - Erectin a dispenser]</ref> AIボットを出現させるためにサーバーのチートをオンにする必要はありません。 従って、一部例外を除いて実績の達成に用いることが出来ます。例えばボットは殺された際に[[Deathcam/ja|キルカメラ]]を見ることが出来ないため、プレイヤーはキルカメラに関する実績を達成する事は出来ません。また、ストレンジクオリティの武器でボットをキルした際、その武器に {{item link|Strange Part}} を装着していない限り、キル数にはカウントされません。Strange Part を装着してキルした場合は、武器のメインのカウンターではなく Strange Part にカウントされます。 | |
AIボットには、「イージー」から「エキスパート」まで4種類のスキルが存在します。Steam のコミュニティガイドにて、[https://steamcommunity.com/id/segmentation_fault Sigsegv]氏が[https://steamcommunity.com/sharedfiles/filedetails/?id=572409016 各スキルの違いや詳細]について解説{{lang icon|en}}してくれています。 | AIボットには、「イージー」から「エキスパート」まで4種類のスキルが存在します。Steam のコミュニティガイドにて、[https://steamcommunity.com/id/segmentation_fault Sigsegv]氏が[https://steamcommunity.com/sharedfiles/filedetails/?id=572409016 各スキルの違いや詳細]について解説{{lang icon|en}}してくれています。 | ||
Line 246: | Line 246: | ||
:<code><''team''></code> | :<code><''team''></code> | ||
− | ::ボットを追加するチームを指定できます。チーム名を入力する場合は''[[ | + | ::ボットを追加するチームを指定できます。チーム名を入力する場合は''[[RED/ja|RED]]''および''[[BLU/ja|BLUE]]''という表記を使います。 |
:<code><''difficulty''></code> | :<code><''difficulty''></code> | ||
Line 412: | Line 412: | ||
===AIボットの現状について=== | ===AIボットの現状について=== | ||
− | AIボットは完全にリリースされている状態です。{{cite|when were they fully/officially released?}}{{update link|Hatless Update}}を経て、かつてバグの多かったスパイボットを含め、全てのボットが正常に動くようになりました。AIボットは[[King of the Hill/ja|キングオブザヒル]]マップのほとんどと、[[Payload/ja|ペイロード]]マップのいくつか、そして攻撃/防衛マップの[[Dustbowl/ja|Dustbowl]] と [[Gorge/ja|Gorge]]、[[Capture the Flag/ja|旗取り]]マップ、そして[[Mann Manor/ja|Mann Manor]]で正常に機能します。 (最後の2つは、<kbd>tf_bot_add</kbd> をコマンドに入力する必要があります。) | + | AIボットは完全にリリースされている状態です。{{cite|when were they fully/officially released?}}{{update link|Hatless Update}}を経て、かつてバグの多かったスパイボットを含め、全てのボットが正常に動くようになりました。AIボットは[[King of the Hill/ja|キングオブザヒル]]マップのほとんどと、[[Payload/ja|ペイロード]]マップのいくつか、そして攻撃/防衛マップの[[Dustbowl/ja|Dustbowl]] と [[Gorge/ja|Gorge]]、[[Capture the Flag/ja|旗取り]]マップ、そして[[Mann Manor/ja|Mann Manor]]で正常に機能します。 (最後の2つは、<kbd>tf_bot_add</kbd> をコマンドに入力する必要があります。)サポートされていないマップでボットを使用する際は、とある手順を踏む必要があります。ただし必ずしも人間のように動いてくれるとは限りません。 |
ボットは [[Hightower/ja|Hightower]] にある手すりを飛び越えられず、またスポーンした後にどこかにスタックしてしまうので、どの[[Payload/ja|ペイロードレース]]マップでも正しく動いてくれません。またボットは、他のPLRマップにてダンスパーティーをします(これは将来的に修正されるかもしれません)。{{cite|where is the future plan?}} | ボットは [[Hightower/ja|Hightower]] にある手すりを飛び越えられず、またスポーンした後にどこかにスタックしてしまうので、どの[[Payload/ja|ペイロードレース]]マップでも正しく動いてくれません。またボットは、他のPLRマップにてダンスパーティーをします(これは将来的に修正されるかもしれません)。{{cite|where is the future plan?}} | ||
Line 420: | Line 420: | ||
* 初級難易度のボットはサブ武器、近接武器をめったに使いません。上級難易度のボットはメイン武器の弾薬が切れた場合や、敵との距離を考慮した場合にサブ武器に切り替えて使用します。 | * 初級難易度のボットはサブ武器、近接武器をめったに使いません。上級難易度のボットはメイン武器の弾薬が切れた場合や、敵との距離を考慮した場合にサブ武器に切り替えて使用します。 | ||
* ボットは特殊[[jump/ja|ジャンプ]](ロケットジャンプ等)や装置の[[haul/ja|運搬]]をしません。 | * ボットは特殊[[jump/ja|ジャンプ]](ロケットジャンプ等)や装置の[[haul/ja|運搬]]をしません。 | ||
− | * ボットは敵を殺した直後に[[taunt/ja|挑発]] | + | * ボットは敵を殺した直後に[[taunt/ja|挑発]]をする事があります。周りからの攻撃を受けていても挑発を実行します。また、ボットは敵の機密情報を運んでいる際に挑発はしません。[[Mann vs. Machine (game mode)/ja|Mann vs. Machine]] の[[Robots/ja|ロボット]]達も同じ振る舞いをします。 |
* スパイのボット(およびプレイヤー)の[[disguise/ja|変装]]に、他のボットは一切気付きません。しかし彼らに触れてしまったり、[[Sapper/ja|サッピング]]や攻撃、 および[[Cloak/ja|透明化]]をするとそれを目撃したボット全員に気付かれてしまいます。見えない場所で変装するか、死ぬか、{{item link|Dead Ringer}}で擬死でもしないと、ボットたちは誰がスパイなのかをずっと覚えています。 | * スパイのボット(およびプレイヤー)の[[disguise/ja|変装]]に、他のボットは一切気付きません。しかし彼らに触れてしまったり、[[Sapper/ja|サッピング]]や攻撃、 および[[Cloak/ja|透明化]]をするとそれを目撃したボット全員に気付かれてしまいます。見えない場所で変装するか、死ぬか、{{item link|Dead Ringer}}で擬死でもしないと、ボットたちは誰がスパイなのかをずっと覚えています。 | ||
* 中級以上の難易度の[[Pyro/ja|パイロ]]は、敵の攻撃に対して[[compression blast/ja|圧縮ブラスト]]を使ってきます。 | * 中級以上の難易度の[[Pyro/ja|パイロ]]は、敵の攻撃に対して[[compression blast/ja|圧縮ブラスト]]を使ってきます。 | ||
Line 493: | Line 493: | ||
*ボットのエイム力や度胸などの情報をカスタマイズすることが可能です。 | *ボットのエイム力や度胸などの情報をカスタマイズすることが可能です。 | ||
*エンジニアボットは自分のセントリーガンのアップグレードが完了すると、仲間のエンジニアのセントリーガンをアップグレードしたり、サッパーを除去したりしてくれます。 | *エンジニアボットは自分のセントリーガンのアップグレードが完了すると、仲間のエンジニアのセントリーガンをアップグレードしたり、サッパーを除去したりしてくれます。 | ||
− | * | + | *ボットがセントリーガンの標的にされて逃げ切れた場合、「前方にセントリーガン!」のボイスコマンドを使用します。 |
*エンジニアボットはテレポーターをウェイポイントがある場所に設置し、またアップグレードも行います。 | *エンジニアボットはテレポーターをウェイポイントがある場所に設置し、またアップグレードも行います。 | ||
*時々、敵のメディックボットが変装したスパイを回復してしまうことがあります。 | *時々、敵のメディックボットが変装したスパイを回復してしまうことがあります。 | ||
Line 507: | Line 507: | ||
===RCBot2のバグ=== | ===RCBot2のバグ=== | ||
− | * | + | *ウェイポイントの性質上、RCBot2のパスはTFボットほど予測不可能に作られておらず、RCBot2は他のボットと頻繁にぶつかり、どちらかが死ぬまでお互いスタックしてしまうことがある。 |
**スパイボットも同じ理由でプレイヤーにぶつかったまま動けなくなることがあります。スパイボットは設定された範囲しか移動できず、一定の軌道上にとどまります。 | **スパイボットも同じ理由でプレイヤーにぶつかったまま動けなくなることがあります。スパイボットは設定された範囲しか移動できず、一定の軌道上にとどまります。 | ||
*エンジニアボットはディスペンサーの設置に手こずります。かつ自分の意志で自由な場所に配置します。 | *エンジニアボットはディスペンサーの設置に手こずります。かつ自分の意志で自由な場所に配置します。 | ||
− | * | + | *デモマンボットは敵が粘着爆弾の上に立っているかどうかが分かり、敵が視界にいなくても爆破させることができます。 |
− | * | + | *エンジニアボットはたまにセントリーガンの向きを間違えます。 |
*RCbot2はウェイポイントの設定されていない場所に飛ばされると、そこから動けなくなります。例えば [[Nucleus/ja|Nucleus]] の屋根付近などです。 | *RCbot2はウェイポイントの設定されていない場所に飛ばされると、そこから動けなくなります。例えば [[Nucleus/ja|Nucleus]] の屋根付近などです。 | ||
*RCbot2はヘルスキットを拾った際にも「ありがとよ!」のボイスコマンドを使用します。 | *RCbot2はヘルスキットを拾った際にも「ありがとよ!」のボイスコマンドを使用します。 | ||
Line 520: | Line 520: | ||
*SourceMod のプラグインの一部はRCBot2の smac_cvars.smx と相性が悪い可能性があります。しかし [APG]RoboCop[CL] 氏が「config.ini」の中に「sm plugins unload <PLUGIN-NAME>」を追加することでこれを回避しています。 | *SourceMod のプラグインの一部はRCBot2の smac_cvars.smx と相性が悪い可能性があります。しかし [APG]RoboCop[CL] 氏が「config.ini」の中に「sm plugins unload <PLUGIN-NAME>」を追加することでこれを回避しています。 | ||
− | + | 不具合があった場合は必ずRCbotのウェブサイトまたは Discord の Bots-Unitedチャンネルに報告して下さい。Team Fortress wiki と Valve 社はRCbot2について一切責任を負いません。 | |
== パペットボット == | == パペットボット == | ||
− | + | パペットボットにはAIコードが無く、自身で動き回ったり何かをすることはできません。パペットボットはパペットのように扱えるので、プレイヤーを追いかけさせたり武器を使わせたりと、プレイヤーのコマンドに従って動かすことができます。使用用途は主にテストで、以下に示すような指示をしてやると [http://www.youtube.com/watch?v=Dn9970dxQ2g こんなこと]も出来たりします。 | |
===パペットボットコマンド=== | ===パペットボットコマンド=== | ||
− | + | 全てのコマンドが正常に機能するわけではなく、省かれている作業コマンドもあります。 | |
− | + | AIボットにこのコマンドを指示した場合は、うまく機能したりしなかったりします。 | |
− | + | 注)値を入れずにコマンドを送信すると、現在の設定と簡単な説明が表示されます。 | |
{| class="wikitable grid" | {| class="wikitable grid" | ||
− | ! class="header" | | + | ! class="header" | コマンド |
− | ! class="header" | | + | ! class="header" | 解説 |
|- | |- | ||
|{{nw|<big>'''<code>bot</code>'''</big>}} | |{{nw|<big>'''<code>bot</code>'''</big>}} | ||
− | | | + | |このコマンドを使うと、指定したクラスが指定された名前で、指定されたチームに参加します。チームおよびボットの名前が省略された場合はランダムに選ばれます。 |
− | ; | + | ;構文: <code>bot [<''teamname/number''>] [<''classname''>] [<''name''>] [<''number''>]</code> |
− | ; | + | ;変数 |
− | :<code> | + | :<code><''number''></code> |
− | :: | + | ::追加したいボットの数を指定できます。 |
− | :<code> | + | :<code><''teamname/number''></code> |
− | :: | + | ::ボットを追加したいチームをアルファベットもしくは数字で指定できます。チームを指定する場合は ''[[RED/ja|RED]]''もしくは''1''、 ''[[BLU/ja|BLU]]'' もしくは ''0''という表記を使います |
− | :<code> | + | :<code><''classname''></code> |
− | ::'' | + | ::ボットのクラスを指定できます。クラス名を入力する場合は''[[Demoman/ja|Demoman]]''、''[[Engineer/ja|Engineer]]''、''[[Heavy/ja|Heavy]]Weapons''、''[[Medic/ja|Medic]]''、''[[Pyro/ja|Pyro]]''、''[[Scout/ja|Scout]]''、''[[Soldier/ja|Soldier]]''、''[[Sniper/ja|Sniper]]''、 ''[[Spy/ja|Spy]]''という表記を使います。 |
− | + | :<code><''teleport''></code> | |
+ | ::カーソルで狙っている場所にボットをテレポートできます。 | ||
+ | :<code><''targetdummy''></code> | ||
+ | ::スポーンさせたボットのヘルスが減るのを防ぎます。 | ||
+ | :<code><''name''></code> | ||
+ | ::どんな名前でもOKです。既に同じ名前のボットがいる場合は、名前の先頭に括弧で囲まれたナンバーが追加されます。例えばJoe、(1)Joe、(2)Joeという感じになります。名前を指定しなかった場合は「bot」の後ろにナンバーが付いたものになります。例えば最初のボットがBot01、次がBot02、と続いていきます。 | ||
+ | ;例 | ||
+ | :<code>bot -team red -class Engineer -name joe</code> | ||
|- | |- | ||
− | |{{nw|<big> | + | |{{nw|<big>'''<code>bot_changeclass</code>'''</big>}} |
− | + | |ボットを全員、指定するクラスに変更できます。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | ; | + | ;構文: <code>bot_changeclass <''name''> <''classname''></code> |
− | |||
− | |||
− | |||
− | |||
− | :: | + | ;変数 |
+ | :<code><''name''></code> | ||
+ | ::ターゲットボットの名前を指定できます。 | ||
+ | :<code><''classname''></code> | ||
+ | ::ボットを切り替えたいクラスの名前です。デフォルトは "" (または空白)です。 | ||
+ | ;例 | ||
+ | :<code>bot_changeclass bot01 Soldier</code> | ||
|- | |- | ||
− | |{{nw|<big>''' | + | |{{nw|<big>'''<code>bot_changeteams</code>'''</big>}} |
− | | | + | | |
− | + | ボットを全員、チーム変更させます。 | |
+ | BLUチームに居たボットならばREDに切り替わり、その逆も同じです。 | ||
|- | |- | ||
− | |{{nw|<big>''' | + | |{{nw|<big>'''<code>bot_command</code>'''</big>}} |
− | | | + | |指定されたボットに代わって、指定されたコマンドを送信します。 |
+ | ;構文: <code>bot_command <''name/all''> <''console command''></code> | ||
+ | ;変数 | ||
+ | :<code><''name/all''></code> | ||
+ | ::コマンドの送信先であるボットの名前およびIDを入力します。「all」を指定した場合すべてのボットにコマンドが送信されます。 | ||
+ | :<code><''console command''></code> | ||
+ | ::[[Scripting/ja|コンソールコマンド]]にリストされているもの、および[[Cheats/ja|チート]]を指定できます。 | ||
+ | ;例1 | ||
+ | :<code>bot_command bot01 "voicemenu 0 0"</code> | ||
+ | ;例2 | ||
+ | :<code>bot_command bot01 "taunt"</code> | ||
− | + | ::スロットのコマンド(slot1、slot2など)は bot_command では機能しませんが、<code>bot_forcefireweapon</code>を使う事でそのクラスの全てのボットに武器を発射させ、その後停止させることが可能です。しかしながらそのクラスのボット全体のみしか機能しません。 | |
− | |||
− | |||
|- | |- | ||
− | |{{nw|<big>''' | + | |{{nw|<big>'''<code>bot_dontmove</code>'''</big>}} |
− | | | + | |ボットの移動を許可もしくは制限できます。''1''でボットは移動不可能になりますが、その場でジャンプしたり体の向きを変える事はできます。 このコマンドと<code>bot_mimic</code>を組み合わせれば、ボットを指定した場所へ移動し、そこで待機させることもできます。 |
− | ; | + | ;構文: <code>bot_dontmove <''integer''></code> |
− | :: | + | ;変数 |
− | ; | + | :<code><''integer''></code> |
+ | ::1でボットの移動を許可できます。デフォルトは0(移動制限)の状態です。 | ||
+ | ;例 | ||
+ | :<code>bot_dontmove 1</code> | ||
|- | |- | ||
− | |{{nw|<big>'''bot_forceattack'''</big>}} | + | |{{nw|<big>'''<code>bot_forceattack</code>'''</big>}} |
− | | | + | |このコマンドを使えば、ボットが今構えている[[weapon/ja|武器]]を自動で発射できます。<code>bot_forceattack2</code>が0に設定されている場合、ボットは primary_fire を実行します。<code>bot_forceattack2</code>が1に設定されている場合、ボットは secondary_fire を実行します。 |
− | + | <code>bot_mimic</code>が1(有効)になっている場合、何も起こらないのでご注意ください。 | |
− | ; | + | ;構文: <code>bot_forceattack <''integer''></code> |
− | : | + | ;変数 |
− | ; | + | :<code><''integer''></code> |
+ | ::1に設定した場合、全てのボットが銃を発砲します。デフォルトは0(無効)です。 | ||
+ | ;例 | ||
+ | :<code>bot_forceattack 1</code> | ||
|- | |- | ||
− | |{{nw|<big>'''bot_forceattack2'''</big>}} | + | |{{nw|<big>'''<code>bot_forceattack2</code>'''</big>}} |
− | | | + | |<code>bot_forceattack</code>を1に設定していると、全てのボットが現在構えている武器で secondary_fire を実行します。 |
− | ; | + | ;構文: <code>bot_forceattack2 <''integer''></code> |
− | : | + | ;変数 |
− | ; | + | :<code><''integer''></code> |
+ | ::1に設定すればボットは secondary_fire を実行し、0ならば primary_fire を実行します。 | ||
+ | ;例 | ||
+ | :<code>bot_forceattack2 1</code> | ||
+ | |- | ||
+ | |{{nw|<big>'''<code>bot_forceattack_down</code>'''</big>}} | ||
+ | |これを0に設定していれば、ボットは発射ボタンを何回も押すような状態になります。([[Stickybomb Launcher/ja|粘着爆弾ランチャー]]で役立つ)1にすれば、押し続けているような状態になります。([[Minigun/ja|ミニガン]]で役立つ) | ||
+ | ;構文: <code>bot_forceattack_down <''0/1''></code> | ||
+ | ;変数 | ||
+ | :<code><''integer''></code> | ||
+ | ::1もしくは0。0で無効になります。 | ||
+ | ;例 | ||
+ | :<code>bot_forceattack_down 1</code> | ||
|- | |- | ||
− | |{{nw|<big>''' | + | |{{nw|<big>'''<code>bot_forcefireweapon</code>'''</big>}} |
− | | | + | |ボットが構える武器を指定した武器に切り替え、強制的に武器を発射させます。指定した武器を持っていない場合は何も起こりません。 |
− | + | ;構文: <code>bot_forcefireweapon <''weapon filename''></code> | |
− | ; | + | ::''filename'' は通常 ''tf_weapon_ <武器名>''となります。 |
− | :: | + | ;例 |
− | ; | + | :<code>bot_forcefireweapon tf_weapon_fists</code> すべての[[Heavy/ja|ヘビー]]ボットの武器を[[Fists/ja|拳]]に切り替えさせて連続的に攻撃させ、他のボットは攻撃を停止します。 |
+ | :<code>bot_forcefireweapon tf_weapon_shotgun_pyro</code> すべての[[Pyro/ja|パイロ]]ボットの武器を[[Shotgun/ja|ショットガン]]に切り替えさせて連続的に攻撃させ、他のボットは攻撃を停止します。 | ||
+ | ::ボット全員の攻撃をやめさせたいのであれば、存在しない武器のファイル名を指定するだけです。tf_weapon が含まれていない物はTF2の武器と見なされない為、<code>''bot_forcefireweapon ,,''</code>等の指定をすればボットは攻撃をしません。 | ||
+ | |- | ||
+ | |{{nw|<big>'''<code>bot_jump</code>'''</big>}} | ||
+ | |ボット全員に繰り返しジャンプをさせる事ができます。 | ||
+ | ;構文: <code>bot_jump <''integer''></code> | ||
+ | ;変数 | ||
+ | :<code><''integer''></code> | ||
+ | ::1でボットが全員、ジャンプを繰り返します。デフォルトは0(無効)です。 | ||
+ | ;例 | ||
+ | :<code>bot_jump 1</code> | ||
+ | |- | ||
+ | |{{nw|<big>'''<code>bot_crouch</code>'''</big>}} | ||
+ | |ボット全員をしゃがみ状態にできます。 | ||
+ | ;構文: <code>bot_crouch <''integer''></code> | ||
+ | ;変数 | ||
+ | :<code><''integer''></code> | ||
+ | ::1でボットが全員、しゃがんだ状態になります。デフォルトは0(無効)です。 | ||
+ | ;例 | ||
+ | :<code>bot_crouch 1</code> | ||
+ | |- | ||
+ | |{{nw|<big>'''<code>bot_kick</code>'''</big>}} | ||
+ | |名前を指定してボットを削除したり、チームごと、または全員削除したりできます。 | ||
+ | ;構文: <code>bot_kick <''name/team''></code> | ||
+ | ::指定したボットが死にます。 | ||
+ | ;例 | ||
+ | :<code>bot_kick bot01</code> 「bot01」という名前のボットをキックします。 | ||
+ | :<code>bot_kick red</code> REDチームのボットをまるごとキックします。 | ||
+ | :<code>bot_kick blue</code> BLUチームのボットをまるごとキックします。 | ||
+ | :<code>bot_kick all</code> サーバー内のボット全員をキックします。 | ||
|- | |- | ||
− | |{{nw|<big>''' | + | |{{nw|<big>'''<code>bot_kill</code>'''</big>}} |
− | | | + | |ボットを殺せます。 |
− | + | ;構文: <code>bot_kill <''name''></code> | |
− | + | ;変数 | |
− | :: | + | :<code><''name''></code> |
− | ; | + | ::指定したボットが死にます。 |
+ | ;例 | ||
+ | :<code>bot_kill bot01</code> | ||
|- | |- | ||
− | |{{nw|<big> | + | |{{nw|<big>'''<code>bot_mirror</code>'''</big>}} |
− | + | |指定したボットがプレイヤーのロードアウト(クラス、装飾アイテム、武器)をそっくり真似ますが、いくつかバグがあります。 if a [[Demoman]] player has the [[Booties]] and any shield equipped, a mirrored bot will still use the [[Grenade Launcher]] and [[Stickybomb Launcher]] despite showing the Booties and shield on his model. After a mirrored bot dies, it will not retain the previous loadout, and bot_mirror must be used again. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ;構文: <code>bot_mirror <''name''></code> | |
− | + | ::Where ''name'' is the name of the bot to mirror. | |
− | + | ;例 | |
− | + | :<code>bot_mirror bot01</code> | |
− | |||
− | |||
− | ; | ||
− | :: | ||
− | ; | ||
|- | |- | ||
− | |{{nw|<big>'''bot_mimic'''</big>}} | + | |{{nw|<big>'''<code>bot_mimic</code>'''</big>}} |
|Bot uses usercmd of player by index. | |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. | 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. | ||
Line 643: | Line 692: | ||
Note this overrides <code>bot_forceattack</code> but does not override <code>bot_dontmove</code>. | Note this overrides <code>bot_forceattack</code> but does not override <code>bot_dontmove</code>. | ||
− | ; | + | ;構文: <code>bot_mimic <''integer''></code> |
− | : | + | ;変数 |
− | ; | + | :<code><''integer''></code> |
+ | ::Either 1 or 0. Default is 0 (disabled). | ||
+ | ;例 | ||
+ | :<code>bot_mimic 1</code> | ||
|- | |- | ||
− | |{{nw|<big>'''bot_mimic_inverse'''</big>}} | + | |{{nw|<big>'''<code>bot_mimic_inverse</code>'''</big>}} |
| | | | ||
Inverts the movement of the bots; moving left makes the bots move right, moving forwards makes the bots move backwards, etc. | Inverts the movement of the bots; moving left makes the bots move right, moving forwards makes the bots move backwards, etc. | ||
Line 653: | Line 705: | ||
The direction which the bot is looking is not affected. | The direction which the bot is looking is not affected. | ||
− | ; | + | ;構文: <code>bot_mimic_inverse <''integer''></code> |
− | : | + | ;変数 |
− | ; | + | :<code><''integer''></code> |
+ | ::Either 1 or 0. Default is 0 (disabled). | ||
+ | ;例 | ||
+ | :<code>bot_mimic_inverse 1</code> | ||
|- | |- | ||
− | |{{nw|<big>'''bot_mimic_yaw_offset'''</big>}} | + | |{{nw|<big>'''<code>bot_mimic_yaw_offset</code>'''</big>}} |
| | | | ||
Offsets the bots' yaw. | 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. | 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. | ||
− | ; | + | ;構文: <code>bot_mimic_yaw_offset <''0-360''></code> |
::Set the direction by specifying angle in degrees | ::Set the direction by specifying angle in degrees | ||
− | ; | + | ;例 |
+ | :<code>bot_mimic_yaw_offset 180</code> | ||
|- | |- | ||
− | |{{nw|<big>'''bot_randomnames'''</big>}} | + | |{{nw|<big>'''<code>bot_randomnames</code>'''</big>}} |
| | | | ||
− | ;Syntax: <code>bot_randomnames <''0 | + | ;Syntax: <code>bot_randomnames <''0''></code> |
− | : | + | ;Parameters |
− | ;Example: <code>bot_randomnames 1</code> | + | :<code><''integer''></code> |
+ | ::Either 1 or 0. Default is 0 (disabled). | ||
+ | ;Example | ||
+ | :<code>bot_randomnames 1</code> | ||
|- | |- | ||
− | |{{nw|<big>'''bot_refill'''</big>}} | + | |{{nw|<big>'''<code>bot_refill</code>'''</big>}} |
− | |Refills all bots' | + | |Refills all bots' ammo (including [[metal]] for Engineers) and health counts. |
− | Syntax: <code>bot_refill</code> | + | ;Syntax: <code>bot_refill</code> |
|- | |- | ||
− | |{{nw|<big>'''bot_saveme'''</big>}} | + | |{{nw|<big>'''<code>bot_saveme</code>'''</big>}} |
− | |This makes all the bots call for a Medic, equivalent to issuing <code>bot_command <'' | + | |This makes all the bots call for a Medic, equivalent to issuing <code>bot_command <''name''> "voicemenu 0 0"</code> to every bot. |
− | Syntax: <code>bot_saveme <'' | + | ;Syntax: <code>bot_saveme <''integer''></code> |
− | : | + | ;Parameters |
+ | :<code><''integer''></code> | ||
+ | ::All the bots will call for a Medic when set to 1. Default is 0 (disabled). | ||
|- | |- | ||
− | |{{nw|<big>'''bot_selectweaponslot'''</big>}} | + | |{{nw|<big>'''<code>bot_selectweaponslot</code>'''</big>}} |
− | | | + | |Forces a bot to switch to the specified weapon slot. To specify which bot switches weapons, use <code>''cc_bot_selectweapon''</code> instead. |
− | |||
− | |||
− | ;Syntax: <code>bot_selectweaponslot <''n''></code> | + | ;Syntax: <code>bot_selectweaponslot <''n''> </code> |
− | ::Set ''n'' to weapon slot that bots should switch to. | + | ;Parameters |
− | ;Example: <code>bot_selectweaponslot 2</code> | + | :<code><''n''></code> |
+ | ::Set ''n'' to weapon slot that bots should switch to. | ||
+ | ::0 = primary; 1 = secondary; 2 = melee; 3 = special | ||
+ | ;Example | ||
+ | :<code>bot_selectweaponslot 2 </code> | ||
|- | |- | ||
− | |{{nw|<big>'''bot_teleport'''</big>}} | + | |{{nw|<big>'''<code>bot_teleport</code>'''</big>}} |
|Teleports a specified bot to a given coordinate. | |Teleports a specified bot to a given coordinate. | ||
Map coordinates of where you are standing can be found by typing <code>Status</code> in the console. | Map coordinates of where you are standing can be found by typing <code>Status</code> in the console. | ||
− | ;Syntax: <code>bot_teleport <'' | + | ;Syntax: <code>bot_teleport <''name''> <''X''> <''Y''> <''Z''> <''Pitch''> <''Yaw''> <''Roll''></code> |
− | ::Where '' | + | ::Where ''name'' is the name of the bot or id to teleport. |
− | ::<code>''X'' ''Y'' ''Z''</code> | + | ;Parameters |
− | + | :<code><''name''></code> | |
− | ;Example: <code>bot_teleport bot01 -4815 1385 -447 0 0 0</code> | + | ::Name of the bot to teleport. |
+ | :<code><''X''> <''Y''> <''Z''></code> | ||
+ | ::Coordinates of the map the bot will be teleported to. | ||
+ | :<code><''Pitch''> <''Yaw''> <''Roll''></code> | ||
+ | ::The direction the bot should face. | ||
+ | ;Example | ||
+ | :<code>bot_teleport bot01 -4815 1385 -447 0 0 0</code> | ||
|- | |- | ||
− | |{{nw|<big>'''bot_whack'''</big>}} | + | |{{nw|<big>'''<code>bot_whack</code>'''</big>}} |
− | |Delivers lethal damage from player to specified bot. This basically kills the bot with the currently selected weapon, probably used for testing during development. | + | |Delivers lethal damage from player to specified bot. This basically kills the bot with the currently selected weapon, probably used for testing during development. It is worth noting that you can only use bot_whack to kill a teammate if mp_friendlyfire is set to 1, otherwise attempting to whack a teammate will not do anything. |
− | ;Syntax: bot_whack <'' | + | ;Syntax: <code>bot_whack <''name''></code> |
− | : | + | ;Parameters |
− | ;Example: bot_whack | + | :<code><''name''></code> |
− | |} | + | ::Name of the bot to "whack". |
+ | ;Example | ||
+ | :<code>bot_whack bot01</code> | ||
+ | |- | ||
+ | |{{nw|<big>'''<code>cc_bot_selectweapon</code>'''</big>}} | ||
+ | |Forces a bot to switch to the specified weapon slot. | ||
+ | ;Syntax: <code>cc_bot_selectweapon <''name''> <''n''> </code> | ||
+ | ;Parameters | ||
+ | :<code><''n''></code> | ||
+ | ::Set ''n'' to weapon slot that bots should switch to. | ||
+ | ::0 = primary; 1 = secondary; 2 = melee; 3 = special | ||
+ | :<code><''name''></code> | ||
+ | ::Name of the bot that will switch weapon slot. | ||
+ | ;Example | ||
+ | :<code>cc_bot_selectweapon bot12 2</code> | ||
+ | |- | ||
+ | |{{nw|<big>'''{{code|bot_hurt}}'''</big>}} | ||
+ | |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: {{code|bot_hurt [<''name''>] [<''team''>] [<''damage''>]}} | |
− | |||
− | |||
− | ''' | + | ;Parameters |
− | + | :<code><''name''></code> | |
− | + | ::Name of the bot to hurt. | |
− | + | :<code><''team''></code> | |
− | + | ::Specifies the team name of the bot to hurt. Can be ''[[RED]]'', ''[[BLU]]'' or ''all''. | |
− | + | :<code><''damage''></code> | |
− | + | ::Specifies the amount of damage the bot will receive. If a negative number is set, it will heal (and [[overheal]]) the bot instead. | |
− | + | :<code><''burn''></code> | |
− | + | ::Set the bot on fire. However, the bot will not receive any afterburn damage. | |
− | + | ;Example | |
− | + | :<code>bot_hurt -name joe -team red -damage 150</code> | |
− | + | |} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ''' | ||
− | |||
− | |||
− | |||
− | '' | ||
− | |||
− | |||
− | '' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | '' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | == 備考 == |
− | * | + | * ボットの種類にかかわらず、{{code|nb_select}} や {{code|nb_warp_selected_here}} などのデバッグコマンドで制御することも可能です。 |
− | == | + | ==参照== |
<references/> | <references/> | ||
[[Category:Customization/ja]] | [[Category:Customization/ja]] | ||
[[Category:Gameplay/ja]] | [[Category:Gameplay/ja]] |
Revision as of 12:57, 6 March 2022
このページの内容は日本語へ翻訳中です。 もしあなたが日本語話者で編集して頂ける場合は、トークページにその旨を記していただくか(編集履歴のページを参照して)このページを過去に編集した人たちと話してください。 |
- コンピュータ制御のチート/グリーフィングボットについては、チートボットをご覧ください。
- Team Fortress Classic のボットについては、Bots (Classic) をご覧ください。
- Team Fortress Wiki の編集を自動化するボットについては、Category:User bots をご覧ください。
- Mann vs. Machine (アップデート)で登場したロボットについては、ロボットをご覧ください。
- その他の用途については、Robot(ロボット)をご覧ください。
「 | 人間のチームメイトは時にお前を責める。じゃあこの不愛想なカラクリ人形共はどうだ?そうだ、奴らだって物は見える。しかし口を利くことは一切ない。お前がいかにポンコツ野郎だったか、奴らは死ぬまで誰にも明かすことは無いのだ!
— ソルジャー
|
」 |
Bot もしくはBOT(ボット)は、サーバー上でコンピューターに操作されているプレイヤーの事です。Team Fortress 2 にはAI(人工知能)ボットとパペット(人形)ボットの2種類のボットが存在します。AIボットはプレイヤーの動きを真似るように作られている高度な人工知能で、チートをオンにしなくても使用可能です。パペットボットにはAIコードがありませんが、テストと練習には大変便利です。パペットボットを出現させるにはサーバーのチートをオンにする必要があり、またパペットボットを実績の達成に用いることは出来ません。
目次
AI ボット
AIボットは人間のプレイヤーの動きを再現するように設計されており、直接操作をすることは出来ません。ボットのクラスはランダムで選ばれます。このボットのAIコードは "Left 4 Dead" シリーズのプレイヤーボットと感染者の、洗練されたAIコードをベースに作られました。[1] AIボットを出現させるためにサーバーのチートをオンにする必要はありません。 従って、一部例外を除いて実績の達成に用いることが出来ます。例えばボットは殺された際にキルカメラを見ることが出来ないため、プレイヤーはキルカメラに関する実績を達成する事は出来ません。また、ストレンジクオリティの武器でボットをキルした際、その武器に Strange Part を装着していない限り、キル数にはカウントされません。Strange Part を装着してキルした場合は、武器のメインのカウンターではなく Strange Part にカウントされます。
AIボットには、「イージー」から「エキスパート」まで4種類のスキルが存在します。Steam のコミュニティガイドにて、Sigsegv氏が各スキルの違いや詳細について解説(英語)してくれています。
プレイヤーは以下の通り、AIボットを間接的に操作することができます。
- セットアップタイム時にプレイヤーが照準で焦点をあわせた味方、 または敵のボットは挑発を行います。
- メディックボットは "メディック!" のボイスコマンドを使用したプレイヤーを回復します。
- メディックボットが自分を回復していて、かつチャージゲージが満タンの時に "ゴー!ゴー!ゴー!" または "チャージを頼む!" のボイスコマンドを使用するとメディックボットはすぐにユーバーチャージを展開します。
- メディックボットのチャージゲージが満タンの時に、メディックボット自身もしくはその回復対象が大ダメージを受けた際はすぐにユーバーゲージを展開します。
- ボットの近くで High Five! やコンガなどの挑発を実行するとボットはそれに参加します。
パスファインディング
公式がボットの動きをサポートしているマップ
マップ | ゲームモード | ファイル名 |
Dustbowl | 攻撃/防御 | cp_dustbowl |
Gorge | 攻撃/防御 | cp_gorge |
Gorge Event | 攻撃/防御 | cp_gorge_event |
Mann Manor | 攻撃/防御 | cp_manor_event |
Mercenary Park | 攻撃/防御 | cp_mercenarypark |
Mossrock | 攻撃/防御 | cp_mossrock |
Badlands (CP) | コントロールポイント | cp_badlands |
Foundry (CP) | コントロールポイント | cp_foundry |
Granary (CP) | コントロールポイント | cp_granary |
Gullywash | コントロールポイント | cp_gullywash_final1 |
Metalworks | コントロールポイント | cp_metalworks |
Process | コントロールポイント | cp_process_final |
Snakewater | コントロールポイント | cp_snakewater_final1 |
Sunshine | コントロールポイント | cp_sunshine |
Vanguard | コントロールポイント | cp_vanguard |
Turbine | 旗取り | ctf_turbine |
Badlands (KOTH) | キングオブザヒル | koth_badlands |
Brazil | キングオブザヒル | koth_brazil |
Eyeaduct | キングオブザヒル | koth_viaduct_event |
Ghost Fort | キングオブザヒル | koth_lakeside_event |
Kong King | キングオブザヒル | koth_king |
Lakeside | キングオブザヒル | koth_lakeside_final |
Laughter | キングオブザヒル | koth_slaughter_event |
Lazarus | キングオブザヒル | koth_lazarus |
Moldergrove | キングオブザヒル | koth_undergrove_event |
Moonshine Event | キングオブザヒル | koth_moonshine_event |
Nucleus (KOTH) | キングオブザヒル | koth_nucleus |
Probed | キングオブザヒル | koth_probed |
Sawmill (KOTH) | キングオブザヒル | koth_sawmill |
Slasher | キングオブザヒル | koth_slasher |
Viaduct | キングオブザヒル | koth_viaduct |
Badwater Basin | ペイロード | pl_badwater |
Barnblitz | ペイロード | pl_barnblitz |
Bloodwater | ペイロード | pl_bloodwater |
Brimstone | ペイロード | pl_fifthcurve_event |
Enclosure | ペイロード | pl_enclosure_final |
Gold Rush | ペイロード | pl_goldrush |
Gravestone | ペイロード | pl_rumble_event |
Hoodoo | ペイロード | pl_hoodoo_final |
Precipice[OfficialSupport 1] | ペイロード | pl_precipice_event_final |
Swiftwater | ペイロード | pl_swiftwater_final1 |
Thunder Mountain | ペイロード | pl_thundermountain |
Upward | ペイロード | pl_upward |
Pier | ペイロード | pl_pier |
Wutville[OfficialSupport 1] | ペイロード | pl_wutville_event |
サポートされていないマップでボットを使用する方法
- コンソールに "sv_cheats 1" と入力する
- コンソールに "nav_generate" と入力する
- ゲームのAIパスが自動生成されるのを待つ
- Mマップが再ロードされる (ナビゲーションファイルは保存されるため、前のステップを繰り返す必要はありません)
- コンソールを開き、 ""tf_bot_add <数値>"" のように入力してボットを追加する
注)既にボットが居る状態でナビゲーションメッシュをいじると、ゲームが落ちる可能性があります。
上記の手順を1度行ったマップなら、ボット追加コマンド "tf_bot_add <number>" 以外の手順を繰り返す必要はありません。
自動生成されたメッシュは、コントロールポイント、キングオブザヒル、ペイロードおよび旗取りのゲームモードにてその効果を発揮します。 Mannpower マップの場合、ボットは旗取りモードとして動きます。しかしボットは Grappling Hook を使わず、パワーアップを取得しても効果的に使う事が出来ません。
公式がボットの動きをサポートしていないマップ
全部表示(右の「展開する」をクリック):
注)更新が必要です
- Hydro
- DeGroot Keep
- Hightower
- Frontier
- Pipeline
- Steel
- 2Fort
- 2Fort Invasion
- Double Cross
- Landfall
- Sawmill
- Well
- 5Gorge
- Coldfront
- Fastlane
- Freight
- Powerhouse
- Sinshine
- Well
- Yukon
- Egypt
- Gravel Pit
- Junction
- Mountain Lab
- Snowplow
- SnowVille
- Snowfall
- Steel
- Standin
- Borneo
- Cactus Canyon
- Frontier
- Hellstone
- Snowycoast
- Swiftwater
- Banana Bay
- Helltower
- Hightower
- Nightfall
- Pipeline
- Badlands (アリーナ)
- Byre
- Granary (アリーナ)
- Lumberyard
- Nucleus (アリーナ)
- Offblast
- Ravine
- Sawmill
- Watchtower
- Well (アリーナ)
- Harvest
- Harvest Event
- Highpass
- Maple Ridge Event
- Suijin
- Carnival of Carnage
- Doomsday
- Cloak
- Bigrock
- Coal Town
- Decoy
- Ghost Town
- Mannhattan
- Mannworks
- Rottenburg
- Asteroid
- Foundry (CTF)
- Gorge (CTF)
- Hellfire
- Brickyard
- District
- Timbertown
- Pit of Death
- Watergate
- Background01
- Itemtest
AIボットコマンド
より詳細なコマンドの情報については、こちらをご覧ください。
サポートされているマップでは、サーバー管理者がコンソールに以下のコマンドを入力することでAIボットを使用できます。[2]
コマンド | 解説 |
---|---|
tf_bot_add
|
このコマンドを使うと、ランダムに選ばれたクラスが任意のチームに参加します。ボットの名前もランダムに選ばれます。
|
tf_bot_difficulty
|
ゲームに追加するボットの難易度をあらかじめ決められます。
|
tf_bot_fire_weapon_allowed
|
ボットが武器を使用するかどうか指定できます。武器の使用を無効にした場合、ボットはメディガンなどの敵にダメージを与えない武器しか使えなくなります。例外としてメディックは注射銃を使うことができます。デモマンは、既に設置していた粘着爆弾を爆破させることはできますが、追加で爆弾を設置することはできません。
|
tf_bot_force_class
|
クラス名を指定すれば、現存のボット全員が指定したクラスに置き換わります。
|
tf_bot_force_jump
|
ボットにジャンプし続けるように指示できます。
|
tf_bot_join_after_player
|
有効にした場合、ボットはプレイヤーが参加するまで待ちます。
|
tf_bot_keep_class_after_death
|
0の場合、ボットは常にクラスを変えてリスポーンします。
|
tf_bot_kick
|
ボットを1人、もしくは全員削除します。
|
tf_bot_kill
|
ボットを1人、もしくは全員殺します。
|
tf_bot_melee_only
|
ボットが近接武器のみを使うかどうか指定できます。
|
tf_bot_prefix_name_with_difficulty
|
0以外の場合、名前の前にそれぞれの難易度表記が付いたボットを生成できます。
|
tf_bot_quota
|
ボットの上限数を指定できます。tf_bot_quota_mode が "fill " もしくは "match " の場合のみ設定できます。
|
tf_bot_quota_mode
|
ボットの総数の調整ができます。
|
tf_bot_taunt_victim_chance
|
ボットが敵を殺した際に挑発を行う頻度を指定できます。
|
tf_bot_warp_team_to_me
|
自分のチームのボットを自分の居る位置にテレポートできます。sv_cheats 1 の場合のみ有効です。
|
AIボットの現状について
AIボットは完全にリリースされている状態です。[要出典]Hatless アップデートを経て、かつてバグの多かったスパイボットを含め、全てのボットが正常に動くようになりました。AIボットはキングオブザヒルマップのほとんどと、ペイロードマップのいくつか、そして攻撃/防衛マップのDustbowl と Gorge、旗取りマップ、そしてMann Manorで正常に機能します。 (最後の2つは、tf_bot_add をコマンドに入力する必要があります。)サポートされていないマップでボットを使用する際は、とある手順を踏む必要があります。ただし必ずしも人間のように動いてくれるとは限りません。
ボットは Hightower にある手すりを飛び越えられず、またスポーンした後にどこかにスタックしてしまうので、どのペイロードレースマップでも正しく動いてくれません。またボットは、他のPLRマップにてダンスパーティーをします(これは将来的に修正されるかもしれません)。[要出典]
AIボットの行動パターン
- 現在、ボットのロードアウトはデフォルトのみです (カスタムMODもしくはプラグインを使えばデフォルト以外のロードアウトにできます)。
- 初級難易度のボットはサブ武器、近接武器をめったに使いません。上級難易度のボットはメイン武器の弾薬が切れた場合や、敵との距離を考慮した場合にサブ武器に切り替えて使用します。
- ボットは特殊ジャンプ(ロケットジャンプ等)や装置の運搬をしません。
- ボットは敵を殺した直後に挑発をする事があります。周りからの攻撃を受けていても挑発を実行します。また、ボットは敵の機密情報を運んでいる際に挑発はしません。Mann vs. Machine のロボット達も同じ振る舞いをします。
- スパイのボット(およびプレイヤー)の変装に、他のボットは一切気付きません。しかし彼らに触れてしまったり、サッピングや攻撃、 および透明化をするとそれを目撃したボット全員に気付かれてしまいます。見えない場所で変装するか、死ぬか、Dead Ringerで擬死でもしないと、ボットたちは誰がスパイなのかをずっと覚えています。
- 中級以上の難易度のパイロは、敵の攻撃に対して圧縮ブラストを使ってきます。
- スナイパーやエンジニアが「メディック!」と呼びかけても、メディックボットはまず他のクラスを回復しに行きます。
- メディックボットは人間のプレイヤーのパイロ、ソルジャー、デモマン、ヘビーを優先的にポケットしてくれます。他のクラスを選んだ場合はあまりポケットしてくれません。
- チャージゲージが満タンなメディックボットは、回復対象が傷つくとすぐさまユーバーチャージを展開します。このシステムは Mann vs. Machine のユーバー・メディックにも適用されています。
- ボットはセットアップタイムに攻撃することはありません(例外としてデモマンボットはセットアップタイム中に粘着爆弾を仕掛けます)。
- エンジニアボットはテレポーターをアップグレード(もしくはサッパー除去)しません。また、セントリーガンを修復しない時もあります。
- エンジニアボットは、仲間のエンジニアの装置が自分のターゲットの障害物にならない限り、仲間の装置を修理もしくはアップグレードする事はありません。
- 攻撃/防衛もしくはペイロードマップのセットアップタイム中にて、攻撃チームのエンジニア、スナイパー、スパイ以外のボットはリスポーン位置から動きません。
- スパイボットは自身の存在がバレた場合、バックスタブを諦めてリボルバーを撃ちながら後退します。
- デモマンボットはセントリーガンで1回死ぬとその設置位置を記憶して、セントリーガンの射程圏外に立ち粘着爆弾を仕掛けて破壊を試みます。この際に壁や天井が障害物になる事もあります。
- スナイパーボットは、スコープを覗いても敵が居なかった場合、ボイスコマンドの「ネガティブ」をつぶやきます。
バグ
- ボットは壁に向かって歩いたり、攻撃したりする。
- スパイボットもしくはプレイヤーが透明化/解除および変装/解除すると、他のボットはよそ見をしていても背後を振り向きこちらを見る。これはスパイボットもしくはプレイヤーが発する足音や武器の音に反応してこちらを見ているわけではない。
- まれにテレポーターをボットが取り合い、スタックしてしまうことがある。
- ボットが「スパイだ!」や「前進!」のボイスコマンドを使用しても、そのテキストは表示されない。
- プレイヤーを回復中のメディックボットは、自身のヘルスがかなり低下しても攻撃を避けたりヘルスキットを拾ったりしない。
- ボットは挑発中に動けるので、Holiday Punchが効かない。
- 攻撃を受けたメディックボットは注射銃で反撃できない事があり、たまに骨用電ノコを構えたり、ごくまれにメディガンを使うことがある。
- メディックボットは注射銃を使う際に、エイムが定まらなかったり、発射物の重力を補正できなかったりする。これはAIコードが注射銃をヒットスキャン武器として認識できていない可能性がある。
- スパイボットは難易度にかかわらず、透明化した敵のスパイ(ボットまたはプレイヤー)が正体を現した際にそれを見て後を追うことができてしまう。
- スパイが敵チームに居ないクラスに変装しても(ボットはこのような事はしない)、敵に触れるとスパイだと言われてしまう。
- ボットはオートバランスに反することは絶対ない。特定のチームに特定のクラスのボットを追加したいならば
mp_teams_unbalance_limit
の値を0にする必要がある。 - エンジニアボットは自分が建てた装置を、敵に破壊されるまで放置してしまう事がある。
- ヘビーボットは弾薬が切れてもミニガンを回し続ける事がある(上級以下の難易度でよく起こる)。
- 試合に負けたメディックボットは、虐殺タイムの最中に周りに敵が居なければ自殺する事がある。コマンドを使用してもプレイヤーはこれを真似できない。
- ロードアウトメニューのプレビューをBLUチームに設定していると、REDのボットがBLUとして表示されてしまう。
- ナビゲーションメッシュを生成しても、以下のマップではボットは正常に動かない。(スパイボットおよびスナイパーボットは動く可能性がある。)
- アリーナモード NOTE
- ペイロードレース NOTE
- Mann Vs. Machine NOTE
- Special Delivery(ゲームモード)
- ロボット破壊
- Cactus Canyon NOTE
- Mannpower NOTE
- PASS Time NOTE
- Player Destruction NOTE
- Snowycoast NOTE
- Snowplow NOTE
- Byre NOTE
- Nightfall と Pipeline NOTE
- Hassle Castle NOTE
- 近接武器を構えたボットは、弾薬を補給しても近接武器を構えたままの事がある。
- 対処としてそのボットを殺すか、ランダムにクラスを変更してやれば直る。
- ジャングル・インフェルノ アップデート を経て、特定のコマンド(例えば
tf_bot_add 5 pyro blue normal
など)で出現させたボットはリスポーン地点で死んでしまうようになった。対処としてsv_cheats
を1にし、tf_bot_reevaluate_class_in_spawnroom 0
を入力すると良い。
AIボット名
TFボットは様々な名前を持つようにプログラミングされており、TF2用語や Valve の他作品、もしくはプログラミング関係のワードにちなんだものが多いです。名前はSteamの掲示板でリクエストされています。
未使用の名前
これらの名前はリークされたソースコード版のTF2から見つかったもので、何らかの理由でゲームに導入されなかったものを含みます。
- John Spartan
- Leeloo Dallas Multipass
- Sho'nuff
- Bruce Leroy
- CAN YOUUUUUUUUU DIG IT?!?!?!?!
- Big Gulp, Huh?
- Stupid Hot Dog
- I'm your huckleberry
- The Crocketeer
ボットの名前をプレイヤーが決める事も出来ます。例えば tf_bot_add heavyweapons blue "Blu Hoovy" と入力すると、「BLUチーム」に「Blu Hoovy」という名の「ヘビー」を追加することができます。
第三者ボット
現在TF2用に開発されているボットはRCbot2のみです。Cheeseh 氏によって開発および管理されており、このサイトで確認できます。
もしくは、[APG]財団のビルドを使う手もあります。このビルドはTF2の最新アップデートに対応しており、ボットが破損するのを防ぐことができます。しかしボットを正常に動かすためには最新の Hookinfo を探す必要があります。これを使用して、Hookinfo ツールから config.ini のオフセット値を調整してください。 (最新版は2020年6月19日の v1.3-APG)
ボットはウェイポイントシステムで動作するため、コマンドを使うのではなくあらかじめプレイヤーが手動でセットアップする必要があります。RCBot2は独自のボットなので通常のTFボットと一緒に動作させることも可能です。
RCBot2の特徴
- ソルジャーボットはロケットジャンプ、デモマンボットは粘着ジャンプをすることができます。(マップにウェイポイントがある場合のみ)
- エンジニアボットは旗取りマップやその他のマップで正しく動作します。
- ボットは「ハンツマン」や「喉ごしガツン!アトミックパンチ」などのカスタムロードアウトを使用します。
- ボットはスパイチェックをします。スパイがいずれかのボットに変装し、変装の対象になったボットがそれを目撃した場合、スパイを攻撃し始めます。
- ボットは音声コマンドを使用します。TFボットと異なり、テキストログにも内容が表示されます。
- ボットは Mann VS Machine の防衛側に参加できますが、アップグレードの購入はしません。
- CPマップで遊ぶ際、ボットたちはラウンド開始まで動き回ります。まるで人間のプレイヤーのように、音声コマンドを発しながら近接武器でランダムに殴り合います。
- エンジニアボットはある程度時間が経過すると装置を運搬できるようになります。
- ボットのエイム力や度胸などの情報をカスタマイズすることが可能です。
- エンジニアボットは自分のセントリーガンのアップグレードが完了すると、仲間のエンジニアのセントリーガンをアップグレードしたり、サッパーを除去したりしてくれます。
- ボットがセントリーガンの標的にされて逃げ切れた場合、「前方にセントリーガン!」のボイスコマンドを使用します。
- エンジニアボットはテレポーターをウェイポイントがある場所に設置し、またアップグレードも行います。
- 時々、敵のメディックボットが変装したスパイを回復してしまうことがあります。
- スパイボットが接近したターゲットが振り向いた場合、スパイボットは向こうがまたよそ見をするまで離れます。
- スカウトボットはダブルジャンプができます。しかしソルジャーボットやデモマンボットと同様に、ウェイポイントが無いとできません。
- スカウトボットは「喉ごしガツン!アトミックパンチ」を効果的に使用できます(いったん後退し、飲んでからまた前線に向かうなど)。
- メディックボットはヘルスが減ったクラスを平等に回復してくれます。しかしソルジャーとヘビーは他のクラスより優先度が高いです。
- ボットは仲間をバックスタブしたスパイを即座に攻撃しません。ボットはスパイを目で追うか、そのスパイが攻撃されているか確認しなくてはなりません。
- ディスペンサーやメディガンで回復したボットは「ありがとよ!」のボイスコマンドを使用します。
- ボットは頻繁に振り向いてスパイチェックをします。
- RCBot2には「信用」システムが存在し、仲間がスパイか否かや、バックスタブに対応するため攻撃するか観察するかなどを考えます。
- RCBot2はTFボットと違って、マリオカートやペイロードマップなどの複雑なマップに加え plr_hightower_event、sd_doomsday_event、sd_doomsday などのハロウィーンマップで正常に動きます。
RCBot2のバグ
- ウェイポイントの性質上、RCBot2のパスはTFボットほど予測不可能に作られておらず、RCBot2は他のボットと頻繁にぶつかり、どちらかが死ぬまでお互いスタックしてしまうことがある。
- スパイボットも同じ理由でプレイヤーにぶつかったまま動けなくなることがあります。スパイボットは設定された範囲しか移動できず、一定の軌道上にとどまります。
- エンジニアボットはディスペンサーの設置に手こずります。かつ自分の意志で自由な場所に配置します。
- デモマンボットは敵が粘着爆弾の上に立っているかどうかが分かり、敵が視界にいなくても爆破させることができます。
- エンジニアボットはたまにセントリーガンの向きを間違えます。
- RCbot2はウェイポイントの設定されていない場所に飛ばされると、そこから動けなくなります。例えば Nucleus の屋根付近などです。
- RCbot2はヘルスキットを拾った際にも「ありがとよ!」のボイスコマンドを使用します。
- RCbot2は泳いだ後に移動速度が低下してしまいます。
- RCbot2は武器を使う際に相手の動きを予測できません。
- メディックボットは、特にチャージゲージが満タンの際、一人のプレイヤーにポケットすることはありません。
- スパイボットは敵エンジニアの装置を壊すために積極的に動いたり、すぐさまサッパーを仕掛けたりしません。
- SourceMod のプラグインの一部はRCBot2の smac_cvars.smx と相性が悪い可能性があります。しかし [APG]RoboCop[CL] 氏が「config.ini」の中に「sm plugins unload <PLUGIN-NAME>」を追加することでこれを回避しています。
不具合があった場合は必ずRCbotのウェブサイトまたは Discord の Bots-Unitedチャンネルに報告して下さい。Team Fortress wiki と Valve 社はRCbot2について一切責任を負いません。
パペットボット
パペットボットにはAIコードが無く、自身で動き回ったり何かをすることはできません。パペットボットはパペットのように扱えるので、プレイヤーを追いかけさせたり武器を使わせたりと、プレイヤーのコマンドに従って動かすことができます。使用用途は主にテストで、以下に示すような指示をしてやると こんなことも出来たりします。
パペットボットコマンド
全てのコマンドが正常に機能するわけではなく、省かれている作業コマンドもあります。
AIボットにこのコマンドを指示した場合は、うまく機能したりしなかったりします。 注)値を入れずにコマンドを送信すると、現在の設定と簡単な説明が表示されます。
コマンド | 解説 |
---|---|
bot
|
このコマンドを使うと、指定したクラスが指定された名前で、指定されたチームに参加します。チームおよびボットの名前が省略された場合はランダムに選ばれます。
|
bot_changeclass
|
ボットを全員、指定するクラスに変更できます。
|
bot_changeteams
|
ボットを全員、チーム変更させます。 BLUチームに居たボットならばREDに切り替わり、その逆も同じです。 |
bot_command
|
指定されたボットに代わって、指定されたコマンドを送信します。
|
bot_dontmove
|
ボットの移動を許可もしくは制限できます。1でボットは移動不可能になりますが、その場でジャンプしたり体の向きを変える事はできます。 このコマンドとbot_mimic を組み合わせれば、ボットを指定した場所へ移動し、そこで待機させることもできます。
|
bot_forceattack
|
このコマンドを使えば、ボットが今構えている武器を自動で発射できます。bot_forceattack2 が0に設定されている場合、ボットは primary_fire を実行します。bot_forceattack2 が1に設定されている場合、ボットは secondary_fire を実行します。
|
bot_forceattack2
|
bot_forceattack を1に設定していると、全てのボットが現在構えている武器で secondary_fire を実行します。
|
bot_forceattack_down
|
これを0に設定していれば、ボットは発射ボタンを何回も押すような状態になります。(粘着爆弾ランチャーで役立つ)1にすれば、押し続けているような状態になります。(ミニガンで役立つ)
|
bot_forcefireweapon
|
ボットが構える武器を指定した武器に切り替え、強制的に武器を発射させます。指定した武器を持っていない場合は何も起こりません。
|
bot_jump
|
ボット全員に繰り返しジャンプをさせる事ができます。
|
bot_crouch
|
ボット全員をしゃがみ状態にできます。
|
bot_kick
|
名前を指定してボットを削除したり、チームごと、または全員削除したりできます。
|
bot_kill
|
ボットを殺せます。
|
bot_mirror
|
指定したボットがプレイヤーのロードアウト(クラス、装飾アイテム、武器)をそっくり真似ますが、いくつかバグがあります。 if a Demoman player has the Booties and any shield equipped, a mirrored bot will still use the Grenade Launcher and Stickybomb Launcher despite showing the Booties and shield on his model. After a mirrored bot dies, it will not retain the previous loadout, and bot_mirror must be used again.
|
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_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.
|
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.
|
bot_randomnames
|
|
bot_refill
|
Refills all bots' ammo (including metal for Engineers) and health counts.
|
bot_saveme
|
This makes all the bots call for a Medic, equivalent to issuing bot_command <name> "voicemenu 0 0" to every bot.
|
bot_selectweaponslot
|
Forces a bot to switch to the specified weapon slot. To specify which bot switches weapons, use cc_bot_selectweapon instead.
|
bot_teleport
|
Teleports a specified bot to a given coordinate.
Map coordinates of where you are standing can be found by typing
|
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. It is worth noting that you can only use bot_whack to kill a teammate if mp_friendlyfire is set to 1, otherwise attempting to whack a teammate will not do anything.
|
cc_bot_selectweapon
|
Forces a bot to switch to the specified weapon slot.
|
bot_hurt
|
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.
|
備考
- ボットの種類にかかわらず、
nb_select
やnb_warp_selected_here
などのデバッグコマンドで制御することも可能です。