AI DIRECTOR |
Co-opのマルチプレイ人気が限定される理由として、リプレイ性がそれ程無いという点が挙げられる。ある意味では無限のリプレイ性を持つ対人戦と比較して、シングルプレイのシナリオをなぞる形で進められるCo-opでは原理的に広がりに乏しい。最高難易度をクリアしてしまえばそれで終わりとなり、長い期間連日繰り返して遊べるようにはなっていないのである。これを解消するには多数のユーザーマップをCo-op出来るようにしたり、Modでゲーム性を変えたりという方法が一般的だがそれでも限界があるし、またそういった物が簡単に作れるような環境を用意するのも大変になる。 当然L4Dでもその点をどうやって解決するかというのに重点が置かれており、そこに“AI Director”と呼ばれる機能を導入している。これはTRPGにおけるゲームマスターの様な役割を果たす仮想的な進行管理役のAIで、ゲームの流れをコントロールする機能を持たせている。 L4Dの各チャプター内には、敵のゾンビの配置は予め設定されていない。何所にどの様な敵がどれだけの数出現するのかは、プレイの度にこのAI Directorが決めている。また武器や弾薬類の出現位置, メディキットやピルの置いてある場所についても、一部を除いては変化するように設定されているので、どこでそれらが手に入るのかは進んでみないと判らないようになっている。 しかし単純にランダム配置を行ったのでは、確かに変化は生じるが面白くなるとは限らない。そこでチャプター全体の流れを考慮した構成を行っている。大量の敵相手の戦闘はテンションが上がって面白いが、難易度が高いからといってそればかりが連続してもプレイヤーは疲れて(飽きて)しまうし、恐怖感も逆に失われる傾向にある。そこで人間のゲームマスターが行うように、ずっと先のエリアに至るまで緩急を付けて敵が出現するように予定を立てる能力を持っている。 AI Directorのシステムについては発売後に資料も公開されているので、それ等を基にして実際にはどんな処理が行われているのかを簡単に解説してみたい。なおこれはL4D1での物であり、続編の2では異なっている部分もあるし、また1でもパッチにより修正されている箇所が在るかも知れないのをお断りしておく。またキャンペーンでの物で対戦モードでは異なっている部分もある。 チャプター内に出現する敵は、Wanderer(彷徨っている感染者), Mob(ラッシュ時に出現する感染者), 特殊感染者(Hunter, Smoker, Boomer), ボス感染者(Tank, Witch)の4タイプに分けられている。フィナーレの様な特別な設定を除くと、まず各チャプターのスタート時(or リスタート時)に、その回の敵の出現パターンをどうするのかという大凡のフロー(流れ)が決定される。敵の多い山の部分と、少ない谷となる部分をどう配置するのかをランダムに決めるという意味。Wandererはその分布配置が決められ、特殊感染者もどこで出現するのかは最初に全部決められている(2では方式が異なる)。 一方でMob(ラッシュ)の発生はプレイ中にリアルタイムで決定される。10〜30体の数がランダムに決められ、それがやはり90〜180秒というランダムな間隔で発生する様になっている。この数値は難易度によって変化するし、チャプターの設定によっては間隔が短くなるケースもある。 ボス感染者の配置もスタート時点で決定され、特別なイベント設定等が無い場合には以下の様に設定される。まずチャプター全体をある程度の長さを一つのユニットとして最初から区切って行く(この長さにはある程度のランダム性を持たせている)。そしてこのユニット3個を一つのまとまりとして、そこにTank, Witch, None(何も出ない)の3種の項目をランダムに割り振る。各要素が一つずつを占めるという意味で、同じ要素がダブったりはしない。それ以上のユニット数になる場合には、同様に3ユニットを単位として同じ様にランダムに入る要素が決定されていく。ただし前ユニットの最後と、次の最初は重ならないように設定される(もし3ユニット目がTankだった場合、次の3個単位の最初となる4ユニット目はTankにはならない)。よってユニット数が3個で綺麗に区切られない場合には、3つの要素の発生件数は等しくならない事になる。 *TankとWitchがどちらも登場しない事があるチャプターは1ユニット構成 *Tank或いはWitchが登場しない事があるチャプターは2ユニット構成 *必ずTankとWitchが登場するチャプターは3ユニット以上で構成 *Tank或いはWitchが2体以上登場するチャプターは4ユニット以上で構成 後は各ユニットはそれなりに長いので、その中の何所で出現させるのかがランダムに決められる。チャプター制作者が幾つか候補地点を指定しておいて、その中から選ばれているかも知れない。なお3つの要素が公平に1/3の確率で適用されるのかは不明だが、難易度が高くなるほどNone(何も出ない)の確率が低くなるような感触はある。 続いては実際にプレイに入ってからの調整。各人(AI)には“Mental Intensity”という値が設定されており、これは判り易い日本語にするとストレスレベルとでも言うのが適当か。0.00〜1.00までの幅を持ち、ダメージを受けたりダウンにより上昇する。なおこれは実際にダメージを受けなくても襲われれば上昇するし、自分以外の他のプレイヤーのダウンや死亡でも上がっていく。そして攻撃等のストレスが無くなったら徐々に下がっていく。 正確な計算方法は解らないが、チーム全体でのストレスレベルが同時に計算されており、この値が1.00に達した時点でピークレベルに達したと判断される。その後は3〜5秒程度ピークを維持した後に、新規のMobや特殊感染者の発生が停止される。そしてチームを攻撃する敵が居なくなるまでこのピークのステータスは維持されるようになっている。このピークの判定は難易度が高くなるほど厳しい。 続いて敵が居なくなった状態からリラックスのフェーズが始まる。この状態ではMobの発生タイマーがゼロになっても出現が起きないし、予定されていた特殊感染者の発生もカットされる。プレイヤーの進行方向に居る視界外のWandererもチャプター上から消されたりする。よってチームは短時間(30〜45秒位)休む事が出来る。 このリラックス時間の減少は時間と距離の両方でカウントされる。つまり現在地の周辺や逆走して回復アイテム等を探しに行っても、時間切れになればクリアしてきたエリア内でラッシュに遭遇する危険性がある。同じく「敵の攻撃が止む事は無いので、今が谷の部分だと判断したら出来るだけその間を利用して先を急いだ方が良い」というのは定石だが、先に進むほどその距離に応じてリラックスタイムは削られるので、必ずしも全速力で前に進むのが良い作戦になるとは限らない(アイテム探しを無視してでも急ぐのは逆効果になる恐れがある)。 その一方でボス感染者の出現はチームの状況や現在のステータスに左右されない。チームがかなり余裕を持っているので、Noneと設定されていたユニットにTankを出す様にするとか、反対にチームがボロボロなので出現するはずだったTankをNoneへと変更する様な事は起きない。今がリラックスタイムであろうが、事前に決められた発生地点に来ればボスは必ず出現する。 武器やアイテム類の配置場所は、チャプター制作者が指定した候補地点の中からランダムに選ばれる。中には救急箱の様に必ず何かは出る様にされている場所もある。そしてその回復アイテムに関しては、難易度によってメディキットかピルになるのかは確率的に異なっている。このアイテム配置についてはL4D1は続編ほどの自由度が無く、同じグループ内での細かい指定は出来ない。例えば上位武器の出現は常に3つの武器が全部セットで出現するし、パイプボムと火炎瓶のどちらかしか出さない様にするといった指定は行えない。 チーム側の状況に対するAI Directorの調整だが、もしチームのストレスレベルが上昇せず楽にクリアしていると判断された場合には、Mobや特殊感染者の出現を増加させるようにするという事は行われる。ただしピークに達するまで延々とラッシュを続けるという事は無い。逆にチームが敵の攻撃に苦しんでいる時は、リラックスタイムに入るのが多い事を意味するので、それが自動的に難易度を若干下げる調整にはなっている。しかし苦しんでいるチームに対してメディキットを増加させたりといった調整は、少なくともAdvanced以上では行われていない模様。それと難易度により異なるパラメータ(敵のHPやプレイヤー側の被ダメージ量等)に関しては、一切変化は起きないという設定である。 発売前のAI Directorの能力としては、「プレイヤーチームの状況を見て繊細に難易度やアイテム配置を変化させる」という情報だったのだが、実際に機能を調べてみるとあまりその様な調整は行われていない事が解る。発表から発売までが非常に長かったので、その間にValve定番の大量のプレイテストによって方針が変えられたのかも知れない。 その理由はボス感染者の出現設定の解説で述べられており、ボス感染者の出現タイミングをチームの状況に応じて変化させてしまうと、ランダム性が失われるのと同時に、プレイヤーにその先の展開を予見させてしまう問題が生じる。つまり「チームが良い状況に居るほどTankは出易く、酷い状態にあるほど出難くなる」とすると、リプレイ時の展開に画一化を生んでしまうし、プレイヤー側が出現パターンを推測可能になって驚きも失われてしまう。そこでボス感染者に関してはチームのステータスを一切無視して発生させるようにしてある。同様にメディキット等の回復アイテムの出現も、「酷い状態ほど出易い」という予想を立てられてしまうと不味いので、調整機能を無くしているのだと思われる。 勿論これは良い事ばかりでは無い。ランダム性を増して予見も難しくなる代償として、俗に言う「運ゲー」の要素が強くなるのは免れない。だから例えばExpertでプレイしている際に、その時々によって相当な差が発生する可能性もある。偶然簡単な回を一発目で引いて呆気なくクリア出来てしまったり、逆に予想外に何回もリスタートする羽目になったりが起きる。これは欠点と言えば欠点ではあるが、その設定の御陰でリプレイ時にも先の展開が読めないという大きなプラス面も得ており、総合的には利点になっていると言えるだろう。 このゲームの心臓部とも言えるAI Directorの評価だが、確かに敵の出現パターンには常に変化が感じられる。数回プレイしてここは出ると確信していた地点に居なかったりと、必ず出るという場所はスクリプトによるイベントシーンのみと設定されているようだ。他には壁を破って出て来たり、上方の窓や壁を超えたりして雪崩れ込んで来たりと、出現箇所の選択肢も豊富である。ボス系の出現場所もランダムとなっており読み難い。開始早々Tankが襲って来ていきなりボロボロにされるケースもあるし、Witchが避けようの無い場所に出てしまったりにも遭遇する。 武器やアイテム類も置かれている場所がランダムなので、「このチャプターはあそこでXが入手出来るから、こういう風に進めれば良い」といったお決まりのテクニックは存在せず、リアルタイムでの戦術変更が要求される。回復に関してもどこでアイテムが入手出来るかがスタート時点では判らないので、こちらも計画的に進めるという作戦は困難である。それ故にプレイの度に変化が感じられて面白くなっていると言えよう。 |
シングルプレイ |
オフラインでのシングルプレイも可能となっており、自分以外の3人をAI操作のbotとして参戦させてキャンペーンをプレイ可能である。オンラインでも自分一人だけの状態からゲームを開始すれば、誰かが入って来るまでは同じ状態となる。 オンラインでのCo-opとの一番の違いは、他のメンバーがどれだけ元気な状態であっても、プレイヤーが死んだ時点でゲームオーバーとなるルール。ダウンしてもAIの助けを待てる所までは同じルールだが、死んでしまうとクローゼットからの復活は出来ずにそのまま終わりとなる。途中のセーブが出来ない点も一緒なので、チャプターの最初からやり直すしかない。例外としてフィナーレとチャプター最後のセーフルームに逃げ込むシーンならば、AIメンバーが到達すれば自分が死んでもクリアとなる。 Co-opのプレイでは全滅しないようにすれば良い訳だが、自分が死んだら全て終わりなので自ずとプレイの仕方も変わって来る。味方AIは復活可能なのでメディキットの使用はどうしても自分優先の傾向になるし、同じくAIの方も自分を優先的に治療しようとする。デモの時ほど極端では無くなったが、ヘルスが赤状態になると積極的に自分のメディキットで治療しようとするし、ピルも渡して来るケースが多い。(メディキットの適用を拒否するには、自分もメディキットを持った状態にすれば良い)。この為に4人で協力しているというよりも、便利なbotを3人引き連れているという感が強くなり、マルチプレイの感覚をシングルプレイでも体感出来るという風にはなっていない。 AIの機能を簡単に箇条書きにしてみる。 ◎リアクション速度は早い ◎射撃精度が高い ◎FFをしない(AIの攻撃はプレイヤーの体を抜けてしまう) ◎一定距離以上離れるとテレポートして付近に出現する ×プレイヤーの背後に付いて来るだけで、先行させる事は出来ない ×火炎瓶とパイプボムが使えない ×メディキットが余っていても、あえて治療→取るといった事はしない(一定以上のHPだと取らない) ×Witchに気が付かれる可能性が高い ×固定マシンガンを使わせたりは出来ない メディキットをAI同士で使ったり、倒れた仲間を救出したりといった基本動作については全てちゃんと行える。プレイ中の自発的な発言も多く、人間らしさを見せるような意図が感じられる。 3人ともプレイヤーの背後にピッタリと付いて来る形になり、先行させて自由には動かせないのでリプレイ時の変化がCo-opに比べて落ちてしまうのは確か。唯一セーフルームが見えた時だけ先行してそこに向かおうとする。また常に密着した陣形で動き、固まらずに広がった方が良い場面でもその陣形を崩さないのもやや問題となる。同様にマップ内で部屋を回ってアイテムを探すのも、プレイヤーが一人でやらないとならないので面倒。 武器選択はチャプターによって固定なのか分からないが、3人が皆ショットガンを持ったりSMGを持ったりする事もあると極端。武器の選択を替えさせる事は出来ないので、必然的にバランスを考えて自分が好まない武器を持つ羽目になるケースも出て来る。また常に自分が先頭なのでショットガン選択が多くなる。 実際のシングルプレイの難易度としては、Normalまでならば特に問題無く戦えるが、Advancedだとフィナーレやその他の難しいチャプターでは苦しくなり再スタートも多くなってくる。火炎瓶とパイプボムが使えないというのがやはり影響が大きく、これで大幅な攻撃力ダウン。そしてどう上手くやっても自分が一度死んだらそこで終わりというのも厳しい。更に上のExpertになるとちょっとAI3人とのプレイは困難というレベルになって来る。せめてプレイヤーが死んでもゲームオーバーにはならず、AIがそれをクローゼットから助けられて全滅時のみ失敗というルールにして貰えればもっと戦えると思うので、その点の修正に期待したい。 総合的にはAIは各チャプターの内容を憶えるのには十分に使えるレベルだが、シングルプレイしかやらないという人にでも薦められるかとなると、そこまでは行っていないと感じられる。難易度が上がるほどAIの対応に不満が出て来るので難易度を上げてのリプレイは楽しめないし、常にプレイヤーが先頭を進まないとならない上にAIの行動はパターン化しているので、リプレイ時の変化も減少してしまう。 <参考> 自分が死んでもゲームオーバーにしない方法 自分が死んでもそのままゲームを続行する方法について解説する。ただしこの方法はチートモードになるので、実績関連にはカウントされない。 1.事前にオプションから開発者コンソールを有効にしておく 2.シングルプレイで好みのキャンペーンを選択 3.ゲーム開始後に半角・全角キー(デフォルト)を押して開発者コンソールを表示させる 4. sv_cheats 1 を入力してチートを有効にする 5.続いて sb_all_bot_team 1 を入力 6.コンソールを閉じてプレイ開始 7.これにより自分が死んでもそのままAIだけでプレイは続行され、Co-opと同様にクローゼットに出現後に助けてもらえる。 開発者コンソールを開く半角キーを日本語入力切り替えに使っている際に上手く切り替えられない可能性があるので、別のキーに割り振っておいた方が無難(方法は以下に記載)。それと欄内に文字を入力する際に日本語に変換されてしまうケースでは、右端の入力言語アイコンをクリックすればモードを切り替えられる。なお入力文字にはオートコンプリート機能が働き、候補が自動的に表示される。 更に追加機能として、プレイ中にコンソールを出して sb_takecontrol bill の様にキャラクタを指定してやれば、任意のキャラクタのコントロールが可能になる。死んでしまって待ち時間が嫌ならば生き残りのAIの誰かに操作を移せるし、或いはAIが取ろうとしない投擲武器を乗り移ってから取って、必要な時に使いたい物を持っているキャラクタに操作を切り替えて投げるという行為も出来るようになる。 しかし公式サポートされていないやり方だけに問題点も在るので、分かっている件について書いておく。まずボタンを押したりするとスタートするトリガータイプのイベントは、AIだけで実行可能な物とそうでない物があるので、動かない場合には生存メンバーに乗り移ってから実行するしかない。またクローゼットの中に出現している際にそのキャラクタに乗り移ると消えてしまい、再度別の場所への復活を待たないとならなくなる。 もっと簡単に実行する方法として、...\Steam\steamapps\common\left 4 dead\left4dead\cfg フォルダにアクセスしてconfig.cfgファイルをメモ帳等で開く。そして各コマンドを事前にバインドして使えるように設定しておく。以下はテンキーを部分を使っている設定だが、好みでどのキーに設定しても構わない。コンソールの呼び出しには、最初から存在している bind "`" "toggleconsole" という記述部分を、以下の例ではF11に書き換えている。(以下の設定にはこの記事とは関係無い記述も含まれているが、テンキー部分の登録キー名称が分からない人もいると思うので全て載せておく)。 bind "KP_INS" "sv_cheats 1" bind "KP_END" "sb_takecontrol bill" bind "KP_DOWNARROW" "sb_takecontrol francis" bind "KP_PGDN" "sb_takecontrol louis" bind "KP_LEFTARROW" "sb_takecontrol zoey" bind "KP_5" "sb_all_bot_team 1" bind "KP_RIGHTARROW" "z_spawn hunter" bind "KP_HOME" "z_spawn smoker" bind "KP_UPARROW" "z_spawn boomer" bind "KP_PGUP" "z_spawn tank" bind "KP_SLASH" "vocalize PlayerYes" bind "KP_MULTIPLY" "vocalize PlayerNo" bind "KP_MINUS" "vocalize PlayerSorry" bind "KP_PLUS" "vocalize PlayerThanks" bind "KP_ENTER" "vocalize PlayerAreaClear" bind "KP_DEL" "noclip" bind "F11" "toggleconsole" プレイが始まったらテンキーの0を押せば"sv_cheats 1"が自動的に入力された事になり、画面上にもその記述が出る。その後テンキーの5を押下すれば"sb_all_bot_team 1"が入力されるのでそこから始められる(こちらは何も出ない)。プレイ中は1-4キーで4人のキャラクタにそれぞれ操作切り替え。6-9キーで4種類の特殊感染者を呼び出し。 |