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

2023年1月18日、AIQVE ONE主催の品質管理をテーマにしたセミナーイベント、QA Tech Nightを開催いたしました。
ゲストに日本デジタルゲーム学会 理事の三宅 陽一郎氏、日本マイクロソフト株式会社の下田 純也氏、モリカトロン株式会社の森川 幸人氏らをお招きし、「ゲームQA自動化とAI活用~未来のゲームテストを考えてみる~」というテーマでお話しいただきました。

本記事では、株式会社ベリサーブ 研究企画開発部 部長 松木 晋祐氏による講演内容をお届けいたします。

登壇者プロフィール


松木 晋祐 (Shinsuke.Matsuki)
株式会社ベリサーブ 研究企画開発部 部長 / AIQVE ONE株式会社 技術顧問

独立系ソフトウェアベンダにて、テストオペレータから品質部門統括まで、ソフトウェアテストと品質保証にまつわるさまざまなロールを経験後、ベリサーブへJOIN。ベリサーブではテスト・品質にまつわるSaaSの開発・提供、品質技術推進、応用技術研究等を担う部門を創設・運営。プレーヤーとしてもゲームQA製品の開発プロダクトオーナーを務める。

・NPOソフトウェアテスト技術者振興協会 会員
・JaSST東京 実行委員
・テスト自動化研究会 ファウンダー
・東京電機大学 CySec 講師

そもそも「ゲームのテスト」って?

本日は、「”ゲームをAIでテスト”のホントのところ。」と題し、セッションをさせていただきます。どうぞよろしくお願いいたします。

そもそも「ゲームのテストにおけるAIの活用」以前に、ゲームのテストにはどういう契機があるのかというところですが、ここ数年、国際的なテスト技術の認証機関(ISTQB)や、国際標準系(ISO)で、”Game(s) Testing”の規格というものが出てまいりました。資料の右側にある『ISO/IEC/IEEE 29119』というのがソフトウェアテストの国際規格になりますが、”Model Based Testing ”と”Testing AI-besed Systems”に挟まれる形で”Game Testing”があり、こちらの出版に向けて貢献をさせていただいております。
ここ最近、このような動きがようやく出てきました。


一方で、ゲームのテストに関する書籍は非常に少なく、Amazonで関連ワードを検索して出てくるのはなんとこの5冊のみです。
その中でも日本語で読める本は、『ゲームテスト&QA』と、AIQVE ONEの花房氏の著書である『ゲームをテストする』、この2冊だけです。この最新の『ゲームをテストする』から、日本語で読める本もたくさん出てくれるといいなと思っています。

ゲーム以前の「テスト」へのAI活用

そもそも、ゲーム以前のソフトウェアテストというものに対して、AIはどのように活用されているのでしょうか。ソフトウェアテストへのAIの活用(AI4QA)について解説いたします。

資料に並んでいるBOXは、ソフトウェアテストの流れ、プロセスをかなりざっくりと書いたものです。左から、テスト要求分析、テストの基本設計、テストの詳細設計、テストの実装、実行という流れになっています。
この中でAIが活用できる範囲は、たとえば以下の部分です。

・テストの要求分析
単体テストレベルに限られますが、どんなテストをしたらいいのか絞ってくれる、Jenkinsを開発された川口さんが立ち上げた『loanchable』という製品があります。

・テストの詳細設計
識別されたテスト(モデル)に対して、どれくらいの厚みでどんな手段でテストをするか考えるのがテストの詳細設計です。このテストの詳細設計をカバーしうるものとして、人間が考えずに一旦テストを実行してみて、そのリアクションに基づいて次のテストケースを機械的に決めるという、いわゆる「ニューラルファジング」「サーチベースドテスト」というアプローチがあります。

このようにいくつかあるのですが、ソフトウェア「テスト」へのAIの活用というのはかなり限定的な状況であると思います。

ゲームの「テスト」へのAI活用の状況

これが、ゲーム「テスト」へのAI活用(AI4QA4GAME?)になると、さらに限定的になります。

世の中のゲームのテストタイプを調べてみたのですが、他のドメインのテスト(組み込みやエンタープライズ、車載など)と比べてもかなり多いのではないかと思います。さすが、ゲームは総合芸術だなと思います。

テストのやり方の向きを決めるものがテストタイプと呼ばれるもので、どのテストタイプについてAIを活用するかを決めなければならないのですが、そもそもテストタイプが非常に多いのです。

今後の私たちの夢でもあるのですが、ゲームテストのAI活用といって多くの方たちが想像される、また私たちがゲームAIの製品をお客様に紹介しに行ったときによく言われるのが、「ゲームの画面だけを見て自動テストをしたい」ということです。皆さんからご要望をいただきますし、僕らもこれを実現したいのですが、サーチしている限りでは、モダンなゲーム、特に大規模タイトルにおいては実現していないかと思われます。

今後AIの活用というところでは、強化学習という分野にリワードハッキングというバグがあり、その特性を活かせないかと考えています。ゲームを強化学習で攻略させると、たとえば、「このゲームで1000点とってこい」というゴールをモデルに与えると、ゲームのスコア部分だけを1000点に書き換えたり、過去にハイスコアを獲得した人の名前だけ自分に書き換えたりとか、そういうズルをやるのです。これがリワードハッキングと呼ばれるのですが、これを活かしていわゆる「裏ワザ」を見つけるということができないかということを考えています。

僕らが見る限りでは、ゲームテストへのAI活用はまだ限定的かなと考えております。

冒頭にお話ししたゲームのテストタイプですが、ざっと探しただけでもこれだけありました。ものすごい数があります。

さらに世の中にゲームのテストにAIを活用する例があるのかということで、最新の論文を漁ってみました。画像認識、波形分析を活用したサウンド、画像、オブジェクトの挙動の自動テストは、一部できているものの、複雑なゲームへの適用はできないという但し書きがあったりします。

また面白いと思ったのは、SSL(Self-Supervised Sprite)を活用して、いくつかの異なるジャンルのゲームにおいて「現在の状態」を判定するというものです。この、ジャンルをまたいで判定できるというのはかなり画期的だと思いました。ただこのあとオチがつきます。

さらに、スプライトベースのビデオアニメーションにおいて今どういう状況なのか判断するなど、いくつか例があるという状況です。

そして先ほどのオチの部分なのですが、「異なるジャンルのゲームの状態を判定する」という論文の中身がこちらです。昔からある次元削減を活用して、「どの方向に重みがあったからこのゲームだ」と判定するのですが、赤字の部分がオチになります。一応判定はできるものの、バレーボールとバスケットボールが非常に難しく、バスケットボールは格闘ゲームやバイクレースに分類されることがあり、バレーボールはだいたいバスケットボールかアイスホッケーと混同されるということです。「画面を見てゲームのジャンルを識別しろ」というタスクですらこのくらいの精度であるという状況です。

翻って、「AIにゲームのテストをさせる」ことの本当のところになります。僕らが見る限り、ゲームのテストにおけるAIの適用研究は、部品はある程度揃ってきているものの、先ほど挙げた膨大なテストタイプのどれかにバシッとはまるものがまだないように見受けられます。とはいえ、私たちは皆様に良いソリューションをご提供していきたいので、今「使える」ものとして、下手にAIにこだわらずに、「コンピューティングパワーで殴る」という方向で、そこから進化していけないかというところを頑張っている状況です。

AIQVE ONEと私たち開発チームで、最新の研究はもちろん追いかけるのですが、まずコンピューティングパワーで殴るものをぜひご利用いただき、パブリッシャー様、デベロッパー様、各社様と一緒にソリューションを育てていく方針を今は採用しております。一緒にやりたいという開発会社様がいらっしゃいましたら、ぜひご一緒させていただけると嬉しいです。

いま、私たちが出来ていること『Playable!』

ということで、「いま、私たちが出来ていること」として、『Playable!』というソリューションの簡単なご紹介をさせていただきます。
ソリューションのコンセプトは、「ゲームQAをより高度に、より素早く。」
ゲームQAに掛かる多くの時間、判断をコンピュータ・AIに代替させ、人間はより高度で創造的なテスト、QAにリソースを使っていただくことにより、全体として効率化するということをコンセプトとして掲げております。


現在はどうしてもタイトルに一部だけライブラリを組み込ませていただくことがあります。ですが、このライブラリが入って繋がってしまえば、上のソリューションは動くというアーキテクチャになっております。

『Playable!』でできること

では具体的に何ができるのかをご紹介します。

・Collision Check


まずはコリジョンチェックです。私たちは、このコリジョンチェックを完全に自動化することに成功しております。実際に、名前は言えないのですが大きな製品にご利用いただいております。

・Playthough

次にプレイスルー、通しプレイです。このゲームはスタートからエンディングまで本当にクリアできるのかというところを、人間がたくさんお手本を見せてあげることで、AIの要素も入っているのですが、ルールベースのエンジンで作成するというものです。

・Item Collecter

もう一つが、アイテム回収です。マップ上に配置されているアイテムを本当に全部回収できるのかというのを、ルート探索を用いて行っていくというソリューションです。

今のところ、以上がすぐに出せる3つになりますが、実はまだまだやるつもりで、今私たちは「汎用エージェント」に取り組んでいます。画面だけを見てテストをさせることは結構難しいのですが、もう一つの夢である、「こういうテストをしてください」と自然言語で打ち込んだら、botやエージェントがそれを理解して、何をすべきかを解釈し、勝手にプレイしてくれるというものです。それにより、テストケースの多くの部分は自動化できるのではないかと考えております。

この汎用エージェントは絶賛開発中で、できるかどうかわかりませんが、今後期待していただければと思います。年内に皆さんにお披露目出来たらと思っています。

『Playable!』の出展・メディア掲載


『Playable!』は2022年の東京ゲームショウに出展させていただき、多くのお客様から反響を戴きました。また光栄なことに、2022年12月の週刊ファミ通で、西川善司さんの「ゲームのムズカシイ話」というコーナーでも取り上げていただきました。お持ちの方は是非ご覧いただければと思います。

『Playable!』の野望

今私たちが出来ているのはこの辺になりますが、最後に『Playable!』の野望についてお話ししたいと思います。私たちがやりたいことは、「ゲームQAエンジニアにカッコいい『ぶき?』を提供して世界のゲームデバッグを極限まで効率化する。そして、効率化することによって、ゲームの開発者がより多くのチャレンジをできるようにすること」です。テストが一瞬で終わるなら、開発者はリリース直前までいろいろなチャレンジができるようになります。これはゲーム開発に限らずですが、テストとはそもそも、開発を支えるインフラです。開発者にとってのガードレールといいますか、このインフラをゲーム開発の皆様にも提供すれば、ゲームの開発者がより多くのチャレンジができるようになる。そうすると、面白いゲームがたくさん素早く出てくるようになると思いますので、ぜひチャレンジしていきたいと考えております。

今後『Playable!』を見かけていただいたら、ぜひお試しをいただいたり、お声がけいただけると幸いです。

ご清聴ありがとうございました。