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

次世代ゲームテスト研究所開設3周年を記念し、日本デジタルゲーム学会理事、ゲームAI開発者の三宅陽一郎様に寄稿いただきました。
2018年のモリカトロン株式会社テストラボ完成時に三宅氏にお越しいただき、モリカトロン株式会社 代表取締役 森川幸人氏とQAについての対談を行いました。対談から5年が経ち、AIQVE ONEは次世代ゲームテスティングソリューション「Playable!」やテスト自動化ツールを開発してきましたが、この5年間でゲーム業界や最先端の事例がどのあたりまで進んでいるのかなどについて語っていただいています。なお、この記事はAIQVE ONE主催のQA Tech Night vol.7「ゲームQA自動化とAI活用~未来のゲームテストを考えてみる~」でのトークセッションの補足記事となります。(記事内容は2023年1月頃の情報です)

三宅陽一郎氏プロフィール

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

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

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

2018年から2023年までの5年間で変わったこと

一番大きな流れは機械学習の導入とその壁です。ゲームの作り方そのものの変化もあると思います。AIが自動生成して、かつAIがテストプレイをして欠点を潰していく。そうやって全体的なシステムとしてゲーム作りが革新されつつあります。
ゲームのステージなど、ゲームのコンテンツを生成するAIを「ジェネレーティブAI」(generative AI)、或いは、プロシージャル・コンテンツ・ジェネレーション(PCG)と言います。コンテンツ自動生成の歴史は80年代からありますが、この数年で、そこに機械学習を含んだ学習が導入されました。これを「機械学習によるPCG」=「PCGML(Procedural Contents Generation via Machine Learning)【※1】」と言います。また強化学習を使う場合には、PCGRL(Procedural Contents Generation via Reinforcement Learning)と言います。2010年頃から、コンテンツを自動生成し、AIがその品質をチェックする(たとえば、マップを自動生成しては、AIがスタートからゴールまでたどり着けるか、実際に動いてみて確認する)などの手法がアカデミックでは研究されてきましたが、それがいよいよ産業にも取り込まれつつあります。

【※1】Procedural Content Generation via Machine Learning (PCGML)
https://arxiv.org/abs/1702.00539

またAIによる自動プレイも盛んになりつつあります。かつてはキャラクターをスクリプトで動かす手法が主流でしたが、それからログベース、つまり人間がプレイしたログを使用してリプレイを構成する手法、さらに機械学習、特に強化学習を用いた手法へと発展しています。サーバー上でテストプレイ環境を準備し、同時にいくつもの自動プレイを実行することで、膨大な数のテストプレイをAIが行います。

デジタルゲームで最も難しいのがレベルデザインのチェックです。レベルデザインというのは、ゲームマップ、敵の配置、ゲームの仕掛けを含んだ総称です。このレベルデザインの品質を確認するためには、全マップを何回もプレイしたり、それぞれの場所に体当たりして抜けがないかを確認する必要があります。こちらも、強化学習で上手になったAIキャラクターに自動プレイさせることによって、自動テストを行う事例が少しずつ増えています。機械学習のキャラクターを使う意味は、レベルデザインは、開発者による微調整が何度も繰り返されるためです。学習したキャラクターは、その微妙な変化にも対応して自動プレイしてくれます。たとえば、ゴールの前にブロックが置かれてもジャンプして自然に回避してくれます。このようなロバストな、つまりレベルデザインの少々の変化に対して揺るがない自動プレイ環境を手に入れることは、最近のオープンワールド、つまり広大でシームレスな世界のデバッグには必須のものです。

<図1>階層的なQAの図

つまりこういうことです。これまでの典型的な体制としては、開発をして、少し手元でプレイして、テスターさんに渡す、というサイクルで開発が回るというものでした。しかし自動プレイがある場合は、開発者がレベルデザインをした直後に自動プレイを回すことができます。一時間休憩のうちにプレイさせるなど、すぐにイテレーションサイクルを回すことができる。そこから開発内部のテスターさん、さらに品質管理のテスターさんに渡すという体制を取ることができます。手元である程度のバグをつぶした上でテスターさんに渡していくので、全体としての工程もコンパクトにすることができます。

また、より大きなスケールでは、データ解析によるコンテンツ開発の方向性の検討があります。Netflixのネットに公開されている一般向けの情報ですが、ユーザーの視聴データからT-SNEという技術によるデータ解析です【※2】。簡単に言うと、高次元データを2次元マップに落とし込む技術です。このマップを作ると「ここってまだ空いているよ」というような(人気が出るはずだけどまだ空いている)分野を発見できるのです。

【※2】Supporting content decision makers with machine learning (Netflix Technology Blog)
by Melody Dye*, Chaitanya Ekanadham*, Avneesh Saluja*, Ashish Rastogi, 2020

ここ3年くらいの事例ですが、「EA SEED」【※3】というEA(エレクトロニック・アーツ)のAIの研究所があります。Ubiは「Ubisoft La Forge」という研究所を作りました。2018年前後から現在までは、大なり小なりゲーム産業における研究所、研究部署設立のラッシュでした。そういったゲーム産業の研究所の主要なテーマは、かつてはグラフィクスやアニメーションでしたが、最近はそこに機械学習も含まれています。そうすると、ゲーム企業内で研究すべき内容がそれなりに大きなボリュームとなり、研究所を作ろうという気運が高まったという背景があります。

【※3】EA SEED
https://www.ea.com/seed

【※4】Ubisoft La Forge
https://montreal.ubisoft.com/en/our-commitments/research-and-development/

開発と研究の関係は絶妙なつなげ方が必要とされます。離れすぎると溝ができて、研究が開発につながりませんし、近すぎると研究の独自性が損なわれ意義を失います。研究は開発に、他社とは違うプラスアルファをもたらさねばなりません。

開発と研究、それをどうつなぐかというのは研究所の腕の見せどころです。
研究はしているものの実装はまだできていないというのは仕方のないことですが、その比率が高くなるのは良くありません。開発につながる研究は、野球で言う「ヒット」です。打率は高ければ高いほどよい。しかし10割とかはないです。そこを目指しますが。

「作ったそばからテストをする」は日本でも流行るか?

そうですね。やはりそのゲームエンジンがしっかりしていると、そういったデバッグシステムも構築しやすいです。ただ、ゲームエンジン以外にも、ゲーム開発体制としても準備する必要があります。自動デバッグシステムは、最初から入れるという判断が必要です。というのも、開発初期にはコンテンツが少なくていらない、中盤はコンテンツが徐々に増えていくので忙しい、終盤ではそれどころではない、といった感じで導入の時期を逸してしまうのです。そのため、やはり最初から入れる必要があります。

どこでもそうだと思いますが、余裕がない。「そんな人がいたら開発を手伝ってよ」となって、最後までやらない。だいたいこのパターンになります。ですから本当に適切なタイミングを考えないと、いつまで経ってもできません。細かく入れて、どんどん外側へ規模を移していくというような、そういう導入テクニックがやはり重要なのではないかと思います。
また、自動プレイシステムは、そのゲームをある程度知悉した人でないと作ることができません。ベテラン開発者の経験と力量が必要な領域でもあります。若手であれば、今なら機械学習、特に強化学習の導入に挑戦するのが良いかもしれません。とにかく、この分野に興味を持っていること自体が貴重です。本体のゲーム開発とはまた違う角度から貢献する領域ですので。

【後編】に続きます。