最終更新日: 2023年8月21日

次世代ゲームテスト研究所開設3周年を記念し、日本デジタルゲーム学会理事、ゲームAI開発者の三宅陽一郎様に寄稿いただいた記事の後編をお届けします。

【前編】はこちらからご覧ください。
【前編】三宅陽一郎氏による寄稿~ゲームQAとAI活用の未来~

生成AIの今後

PCGRL(Procedural Content Generation via Reinforcement Learning)の実例として、Julian Togeliusさんというニューヨーク大学のデジタルゲームAIの研究者の友人による「ダンジョンを生成するAIを強化学習で作る」【※5】という研究があります。ダンジョンそのものを作るのではなく、「ダンジョンを生成するAIを学習によって鍛える」というところが新しいわけです。

【※5】https://twitter.com/togelius/status/1222038094507102208

このAIは、ダンジョンを構成するブロックを置いたり、削除することができます。そのアクションに報酬を与えることで、この生成AIがうまくダンジョンを生成できるように学習させます。これにはデータが要りませんので、ゲーム産業に向いているかもしれません。強化学習はデータがいらない代わりに試行錯誤をするシミュレーターが必要です。作ったそばからチェックしますが、このマップは40点、このマップは10点と。AIは100点を取りたいからずっと良いAIを作る方向に学習していきます。

開発と一緒にAIも成長しているわけですね。開発者が「帰るから明日までに違うマップを作っておけ」と命令したら、何千、何万と異なるマップを作り続ける。そして、その中から良いのを選んで、さらにブラッシュアップしていくことができます。このように、開発のためにAIを鍛えるというスタンスが、これからのゲーム開発では必須の要素となります。そのためのフレームワークとしては「MCS-AI動的連携モデル」を考えています。これはどういうモデルかというと、ゲームAIの3つの主要な要素であるメタAI、キャラクターAI、スパーシャルAIを組み合せたモデルです。メタAIはゲーム全体を監視するAI、キャラクターAIはゲームキャラクターのブレイン(脳)、スパーシャルAIは空間を認識する空間AIのことです。

<図2> MCS-AI 動的連携モデル

メタAIはひたすらゲームの中にレベルデザインを生成し、その上をキャラクターAIを持つキャラクターが動いて、その学習結果をメタAIが管理するような仕組みです。ゲームそのものの知能=メタAIを使って、エージェント学習なり、レベルデザインの生成を管理していく。今回紹介した事例は、このフレームの中でできることでもあります。ゲーム自体がゲームを学習する、といった感じです。

そうなると未来のAIとは、ゲームを作り出す人工知能となります。ゲームはひたすら大規模化と複雑化の一途をたどっています。これを今と同じコストで開発するには、このようなゲーム自体を生成していくAIのシステムが必要です。そうすると、作ったものの品質を管理するのもAIでなければなりません。AIがゲームを作り、ゲームを試し、ゲームをテストするわけです。その中で、生成するAIもプレイするAIもテストするAIも育っていきます。

ゲームエンジンがあれば、その上に汎用的にこのような仕組みを作ることができます。現代的には、自動QAシステムまで組めるというのがゲームエンジンの完成の段階だと定義できるかと思います。しかし、現時点(2023年)で自動QAシステムまで完備されたゲームエンジンは少ない状況にあります。この実装は次なるゲームエンジンへのステップと言えます。だからこそ人間が行うQAの仕事が残っているというのもあると思います。またAIではバグは見つけられても、仕様の不一致は検出が難しいです。たとえば、ラスボスが一撃で倒されるのはまずいですが、バグではありません。それは仕様との不一致であって、これを検出できるようになるには、さらにセマンティクス(意味論)を含んだ品質管理が必要とされます。AIでQAを行うといっても、人間がAIを動作させ管理します。これをゲームが自らを自律的にチェックするには、メタAIの導入が必要です。メタAIの主人は誰かと言えば開発者です。ゲームの品質管理をメタAIが主導するのが未来かな、と思います。

やはり最後の詰めを最後になってから上げるのは不可能に近いかなと。パラメーターが何千もあって、「うっかり書いたら逆に下がるんじゃないか」みたいになると、いろいろなところが触れなくなっていって、最後に結局「この10個のパラメーターの中でなんとかしてください」となって「ムチャ言うなよ」みたいなことになる。だからそこは逆にその最後の0.1を詰めるために、開発の序盤から作戦を立てなければいけないと思います。そこにこそ、AIの出番があります。ゲームの最後の細かな詰めは、人間ではもはや追いきれない細かな状態の膨大な集合です。そこに入り込んで調整できるAIを事前に組み込んでおくことで調整するしかない段階にゲームは進化していると思います。

AIを活用するのは建築に近い

最後に曲がっているのを気づいてから「真っ直ぐにできないの?」って思ったら「根元が曲がっているじゃん」みたいな。

人工知能開発って最初はいらないと思われてしまうことが多いです。なぜなら最初はゲームのステージは1個しかないから、「そんな人工知能なんか入れるなよ。スクリプトで書くから」みたいになることが多いのです。2つに増えても「2つだからいいよ、3つでもいいよ」と。「5個目はみんな慣れてきたからスクリプトを書け」と。でもそれでやると、最後に100面やらなければいけない時に「なんかちょっと曲がっているんだけど」となって「100面のどれだよ」となる。序盤でAIを入れておけば、AI技術は後半に人間の手が回らないところを自動的にうまく埋めてくれるはずです。だからこそ大規模開発ではAI技術を含んで開発工程を最後まで読み切る力が必要とされます。最後になればなるほど、AIは逆に相乗的に効果を発揮してくれます。

2000年以前はキャラクターのたどる経路はポイントをすべてマップ上に配列していましたが、2000年以降はパス検索が導入されました。しかし、2004年の段階では「パス検索だと毎回新しいパスが生成されるのでデバッグできない」という意見もありました。最初にパス検索でやっておけば、マップがいくら増えても経路をちゃんと見つけてくれるから、後半にどんどん効果的になる。そして、その経路の保証はパス検索の原理に拠るしかありません。

キャラクターAIもそうで、ただの技術的な様々な判断、人間の手が届かないところを埋めてくれる。最後の細かな調整をまとめて解決するのもAIの仕事だと思うんです。

最後のゲームの伸びをAIが確保してくれるということなんです。僕も20年業界にいるので、最後の伸びを担保するには、言葉を選ばずに言うと、人間よりAI(がいい)かもしれない。最後の追い上げ。人間がどんなにがんばっても伸びないところをAIがうまいことアシストをしてくれる。これは一度体験するとわかりますが、なかなか最初はわかりづらいかもしれません。これは教育の課題ですね。しかし、AIの力を発揮する際には、やはり序盤から入れておかないといけません。AIが入っていなければ、最後の伸びがないどころか、データで積み上げた部分の品質をすべて確認しなければならないからです。「埋められない穴を最後に人力でやってください」と言われても無理ゲーだから、最初からそこをAIが補完してくれるようにデザインしなければなりません。
原理的に無理みたいな。問題にぶつかってQAって難しいよねと言うのではなく、問題そのものが消失しているという状況にしなければならないのです。

一般的な話ですが、「なんでAIを入れるの?」と言われる。「誰が入れたいの?」と言われる。「お前がやりたいんじゃないの?」と言われる。そういう部分もあります。でも、やはりそれはゲーム開発全体のためを思っているからであります。「でもあとから良いことがありますから」と言って入れる。やはり1回体験してもらうと、そのチームが良さをわかってくれます。最初に開発の現場に説得するのが難しいのです。

ゲームを使った機械学習の研究の歴史

「Teo Feng」における強化学習はマイクロソフトの研究です。実はゲームで最初に強化学習の研究をしたのがマイクロソフトリサーチです。

<図3> ゲームに応用された機械学習の歴史

これは偉大な仕事で、なんと2003年に作られたものです。さらに『Forza MotorSport』シリーズの強化学習もマイクロソフトリサーチの研究です。

実はゲームにおける機械学習の歴史は、マイクロソフトから始まっていますが、そのあと誰も後を継がなくなる。それで結局いわゆる古典的な強化学習を追う人がいませんでした。それでAlphaGOがDQNという方法で「AlphaGO」というすごい囲碁AIを開発して、みんな「あー、使えるんだ」という風潮になりました。でもそのあともゲーム開発者がやった仕事は実はすごく少ないです。逆にゲーム業界の外でいろいろな研究が進んでいました。これはちょっと残念なことではあるのですが、逆に言うと「みんなゲームを使ってゲーム開発会社のために研究してくれたのね」と。そうは思っていない人もいるわけですが、そういう見方もできる。だから、逆に今の日本が使える知見がゲーム業界の外に溜まって、ゲーム以外の他の業界で、自然言語処理からアクションゲームからeスポーツの動画的なゲームまでいろいろ使って研究されています。その蓄積はすごいものがあって、それらをアカデミズムや他産業からゲーム産業に持ってくるのは課題でもあります。

でも、気が付くとゲーム産業以外でゲームにおける機械学習がすごく盛り上がっている。当のゲーム産業の真ん中では「機械学習を製品に組み込むのは無理だね」という議論で尻込みをしていた歴史があります。だからまだタイトルにまでは届いていないです。
さすがに2022年はいくつかPCゲームでディープラーニングの導入例は出てきます。どうしても学習はゲーム内でできないかもしれませんが、学習済みの推論部分、啓蒙部分だけを使うという例は出てくるのではないかなとは思います。

ゲームの面白さはAIで判定することはできる?

2つあると思います。おもしろくないゲームを見つけることはできると思います。極論を言うと、「このゲームは2時間やっても1ステージもクリアできない」、「これをAIにやらせても1,000回に1回ぐらいしかクリアできない」など。欠陥の検出は比較的実行しやすいと思います。

ゲームのバランスが崩れているとか、QAの中でもバランシングを検出するのはソーシャルゲームではそれなりの数の事例があります。AIで自動プレイしてみると、最強カードデッキが出来てしまった、などです。

「このパラメーターを書いたらどうなるか」とか。本当にケミストリーみたいなもので、ゲームデザインの人って、100個のパラメーターがあっても執拗にずっと試し続ける。しかし、それは人間の知能を遥かに超えた領域に入りつつあります。
でも、崩れているか崩れていないかはAIのほうがやりやすい。パッと押せば30分で10,000回プレイして統計を出してくれるようなことも可能です。

もう1つ、面白さがわかるのかというと、必要条件は満たせるのかなと思います。「このゲームは30秒でここまでいかないといけない」とか。そうやって、面白いゲームが満たすべき条件があって、そういった条件をメタAIに確認させる。メタAIはキャラクターを使役して確認する。メタAIのところにおもしろさのエッセンスを溜めていくのはできるのかと思います。そうすると、たとえば、<序盤はゆっくり、どんどんスピードが上がっていく起承転結の転でなんかすごくボタンをワーッと押さないといけなくて、最後にゆっくり>みたいなパターンがあったとして、「お前のゲームはそうなっていない」とか「面白さのパターンにはまっていないよ」とゲームエンジンが判断する。それも実は面白いのかもしれないけど、評価付けはできます。100パーセント信頼する段階ではありませんが、ゲームデザインの面白さをAIの中にある程度パターン化して溜めることはおそらくできます。アンチパターンを溜めることもできるかとは思います。たとえばそれでゲームを100個作り、最初のQAで人間の評価をたくさん検出する。それを機械学習する。

つまり、このインプットで「人間がこう思っているよ」ということを学習させていくことは一応可能です。そのゲームに関しては人間の基準をAIが学習しているから、何を学習しているかはわからない。そういう点数付けをやっている。
「このAIに聞いてみてダメだったらダメです」みたいなやり方は多少あり得ると思います。パズルゲームでそういうのをやっているAI研究はあります。

AIと品質管理の未来

AIにはクオリティを出せるところと出せないところがあります。たとえば今は2Dのイメージがものすごい「Stable Diffusion」とか、「Midjourney」 などが出てきて、2023年もおそらく3Dモデルの自動生成が中心になると思います。2022年の学会で一番ホットだったのは、3Dモジュール生成です。2Dの自動生成も、Diffusionモデルは2021年の秋ぐらいの論文があって、2022年の夏くらいに出たので、3Dモジュールの生成は2022年の暮れに論文がたくさん出てきて、実際には2023年の夏ぐらいに3D生成モデルバブルみたいな状況になると予想しています。

ただ、3D生成モデルバブルは2Dイメージのクオリティほど高くないです。さらにその後にはアニメーションの自動生成があります。それはそんなに先ではないと思います。言語生成はものすごく大きなデータが必要で、人間の創作活動を置き換えるのはまずあり得ません。ただ、そこを人間とAIが協調するというのはあると思います。QAのプロセスでもやはりAIと人間が協調するのは必要ですが、今のAIはエンジニアしか触れないことが欠点です。

一番重要なのは、AIと人間のインターフェイスです。コンピューターも80年代はコマンドを打ったりして使うもので、エンジニアしか触れませんでした。でも基本的には誰でもポチポチと使用することができます。AIもいずれ誰でも使えるものになるのですが、そのために何が足りないかと言われたら、インターフェイスです。新しい時代のAIと人間をつなぐインターフェイスが重要です。QAのテストは、エンジニアがやるわけではありません。AIのテストも専門の人がやるわけではないから、お掃除AIのように誰もが使えるQA-AI(品質保証AI)を作ることがこれから必要です。要するに、AIの民主化を推進する必要があり、QA-AIもやはり誰もが使えるものになっていくべきかと思います。

寄稿者プロフィール

三宅陽一郎氏三宅 陽一郎
日本デジタルゲーム学会 理事
ゲームAI開発者

デジタルゲームにおける人工知能を専門に研究、開発を行う。博士(工学、東京大学)。著作に「ゲーム情報学概論」、「人工知能のための哲学塾」、「ゲームAI技術入門」、「絵でわかる人工知能」(森川 幸人と共著)等多数。

東京大学生産技術研究所特任教授、立教大学大学院人工知能科学研究科特任教授、九州大学客員教授、東京大学先端科学技術センター客員上級研究員。IGDA日本ゲームAI専門部会設立(チェア)、DiGRA JAPAN理事、人工知能学会編集委員会副委員長・シニア編集委員、情報処理学会ゲーム情報学研究会運営委員。