イベント
[CEDEC 2016]果たしてAIはRPGをクリアできるのか? AIによるテストプレイでゲームのクオリティを高める技術とは
かくして,人間がプレイするのではなく,AIにプレイさせて,その結果からゲームバランスを調整していくことはできないか,という発想が生まれることになった。
果たしてAIは,人間のようにきちんとゲームを攻略できるのだろうか?
またその攻略法は,人間のそれと同じものになるのだろうか。CEDEC 2016では「ファイナルファンタジー レコードキーパー」(以下,FFRK)でAIによるテストプレイを行う試みに関する講演が行われた。
ディー・エヌ・エー システム本部分析推進部 半田豊和氏 |
ディー・エヌ・エー Japanリージョンゲーム事業本部分析部 部長 友部博教氏 |
FFRKを「プレイする」AI?
FFRKの戦闘システムは,古い時代のファイナルファンタジーにおける「アクティブタイムバトル」そのままだが,ひとつ大きな違いがある。パーティは敵と連戦していく仕様となっており,雑魚や中ボス(的な存在)との数回のバトルを経て,最終的にボスとの戦いに突入する。
これは一見するとシンプルなシステムだが,実際にはなかなか複雑だ。キャラクターは「たたかう」や「ぼうぎょ」以外にも,各種アビリティの使用,あるいは特殊なゲージを使っての必殺技の使用など,選択肢が多い。
またアビリティにしても,ただ単に敵にダメージを与えたり,味方のHPを回復させたりするだけでなく,敵を弱体化させる,味方を強化するといったアビリティも存在する。
必殺技もゲージを消費する以上,使うタイミングを見計らわなくてはならない。ゲージが溜まったから発動させていたのでは,肝心のボス戦で敗退ということも十分にあり得るからだ。
つまり,これらの選択肢には「これが絶対にベスト」というものは存在せず,「結果論としてよかった」「今この瞬間であれば良い選択」「一見すると最善手に見えるが,先を考えると息切れの原因になる悪手」など,行動の価値が状況によって動的に変化し続けるのである。
しかもFFRKにおいては,この複雑なバトルが,キャラクターの成長,アイテムの獲得,ジェム(課金アイテム)の獲得など,プレイサイクルの中心となっているのだ。
つまり,「バランスが良く,熱いバトル」は,ゲームのキモであると同時に,運営のキモであるとも言える。
膨大なテストプレイが必要なボス戦
さて,それほどまでにFFRKにとって重要なバトルだが,当然ながらもっとも盛り上がるのはボス戦であるべきだ。
実際,FFRKのボスは,ファイナルファンタジーシリーズに登場したボスをベースとして,ステートベースAIで行動が定義されている。非常に荒っぽく言えば,「こういう状態のときは,このような攻撃をしてくる」といった行動の遷移図が設計され,それに従ってボスが行動する,という形だ。
このようにしてステートベースAIで記述されたボスの行動は,設計次第で非常に複雑な動きを示す。またある程度まで単純な挙動(HPが減ってきたら高ダメージ技を連発とか)であっても,そのパターンはボスによってまるで違うものになる。
また,行動だけがボスの個性ではない。ボスが使ってくる攻撃がどれくらいのダメージを出すのか,アビリティの効果がどれくらいあるのかといった数値データもまた,ボスの個性を決定することになる。
このように,FFRKのボスは行動パターンとパラメータという,2つの大きな要素によって構成されているわけだが,では実際にそのパラメータはどれくらい設定されているのだろうか?
驚くべきことに,「シンプルな行動をするボスでも,パラメータの数は185個程度ある」という。というのも,「ある状況になったときの攻撃力やアビリティの効果」などを状況ごとに設定しなくてはならないため,どうしてもその数が膨れ上がってしまうのである。
となると,FFRKのボスデザインにおいては,その行動パターンをうまく定義して「そのボスらしさ」を演出した上で,さらに適切なパラメータセッティングによって適度なゲームバランスを実現していく必要がある,ということになる。
このためにFFRK運営チームが何をしているかと――これまた驚くべきことに(そしてやむを得ないことに),各々がこの2年間で培ったセンスを活かして手作業でパラメータを設定し,ひたすらテストプレイをすることでバランスの調整をしているという。
だが,この手法には決定的な問題がある。
というのも,FFRKは事実上,毎週何らかのイベントをしている。このイベントのために,1か月につき20体のボスが必要になる。また月に1つ追加されていく定常コンテンツ,継続しているフェスのためのボス,月末に行われる超高難度イベント向けのボス,さらにマルチプレイ用イベントのボスも必要となる。言うまでもなく,それぞれのボスは,十分なクオリティを有していなくてはならない。
従って,ボスの同時並行開発は不可避だ。だが,そうなるとボスのデザインに関わるデザイナーの数も増え,結果的にそこでパラメータ調整の上手/下手が出てしまう。加えて,FFRKのサービスをより安定した品質で提供するには,膨大な人手も必要となる。
AIによるテストプレイを目指して
そこで,テストプレイを効率化する手段が模索された。それが「人間ではなく,AIがテストプレイする」という方針だ。AIによるテストプレイには,大きく3つのメリットがある。
(1)人間よりずっと多くの回数を繰り返してプレイでき,かつそれによって人間の工数や時間を消費しない。
(2)体感難度調整には属人性がつきまとっているが,ここに対してAIが判断基準を提供できる。
(3)ボスの行動パターンの中には「n%でXという行動を起こす」といったパターンも存在するが,この確率が低い場合,テストの回数を極めて大きくしないと思わぬ「ハマりパターン」を残してしまうことになる(端的に言って「5%で発動」する行動が2連続したら,ほぼ間違いなくパーティが全滅するのであれば,プレイヤーの0.25%は「絶対クリア不可能なボス」と遭遇してしまうことになる)。こういった問題についても,AIの圧倒的な試行回数をもってすれば,カバーが可能となる。
どう見てもこのテストプレイは「人間よりAIがやるべき」なのだが,問題は残る。それは,「FFRKを人間のようにプレイし,攻略していくAIを作れるのか?」という,わりと根源的な問題だ。
前述のように,FFRKのバトルは人間にとっても十分に複雑な選択肢を備えた構造になっている。しかもボスの行動は多種多様であり,統一的な「ボス行動管理AI」で駆動しているわけではない。バトルは複数回に及ぶため,先々を見越したリソースの管理も不可欠だ。
こういった課題をまとめると,
・状況に応じた反応ができなくてはならない
・敵の行動や弱点などを観察できなくてはならない
・未知の行動を学習し実行できねばならない
といった課題があることが分かる。
見るからに困難な課題だが,それでも半田氏はこの課題をクリアすることに成功した。実際,現時点で駆動している「FFRKのバトルをテストするAI」は,適切なタイミングで攻撃やヒールを行い,必殺技ゲージも温存しながら,まるで人間がプレイするかのようにFFRKのバトルをクリアできるようになったのである。
人間のようにFFRKをクリアしていくAI
さて,実際にどのような技術が使われているかについては,なるべく簡単に話を進めよう。
半田氏は,FFRKテストプレイAIの開発にあたって,2つの方式を試している。1つは遺伝的アルゴリズム。もう1つは強化学習だ。
遺伝的アルゴリズムは,AIやTAS(Tool-Assisted Superplay)動画が好きな方であれば,ニコニコ動画やYouTubeなどで見たことがある人も多いかもしれない。
要は,最初は明らかに粗雑なプレイしかできない状態のAIからスタートし,そこで「よりうまくやり遂げた」思考回路を生き残らせ,徐々に洗練させていくという手法だ。「遺伝的」の名が示すとおり,複数の「うまくいった回路」を掛け合わせて次世代を作ったり,あるいは時折突然変異種を投げ込んだりもする。
FFRKの場合,100世代程度で成績が頭打ちとなった。そしてこの段階で,人間に似た戦闘行動ができるようになっていたという。
一方で強化学習は,行動と状態を比較し,「うまくいった」と評価できる行動を選んでいくという方式だ。状態→行動→報酬のループを基本とし,このループの先まで見ていくことで,最終的な報酬を極大化しようという発想である。この方法でも,AIはFFRKのバトルをこなせるようになり,問題なくテストプレイに投入できるレベルに到達したという。
ちなみにこの2つのうち,半田氏は強化学習のほうが「より可能性がある」と見ている。
というのも,遺伝的アルゴリズムは,必然的に「ガチ勢」のプレイに肉薄していくからだ。これは一見すると素晴らしいことのように思えるが,テストプレイという観点から見ると大きな弱点だ。要は「ガチ勢」の発想やプレイスキルのみによってバランス調整がなされてしまうため,カジュアルなプレイヤーが置いてけぼりを食らう可能性が出てくる。
遺伝的アルゴリズムを使う場合,ここにおいて,「ちょうど良い程度にヌルい行動をするプレイヤー」を作り出すのが非常に難しい。が,強化学習であれば,行動を評価する関数をいじることで,「適度にあまり適切でない行動を『これがベスト』と思って選択する」AIが作れる可能性が高い。
また,今のところそうはなっていないとのことだが,遺伝的アルゴリズムをどこまでも推し進めた場合,ガチ勢すら越えたスーパープレイヤーが誕生する可能性もある。これもまた一見すると素晴らしいのだが,テストプレイヤーとしてはあまり適切とは言えないわけで,ここにおいても強化学習のほうが望ましいというのが現時点での判断ということだ。
ゲーム開発現場で活躍するAI
さて,このように大きな成果を達成したFFRKテストプレイAIの作成だが,「すべてはここから」と半田氏は話す。というのも,まだこのAIはプロトタイプであって,これをどう開発プロセスに組み込んでいくかは「これからの検討事項」なのだ。
ただ,まだプロトタイプと言っても,すでに様々な可能性が見えてきているのも事実だ。
中でも大きいのは,戦況の遷移を示すグラフだ。現状ではHPだけをトレースしているグラフだが,これは従来は人間の感性に頼るしかなかった「スリルと緊張感のあるバトル」をグラフ化しているとも言える。もちろんHP以外の数値もグラフとして表示できるので,これらを組み合わせることで,人間のセンスに頼っていた領域を,より定量的に扱うことが可能になる。
また,FFRKのようにBuffやDebuffが飛び交う複雑な戦闘においては,DPS(Damage Per Second)の測定は意外と難しい。「結果論としてはこれくらい」「理論上はこれくらい」ということを算出することはできても,実際の値を出すのは困難なのだ。
ここにおいて,AIによる大量の戦闘データは,より実情に近いDPS(およびその変化)を測定する基礎データとなる。
バトルの勝率というのも,大事なデータだ。これはもちろん難度に直結する数値だが,プレイヤー(AI)側が負けているときのデータを大量に取れるというのは,とても大きい。どこで負けたのか,どう負けたのかを調べることで,ボスの状態遷移が偏っているといった,バランスの調整不足を事前に察知できる可能性が高い。
新規アビリティや必殺技のバランス調整にも利用できる。新アビリティを持たせたキャラクターを含むパーティと既存のボスを戦わせることで,バランスブレイカーになったり,あるいは弱すぎて「産廃」と評されるアビリティを作ったりしてしまう可能性を減らせる。
このように「まるで人間のようにFFRKのバトルが進められるAI」が作れたなら,今度はそのAIをNPCの行動に転換することも理論上は可能となる。これはFFRKのバトルをより面白くするポテンシャルを有しているし,「AIとの協力プレイ」が非常に面白いゲームになるといった可能性もある。
ちなみに半田氏は,「FFRK以外のゲームもテストできるAI」も考えてはいるという。だが,3Dのアクションゲームになってくると「かなり難しいだろう」と見ている。とりあえず,トレーディングカードゲームであったり,コマンドバトルであったり,そういったターン制(ないし事実上のターン制)を採用したゲームであれば,FFRKテストプレイAIの応用で対応できるだろう,というのが氏の見込みだ。
半田氏は最後に,「人間の時間は非常に貴重なリソース」と断言する。人間と変わらないクオリティの結果をAIによって生み出せるなら,それをAIに任せてしまい,そこで浮いた時間をよりクリエイティブな方面で活用する――それこそが,このプロジェクトによって得られる最大の成果と言えるだろう。
ゲームのAIと言うと,ついゲームキャラクターの行動や,あるいはゲームの対戦相手としてのAIばかりが気になるが,開発段階においてもAIがもたらす変化は大きなものとなりそうだ。
- 関連タイトル:
ファイナルファンタジー レコードキーパー
- この記事のURL:
キーワード
(C) SQUARE ENIX CO., LTD. (C)DeNA Co., Ltd.