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

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

本記事では、日本マイクロソフト株式会社の下田 純也氏による講演内容をお届けいたします。

登壇者プロフィール


下田 純也
日本マイクロソフト株式会社 Gaming Technical Specialist

1991年、ファミコンやゲームギアのゲーム開発からゲーム業界入り。2002年、Microsoftに1度目の入社。ゲームエンジン&ゲーム開発、クラウドの会社を経て、2020年にMicrosoftに2度目の入社。ファミコン世代からXbox 360世代までゲーム開発をリードしたのち、開発支援を中心に、クライアントサイドからバックエンドまでカバーしている。
Twitter:@junyash
Linkedin:https://www.linkedin.com/in/junyashimoda/

Xbox Game Studiosの事例

今回は「ゲーム開発・テスト・運用へのAI・ボットの活用」というテーマで、マイクロソフトのゲーム開発スタジオの事例も交えながらご紹介したいと思います。

QA(品質保証)は近年、BotやAIによる自動化で徐々に効率良くできるようになってきています。


皆さんの中で実際に活用されている方も多いかと思いますが、弊社のXbox Game StudiosのQAにおいても、Bot、AIの活用が始まっています。Xbox Game Studiosは様々なゲーム開発プロジェクトを持っておりますので、タイトルごとにQAのロジックを組みはじめると大変です。そこで、共通のツールセットの活用に投資をし、プロジェクト間でスキルや成功を共有しています。


Xbox Game StudiosのQA・テストの特徴として、QA専門のエンジニア陣が多数在籍していることが挙げられます。そのため開発初期の段階から、自動化等の相談、組み込みの支援、伴走まで行っています。QAのリードの方やエンジニア、PM的な方もいますので、コードも書けます。技術としては、QA・テストを効率よく行うために自動化する、場合によってはMLを活用していく。これをスタジオやプロジェクト横断的にゲームプレイの自動化機構を組み込み、実施しています。
もう一つの特徴が、ゲームコードのQA・テストの自動化です。全てではありませんが、多くのプロジェクトで行われています。ソースコードのテストの自動化も行っています。

スタジオ・プロジェクト横断的なフレームワーク


ツールだけではなくフレームワークも共通化しています。これらが共通化されることで、ツールの作成コストの削減、メンテナンスコストの向上、学習コストの削減につながっています。このようにしてXbox Game Studiosのプロジェクトはいつでもテストを始められる状況になっているため、プロジェクト開発チームは最初からゲームの本質部分の開発に注力することができます。


このフレームワークですが、ゲームのクライアントに、ゲームのコントローラーのインプットを入れたり、実際のゲームから情報を収集してBotが動くというようなものがフレームワーク化されています。ゲームのオブジェクトやステイトなどを見られる状況になっています。


ツールについては、アンリアルエンジンのコンソールコマンドなどから、いろいろ制御できるものも作られていたりします。


このようなフレームワークがあり、その上にボットブレインがあるので、これがフレームワークを通して、様々なジャンルのゲームに対し、同じようにテストをすることができます。


さらにテストをコントロールするためのツールなども、UIが備わっているので共通化されています。どんなBotを作って、そのBotがどういうパラメータで、どういう内容を行うかをUIで設計できるようになっており、これをテスターさんが使うことにより、テストの効率的な運用ができるようになっています。


こういうものがありますので、人の手を介さず様々なテストをさせて、問題がないかを見ることができるようになっています。


たとえば、レースゲームのマルチプレイを人手でテストするとなると、人を集めるところからやらなければならないのでなかなか大変です。Botで制御できるようになっていれば、このようなマルチプレイのテストもやりやすくなります。様々なシナリオを作って、様々なテストを行うことができるようになっています。

ゲームプレイの分析


以上が、Xboxのゲームスタジオで共通化されているようなテストのフレームワーク、ツール群になりますが、これ自体を実際にソースコードも込みで公開というところにはまだ至ってはいません。ただ一部、スタジオやXbox系のチームが開発したものが、GitHubで公開されています。たとえばゲームプレイの分析の機能です。画像の左側二枚がアンリアルエンジン、右側がUnityになりますが、ゲームのプレイをしたときに、プレイ状況や行動ログを、データベースにかえていきます。たとえば「このステージの中で、どの場所でプレイヤーが撃ち殺された」というような行動ログをどんどんためていきます。そのたまったログを、ゲームのエディタ上に表示することができるというものになっています。行動や、実際にユーザーさんがよく死んでしまう場所、捕まってしまう場所、迷ってしまう場所などを可視化することで、問題が起こりやすい箇所をゲームクリエイターの皆さんと簡単に共有することができます。このテスト結果をもとに、たとえばアイテムを近くに置いてあげたり、見晴らしのいいところを作ってあげるなどしてプレイしやすくしたり、レベル向上につなげていただくことができます。これがGitHubにもソースが公開されていますので、ぜひご覧いただければと思います。

昨今のゲーム開発の課題


昨今のゲーム開発の課題として、新世代機の開発に合わせた開発環境の効率化や、運用型タイトルに代表されるような継続的リリースへの対応があります。その中で、QA・テストの自動化は今後ますます重要になってくると思います。やはり自動テストが組み込まれていれば、新しいステージができたときにも、次のリリース用にですとか、運用中の新しいイベント用にというテストがしやすくなってくると思うので、ぜひこういうところもご検討いただきながら、進めていただけるとよいのではないかと思います。

コードのQA・テストの自動化


次世代機、新世代機ではコード自体もどんどん大規模で複雑になってきています。このコードのQA、品質保証は皆さんどうされていますでしょうか。やはりソースコードが複雑になってくると、この品質を保証することがなかなか難しくなってくるかと思います。実はXbox Game Studiosには、Code Qualityというチームがあります。このチームのプリンシパルアーキテクトの方が、「Sea of Thieves」や「Minecraft」のQA、自動化を担当していた方で、コードのテストやユニットテストなどを実行して、バグコードをどんどん減らしていくことに成功しました。こちらもスタジオ横断的に広めていくことが進んでおります。


コードのQAのことをざっくりまとめますと、「Sea of Thieves」は、開発初期からコードのテストをやりたいという人がいたので、非常にやりやすかったです。ですが、「Minecraft」はすでに何百万のプレイヤーがいる成熟したゲームで、コードもどんどん大きくなってしまった状況から入ったため、なかなか大変でした。このようなプロジェクトでもしっかりとコードのQAを導入するために、以下の6つのポイントがありました。

・移行のオーナを明確に
・コードベースを保つ
・導入のためのバイアス
・次にスケール
・開発者を巻き込む
・リーダーシップによる支援


そんな大変な中でも実行していくと、自動テストで検出できるバグの数がどんどん増えていきました。コードのQAもぜひ進めていただいて、クランチがなるべく起こらないような、持続可能な開発の未来を作っていきましょう。

オンプレ開発vsクラウド活用開発


さらに最近のトレンドとして、オンプレでの開発に加えてクラウドを活用する開発があります。ここでなぜクラウドの話をしているかというと、「自動QAができるようになったので、テストマシンを増やしたい」となると、オフィスであれば場所の問題や、どれくらい買えるかという問題がでてくるのです。そこで、ぜひクラウドもご検討いただければと思います。実際QAマシンを導入するにあたって、オフィスに入れる場合は、ワークステーションの購入コスト、場所代、電気代がかかりますが、クラウドの場合は、VMの利用コストと通信費(自動テストの場合はほぼ発生しない)だけです。さらに、マシン購入のリードタイムもゼロですし、ほぼ無尽蔵にマシンを増やすことが可能です。

実際に考えてみていただきたいのは、「ゲームのリリースに向けて、100台QAマシンを導入したい」となったときのことです。なかなか稟議が通らないと思います。さらに100台導入したとしても、その100台がフルで稼働する時間がどれだけあるのか、ということになります。クラウドであれば、稼働した時間だけにお金を払うということが簡単にできるので、その点もクラウドの魅力ではないかと思います。

マイクロソフトの研究機関との強力なタッグ


今はテストにもクラウドが使えますし、開発にもクラウドが使えるようになってきています。クラウド上で動いているゲームをリモートでプレイできる機能も最近はスムーズに動きますし、クリエイティブなところにも、実はクラウドの様々な研究開発の成果が使われ始めています。Microsoft Researchとゲームスタジオがタッグを組んで様々なものを開発しています。


たとえば、声優さんの音声を学習して音声を生成したり、英語話者から学習して別の言語で喋るということもマシンでできるようになっています。

チャットBotサービス


これがQA・テストにつながるか難しいところではあるのですが、ゲームのプレイに詰まったときに、攻略サイトを見てほしいかという問題があると思います。そこを解決するための機能として、ゲームからチャットBotをAPIで簡単に呼べるサービスがあります。声優さんがリアルタイムで喋れるようなAPIを組み合わせていただいて、質問すると声でヒントをくれるアシスタント的なアバターをゲーム内につくることもできます。このような運用の品質向上もご検討されているようでしたら、ご支援、サポートをさせていただくことも可能です。

コンテントモデレータ―


こちらはQAも絡んできますが、様々なゲームで複数言語へのローカライズをされているかと思います。
ローカライズした言語の中に問題のある単語を見つけるのは、その言語話者しかわからない場合もあるため、容易ではありません。コンテントモデレーターというAPIがあり、数十言語に対応した学習モデルがあるので、問題がありそうな単語を見つけることも簡単にできるようになっています。

可能なところから自動化して、人間はクリエイティブな仕事をするというのをぜひ実現していただければと思います。

OpenAIのAPIがAzure上で利用可能に


ちょっとだけ号外です。Azure OpenAI Serviceというのが昨日GAし、Azureから簡単に使えるようになりました。OpenAIのAPIサービスです。有名なところでGPT-3、Codex、DALL-Eなどがありますが、最近流行っているChatGPTのもとになっているものです。これらのAPIがAzureから簡単に呼べるようになっていますので、Webに組み込む、ゲームに組み込む、ChatGPT的なことができたり、台みたいなものを組み込むということができるかと思いますので、こういうところもぜひご検討いただければと思います。

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