目次>
「賢いGame-AI」の話題になると、いつも出てくる3つの例があります。初代FEARのレプリカ兵、Haloシリーズの敵エイリアン、そして初代Half Lifeの海兵隊です。確かにこれらのゲームでは巧妙な行動パターンが組まれており、Halo 2とFEARは先駆的なAIテクノロジーを採用しており、今のゲームでも使われています。
しかし、これらのゲームのもう一つの共通点は敵が非常に攻撃的でありますこと。プレイヤーを積極的に探しに行き、倒そうとし、また体力も多いので、倒すのに時間がかかります。これにより敵は実際よりも賢く感じられます。これは僕の個人的感想ではなく、初代Haloの頃から開発のBungieが知っていたことです。
開発中、Haloは2つのバージョンを用意してプレイテストを行いましました。どちらのマシンも同じ敵のAIを使いましましたが、片方ではエイリアンの体力と攻撃力が低く、もう一方では攻撃力も体力も多くなっていましました。敵が「非常に頭がいい」と思ったプレイヤーの数は、敵が強いバージョンをプレイすると 8%から43%に激増しましました。
問題は、攻撃的な敵はどんなゲームでも機能するわけではないことです。これはDoom 2016の開発中に id softwareが発見したことです。当初は敵が追いかけてくる仕様でしたが、するとプレイヤーが防御的に動くようになりました。「結局プレイヤーがすぐに後退してしまう状況になったんです」とディレクターのマーティ・ストラトンは述べています。そのため開発陣は敵の移動を制限し、プレイヤーが前進できるように変えたのです。
ゲームデザインの全要素に当てはまることですが、AIはゲームが目指す経験に適合している必要があります。攻撃的なAIはAlien: Isolationのゼノモーフには適していますが、Batman: Arkham Asylumでは場違いです。バットマンにケンカを売ってはいけないのです。
つまり「賢いGame-AI」には、単に「殺しに来る敵」以上のものがあります。本記事で語りたいのはまさにそれです。有用な一般的実践から、真に野心的で賢いAIの実例まで扱います。
それも気づかないようにです。例えばスカイリムで商人の頭にバケツを被せて見えなくして盗むとか、もっと繊細な方法としては、Unchartedシリーズでは、カバーから顔を出しました時、敵の最初の射撃は必ず外れるため、短時間なら安全に攻撃できます。Far Cryシリーズでは一度に攻撃する敵の数が制限されているので、大群を相手にしても勝ち目があります。Arkhamシリーズのプレデターセクションでは、敵が後ろを振り向かないので、簡単に背後から接近できます。
これらはプレイヤーが知らなくていい要素ですが、なくなると明らかな違いが感じられます。ゲームをより公正に感じさせるための措置なのです。実は多くのゲームではプレイヤーが大きく有利なのですが。
これは大抵短い音声情報で伝達されます。バーク(吠え)と呼ばれる手法です。例えば巡回中の警備兵が「あそこに誰かいるみたいですぞ…」といいます。それから「気のせいか」と言ったりします。これはアニメーションやボディランゲージ、またはよりゲーム的な要素でも表現できます。視界の範囲や光、ノイズセンサー、最後に見られた地点を示すイメージなどです。
Game-AIの各キャラクターに異なる性格を与える方法もあります。パックマンの各色のオバケや Civilization一人用モードの指導者たちなどは、それぞれに固有の特徴を持っています。
開発者たちはこうしました要素がありますと、AIキャラクターが賢く見えることを知っています。というのも、AIが複雑な判断能力と知覚能力を持っていても、例えば巡回ルート上のドアが開けられたことに気づくことができたとしても、プレイヤーにそのことを気づかせるためには、敵に「このドア閉め忘れたか?」と言わせる必要があります。これはプレイヤーにとって有用なフィードバックでもあります。AIが何をしているか、次に何をするかを知り、対策を立てることができます。
そこから導かれるのが次の要素です。
変だと思うでしょうが、我慢して読んでくださいね。
2004年、Haloの技術主任クリス・ブッチャーはこう言った。「目標は予測不可能なものを作ることではない。必要なのは一貫しました行動をする人工知能だ。それならプレイヤーは自分の行動に対するAIの反応を予測できる」。これによりプレイヤーは「志向性」を持った攻略ができるようになります。志向性とは、Far Cry 2のデザイナーであるクリント・ホッキングの定義によると、「ゲームの力学の理解を通じて、プレイヤーが自分なりの目標を設定できる能力」です。
もう少し詳しく説明しましょう。
プレイヤーがゲームを始める時は、各要素が機能する仕方の違いをまず学びます。例えば赤い樽を撃つと爆発します。するとそれ以降は、赤い樽があれば、撃って爆発を起こせるとわかるので、状況を有利にするために利用できます。
同じことはAIの行動にも当てはまります。警備兵が拾った銃を常に箱にしまうとか、発電機のスイッチを切ると必ず敵が調べに来るとかが分かれば、その情報をもとに計画を練り、攪乱したり罠をしかけたりできます。予測できる行動がなければ、プレイヤーは計画を立てることができません。ブッチャー氏はグラントの背後に忍び寄ると、常に逃げるという例を挙げています。
「50%の確率で逃げるようにしてはダメだ。計画を立てても成功率が半分になってしまう」。Bungieは行動を予測可能にしました代わりに、結果は予測できないようにしました。「グラントは常に逃げるが、プレイヤーはどこに逃げるかまでは分からない」のです。
予測可能ですから簡単とは限りません。例えばSpelunkyです。敵はほぼ完全に決まった仕方で動くので、避けるのも倒すのも余裕だと思いますが、大量に出現しましたり、周囲の環境が変わって、他の敵に反応したりします。それでこそSpelunkyです。
ブレスオブザワイルドの敵はリンクに接近して殴るだけではなく、逃げたり落ちている武器を拾ったりして、木の棒に火をつけたり、爆弾を蹴ったり、仲間のモンスターを投げつけたりもします。これによりGame-AIキャラクターが賢く見えるというおまけがあります。
Bioshockには戦闘中にヘルスディスペンサーに駆けよって回復する敵がいます。周囲の環境を理解していて、生存の意思を持ち、プレイヤーと似た能力を持つ、という感じがします。ですがヘルスディスペンサーに罠を仕掛ければ、逆に利用することもできます。
AIをゲームシステムに干渉させることで、より複雑で楽しい戦法を考案できます。Preyでは敵を味方につけることができます。敵にコッコを攻撃させると…ちなみに僕はこれを「鳥葬」と呼ぼうと思います。
簡単なものとしては、バットマン作品では仲間が倒されると警備員が恐怖します。あるいはShadow of Mordorのように複雑なものもあります。このゲームでは、オーク隊長は名前と能力、関係がランダムで生成されます。そして主人公とのやり取りを記憶します。例えば戦闘から逃げると、オークは次に会った時「よう!今度は逃がさねえぞ!これで終わりにしてやる!」と言います。記憶に残る個人的なストーリーを作るにはいい方法です。
プレイヤーをトレースすることで AIの動きを調節する手法もあります。例としてはKiller InstinctのシャドウファイターやForzaのドライバターなどがありますが、これほど賢くなくてもいいです。これらのゲームはプレイの仕方を記録して、AIのコピーを作り出し、プレイヤーの代わりをさせます。
メタルギアソリッド5ぐらい簡単なものでも十分です。このゲームではヘッドショットや、ステルスでの基地攻略、夜間侵入の回数を記録し、ヘルメット装着、罠を仕掛ける、ナイトビジョンゴーグルを着けるなどの対応をさせます。これはどれもAIが指令通りに動くだけで、実際に「学習」しているわけではありません。ですがプレイヤーがある条件を満たすまでは実行しません。その目的は、常に同じ戦法で基地を攻略させないことです。
Alien Isolationでも似たようなシステムが使われています。エイリアンはゲームが進行すると新たな能力を使います。ゼノモーフがプレイヤーから学習しているように見せるためです。飽きさせないための工夫でもあります。
Game-AIをプレイヤーに合わせる手法は、雰囲気の演出やテンポの調節にも使われます。もっとも有名なのはLeft 4 DeadのAIディレクターです。このシステムは各プレイヤーの状態を、体力と特殊感染者との戦闘から判定し、チームが順調に進んでいる場合はゾンビの攻撃性が高くなって、その後AIディレクターはチームが一息つくための余裕を設けます。
ですがこの技術はそれほど新しいものではありません。実はパックマンでも似たシステムが使われています。デザイナーの岩谷徹は「常に追いかけられるのは疲れるので、敵の攻撃に波があるようにしました」と言います。このゲームのゴーストはプレイヤーを追いかけるのと、マップの端をうろつくという二種類の動きを交互に行うようになっています。
「プレイヤーを倒す」だけではありません。
これはRainworldというゲームですが、他の動物たちが食料を求めて行動し、ライバルとの縄張り争いになります。手を出さない方がいいこともあります。
STALKER: Shadow of Chernobylも同様の仕組みです。少なくとも狙いはそうなっています。バンディットたちは計画を持っており、それに従って単身あるいは集団で荒野を移動します。そのため敵対する陣営同士がたまたま出会って、激戦が起きるのを見られることがあります。
しかしこのAIは少々バグが多いです。プレイヤーのいる場所以外でもAIを活動させるには modを導入する必要があります。ですがSTALKERのA-Lifeシステムは野心的な試みです。もっとこういうゲームを作るべきでしょう。
あるいはWaking Marsのようなゲーム。火星の内部で繁殖する生態系を扱うSF作品です。多様な植物や動物が互いにどういう反応をするのかを理解すれば、AIの生物が生活して繁殖できる自己充足的な生態系を作り出すことができます。プレイヤーが火星の全然違う場所を探索していてもです。
味方も改良する必要があります。優れた戦闘のあるゲームでも、味方が馬鹿丸出しなことがあります。Game-AIの仲間を無敵にするという反則をやる開発者もいます。Bioshock Infiniteのエリザベスは、戦闘で被害を受けません。護衛ミッションの歴史を考えると、賢い決断かもしれません。
ですが主人公の男についてくるだけの無防備な女の子以外にも、味方の使い方はあります。人喰いの大鷲トリコでは、味方はトリコと呼ばれる巨大な獣で、敵を倒してくれます。ですがトリコはステンドグラスがあると不安になるので、プレイヤーはそれを破壊します。つまりプレイヤーとAIは協力しなければなりません。トリコはプレイヤーの指示を無視しやすい仕様になっているため、少々ストレスがたまるかもしれません。これは本当の動物のように見せるためです。
Event[0]では、開発者のOcelot Societyはインターネットの会話ボットに着想を得て、難破した宇宙船で人工知能と会話し、パズルを解くゲームを作りました。またファイナルファンタジーXVでは、旅仲間のプロンプトが冒険の最中にインスタグラム風の写真を撮ってくれます。特定のタイミングで、あるいはプロンプトの気分で、自動的に写真が撮影され、後でアルバムを見ることができます。これにはゲーム的な価値はありませんが、ゲームでの経験を保存するための素敵な方法で、プロンプトのキャラ描写にも大きく貢献していいます。
こうした要素があるからといって、「より優れたGame-AI」は要らないというわけではありません。敵がアホなことをすれば、没入感が台無しになることもあります。それに頭の悪い敵を倒してもあまり楽しくないです。いや、楽しいかもしれません。でも開発者は常にAI技術を洗練させ、より繊細な行動を取る敵を目指すべきです。
とはいえ、忘れてはいけないのは、AIは単なる技術的な問題ではないということ。これはデザインの問題でもあります。ゲームによって取るべきアプローチは異なります。
確かに、攻撃的な敵部隊と戦うゲームがもっとあってもいいです。最新のFPSが13年前のゲームに遅れを取っているのは何かおかしいですね。
でも、本当の目標を見失ってはいけません。Uncharted 4でNaughty Dogは複雑なGame-AIを試しましたが、結局はデザイナーのマシュー・ギャラントの言葉では「適当に散らばって人間みたいなふりをし、予想しやすい仕方で動くので、プレイヤーが背後に近寄りやすい」敵に落ち着きました。Game-AIの目標は「プレイヤーを探し出すことではなく、 面白いゲームプレイを提供すること」です。
ホットトピックス
Copyright © 2024 entametalk.jp All Rights Reserved.
エンタメTALKはアダルトコンテンツを含みますので、18歳未満の方の閲覧を固くお断りいたします。