イベント
[CEDEC 2017]ゲームの品質管理はAIに任せる時代!? スクウェア・エニックスが活用法を語る
担当したのは,スクウェア・エニックスの眞鍋和子氏だ。
AIを使ってQAコストを削減
簡単に「開発イテレーションの効率化」と言っても,実際にはそれにはコストがかかる。ただ,コストの増大を嫌ってイテレーション速度を下げると,プレイヤーがゲームから離れるという最悪の事態を招きかねない。
イテレーション速度の低下は,プレイヤーのレベル――ゲーム内キャラクターという意味ではなく,プレイヤー自身の,当該ゲームに対する習熟度――上昇とコンテンツ品質の間にズレを生じさせ,ひいてはこれがゲーム全体の「面白さ」低下を引き起こすと真鍋氏は言う。
そこで真鍋氏らは,開発イテレーションにおけるQA(Quality Assurance,品質保証)の工程に注目した。というのも,QA工程ではテスターにゲームをプレイしてもらうのが一般的だが,しっかりしたQAを行うためには多くのテスターが必要になり,いきおい,コストが増大してしまうからだ。
ではどうするか。真鍋氏はここで「プレイヤーAI」を提案した。
字面からイメージできるように,プレイヤーAIというのは,テスターの代わりにゲームをプレイしてくれるAIのことだ。具体的には,以下のような特徴を持つAIであれば,QAのコストを大幅に圧縮できる。
- 実際のプレイヤーが知ることのできる情報と同じ情報を入力すると,プレイヤーが取り得る行動と同じ同等の行動を取れる
- ゲームを自動でプレイできる
- 新しいゲーム要素が追加されたとき,自動でAI自体を再生成できる
氏によれば,中でも重要なのは3.の「自動再生成」で,「ゲーム内のコンテンツを更新するたびにAIを開発し直さなければならなかったりすると,本来の目的である(QA)コストの削減につながらない」とのこと。AIの作り直しにコストがかかるようでは,本来の目的であるコストの削減につながらず本末転倒というわけだ。
「グリムノーツ」の課題を解決する,遺伝的アルゴリズムを使ったプレイヤーAI
グリムノーツでは,多数の「ヒーロー」が存在するだけでなく,7月26日の時点で職種も311あり,さらに,武器とアクセサリーの数も膨大な数に上る。しかも,毎月のようにその数は増えている。
一人の主人公につき2人のヒーローをセットできるシステムをグリムノーツは採用している |
職種数は7月26日の時点で311に上るとのこと |
武器やアクサリーも多数用意されている |
武器の強さが変わる「スキルスコア」と呼ばれるシステムもある |
このように多数のヒーローが存在して,職種も武器もアクセサリーも膨大となると,組み合わせの数が想像するだに恐ろしいものとなることは言うまでもない。そのため,「新しい組み合わせが,たまたまゲームバランスを破壊してしまう」事故が起きる可能性も,また高くなっている。
だが,その膨大な組み合わせを人間のテスターがすべて調べ上げるのは非常に難しい。そこでプレイヤーAIに試させようということになったそうだ。
「グリムノーツでは,バトルを行ってその内容を評価し,バトルの内容が改善する方向へ進化するAIを目標にした」と真鍋氏。「バトルの評価」は,単純に勝利したかどうかに加えて,勝利した場合はバトル時間の短さ,敗北した場合には敵に与えたダメージが多かったかどうかをそれぞれ評価の対象にしたそうだ。
そこで真鍋氏らが利用したのが,セッションタイトルにもある遺伝的アルゴリズムだ。
遺伝的アルゴリズムというのは古くからある問題解決アルゴリズムで,生物と同じように遺伝子を掛け合わせて進化していくAIの一種である。
グリムノーツにおいて,真鍋氏らはパーティ編成そのものを遺伝子として使い,遺伝子をかけ合わせてバトルを繰り返すことで最適なパーティ編成に近づいていくというAIを構築したそうだ。「パーティ編成を遺伝子として扱うことで,新しいヒーローや装備が追加されてもAIを作り直すことなく利用できる」と,真鍋氏は利点を強調していた。
AIの思考が可視化できる点も遺伝的アルゴリズムの利点だと真鍋氏は言う。たとえば流行の深層学習だと,「実際に何がAIの中で起きているのか」を解析することが非常に難しいと言われているが,遺伝的アルゴリズムならば非常に分かりやすいデータを得られる利点がある。
また,進化の過程でさまざまなパーティ編成が試行されるため,実際のゲームでプレイヤーがプレイする状況に近いAIが生成されるのも利点としていた。
一方で,「遺伝的アルゴリズムではパラメータがたくさんあるため,それを調整するのが難しかった」とも真鍋氏は振り返っている。
なお,遺伝的アルゴリズムでは膨大な数のバトルを繰り広げて進化させていく必要があるため,ゲーム中の要素を一部削って,1バトル1秒程度で終わるように調整した特別版を使っているという。具体的には下のスライドにあるとおり,ヒーローの切り替えをできなくして,移動や距離の概念もばっさり削ってあるそうだ。
つまりプレイヤーAIが戦いやすいよう,実ゲームのバトルを「モデル化」しているというわけである。ただし,バトル時に生じる計算自体は実ゲームと同じとのことだった。
また,AIに画面の意味を理解させるのは難しいため,バトルの結果はすべて数値として得るAPIを用意しているとも,真鍋氏は述べていた。AIがパーティ編成とバトルの評価を行いやすいよう,できる限りの便宜を図った,といったところだろうか。
「いかに実ゲームに近づけるか」が今後の課題
遺伝的アルゴリズムを使ったプレーヤーAIにバトルを実行させることで,真鍋氏らは有用かつ興味深い結果を得ることができたそうだ。真鍋氏が挙げた例を幾つか紹介しておこう。
「世代を重ねるごとに,プレイヤーAIがどのように進化していったか」を示すのが下のスライドである。スタート直後の若い世代だと,戦闘に勝利できたプレイヤーAIは皆無だが,数十世代が経過したところでバトルに勝利できるプレイヤーAIが少数ながら登場し,徐々にその数が増えていくのが分かる。また,バトル時間が全体的に短くなっていっているのも見てとれよう。
図を見ると,2か所で階段状のデータが出ているところがあるが,これは「突然変異により,局所解からの脱出が起きたと見ている」と真鍋氏は言う。
遺伝的アルゴリズムでは,突然変異が非常に重要だ。生物でも起きることだが,突然変異がない,あるいはその頻度が適切でないと「ほどほどのところ」にはまり込んで,進化が止まるという現象が起きる。
いわば「進化の袋小路にはまり込んだ状況」だが,そこからの脱出を促すのが突然変異である。突然変異は先の図の橙色に示されているように,ほとんどの場合はマイナスに作用するが,突然変異がないと袋小路(≒局所解)からの脱出ができない。
ちなみに,実際に何が起きているのかを調べたところ,「ディフェンダーがアタッカーに変化する」という突然変異が見られたそうだ。グリムノーツの場合,難度が低い状態ではアタッカーの多いほうが有利になるそうで,それを突然変異によって獲得したわけである。
もう1,前述のとおりプレイヤーAIのバトルではヒーローの切り替え機能が省略されているわけだが,その制限を受けて,プレイヤーAIは低難度のバトルで不利になるヒーラーなどを配置して先に負けさせ,アタッカーとして再参戦させるという技も獲得したそうだ。なかなかあざとい技を自然に獲得するものである。
もちろん,進化の末に最適なパーティ編成を獲得するということも,アソシエーション分析(※組み合わせを分析する方法の一種)の結果,分かったという。
以上,有用かつ興味深い結果を出したプレイヤーAIだが,改善点もあると真鍋氏は振り返る。
中でも,プレイヤーAIによるバトルで,時間短縮のためにモデル化したのが問題になったと真鍋氏は振り返る。AIの出した結果が「モデル化によるものなのか,あるいは実際のゲームでも起きることなのか,区別しづらいことがあった」そうだ。
この問題を解決するためには,バトルを実ゲームと同じように行わせる必要がある。ただし,バトルを高速化するためには「とくに物理の部分が障害になる」と真鍋氏。物理や画面の描画など,高速バトルのために障害になる部分を切り離しつつ,実ゲームと同じバトルができるよう工夫することが今後の課題というわけである。
この課題はグリムノーツに限ったものではなく,遺伝的アルゴリズムをプレイヤーAIとして使う場合に工夫が必要な部分ということになるだろう。
というわけで,プレイヤーAIの導入によって,これまでにない膨大な組み合わせを持ち,かつそれが破綻していないゲームが今後,どんどん登場してくるだろう。ゲーム中に使われるAIだけでなく,ゲーム開発を支援するAIにも注目が集まるようになるのではないだろうか。
スクウェア・エニックス テクノロジー推進部公式Webページ
グリムノーツ公式Webサイト
4GamerのCEDEC 2017記事一覧
CEDEC 2017公式サイト
- 関連タイトル:
グリムノーツ Repage
- 関連タイトル:
グリムノーツ Repage
- この記事のURL:
キーワード
(C)2016 - 2018 SQUARE ENIX CO., LTD. All Rights Reserved.
(C)2016 - 2018 SQUARE ENIX CO., LTD. All Rights Reserved.