ゲームAIを専業とするモリカトロン株式会社様がこの度、AIを応用したテスト(いわゆる第三者検証)を請け負う『モリカトロン新宿テストLab』を立ち上げるということで、ご縁があり12/7のプレオープンイベントにご招待いただきました。
モリカトロンの森川幸人氏と、スクウェア・エニックスの三宅陽一郎氏による、ゲームAIに関する講演内容を中心に書かせていただきます。
モリカトロン株式会社は、『がんばれ森川君2号』『ジャンピング・フラッシュ*1』などで知られる森川幸人氏を中心に昨年立ち上げられた、"日本初のゲーム専用AIの会社"で、モノビットエンジン株式会社を含む「モノビット・モリカトロン ホールディングス株式会社」の傘下*2の会社です。
「ゲームAI」と「第三者検証」、簡単には結びつかない言葉かも知れません。ですが、まずゲームの制作に関わるAIの適用範囲がとても広く(後述の森川氏・三宅氏の講演参照)、その中にテスト自動化への利用があります。ここ2〜3年、CEDECなどでいくつも事例が発表されています。
モリカトロン様も、独自の自動化ツール開発を行ない、ただし、それをツールとして売るのではなく*3、手動テストのエキスパートと組み合わせて効率を上げた形で提供できる「第三者検証」という形を選択されたようです。
自動テストは、どうしてもリグレッションテストのウェイトが大きくなり、新規のバグ発見には余り効果が出ないものです。単純な、機械でもできる種類のテストは自動化し、人間はより高度な探索的テストなどに注力するのがセオリーであり、そこまでパッケージングしたサービスが「モリカトロン新宿テストLab」ということでしょう。
前置きが長くなりましたが、以下、イベントの講演内容のメモです。
開催挨拶
モリカトロン代表取締役の本城氏ご挨拶。上と重複する部分もあり割愛しますが(すみません…)、「あらゆるゲーム制作に役立つAI」のひとつとして、品質管理に活かす事業を、というのがはじまりだったそうです。
続いて、同取締役の成沢氏より。元スクウェア・エニックスでプロデューサーをしていた際、現場では様々なツールが開発され、ゲーム制作に利用されていることを見てきており、プロデューサー目線で見ても役立ちそう、他にも転用できそう、と思っていたので、今回のようなツールやサービスを広げて行きたい、とのこと。
20分でわかった気になる ゲームAI講座
モリカトロンAI研究所所長 森川幸人氏の講演。ゲームAIは門外漢なので、間違ってメモしていたらごめんなさい。
- 第三次AIブーム(deep learningあたり)以降、AI関連の話が多く来るようになったので会社にしたのがモリカトロン
- 『がんばれ森川君2号』は第二次AIブーム。このときは学者の中でのブームだったが、第三次はGoogleなども参入してカスタマーに広がっており本物ではないか
- AIの外科手術医。ゲーム制作の後工程になって「AIで面白くできないか」などの依頼が来て、キャラクタの行動判断などをAIに載せ替えたり
- AIモデルにはいろいろなモデルがある。deep learningだけでない。ふさわしいものを選別する必要がある
- ニューラルネットワーク:脳の仕組みを数理モデルにしてみたもの
- 正しいAI、楽しいAI
- 正しい:医療、金融、囲碁、自動運転 → これらは、ほぼほぼAIに置き換わるはず
- 面白い:ゲーム、小説 → 「面白い」の本質がわからないので難しい
- 中のAI、外のAI
- 中のAI:キャラの行動判断、経路探索など。それなりに進んでいる。ゲームごとに特徴的
- 外のAI:メタAI、イベントの進行、QA、デバッグ。これから必要となってくる。どのゲームでも共通的に使える、発展できる
- 中のAIの例
- キャラのパラメタ、ショップの売り物
- カードデッキの最適化:組み合わせが増え、人間がやる限界に来ている
- キャラの行動判断:人間の発想に限界があるのでAIに期待できる
- ユーザにあわせた会話を自動生成:ユーザごとにカスタマイズされた会話、歌とか
- 経路を設計する
- 世界やステージの自動生成。世界観を指定すれば、AIが生成してくれる
- キャラクターを自動生成。属性を入れたらAIが自動生成。萌キャラ生成サイト(中国)
- 仮想アイドルを自動生成
- 外のAIの例
- ユーザに合わせた「接待」をする。ユーザに合わせた難易度調整。敵の数や強さとか。メタAIと呼ばれるが、森川さんとしては「ディレクターAI」と呼びたい
- 品質管理、バグ摘出
- 正しい・楽しい × 中・外 のマトリクス
- 正しい側の、中・外の中間に「データ解析AI」がある。まずここから新宿テストLabでは扱う
- 現在、まずは汎用的なツール化をしているところ
- AIが得意なこと
- 画像認識。見分ける。人間でも意外と難しい例:文鳥とイチゴ、フクロウとりんご、チワワとマフィン、トイプードルと唐揚げなど
- レンブラントの偽物をつくる
- コピーライティング
- キーワードから文を自動生成してくれる
- ウェザーロイドAiri(まだ動きは人間モーキャプ)
- フェイク・オバマ
- AIアナウンサー(中国)
- 苦手なこと
- 大阪弁のような、同意味の言葉、一般常識がないと読み取れない
- 全部ひらがなの文。「せいじかのおしょくじけん」「うみにいるかのたいぐん」は一般的な知識の下地がないと間違える
- 雑談が難しい
- その他の事例
- Grand Theft AutoをAI自動運転のシミュレータに使う。ゲーム → AI → 現実世界。GTAにあるまじき安全運転
- 先読み。二人の人物が写ってる写真から、その後、ハグするか握手するか殴り合うとかを予測
- 手書き数字の類推。1文字を元に、同じ特徴の1〜10を作り出す
見覚えのある事例もあったのですが、全部のリンクを探しきれておらず、このまま公開します。追々時間があったら追加していくかも知れません。
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
続いて、株式会社スクウェア・エニックス 三宅陽一郎氏の講演。こちらも事例のリンクを探しきれておらず。
www.slideshare.net
- ゲームの中のAI
- メタAI
- キャラクターAI
- ナビゲーションAI
- ここ15年くらい研究され、使われている
- ゲームの外のAI
- 開発工程を助ける
- バランス調整
- 可視化
- シミュレーション
- データマイニング
- 時系列では、ナビゲーションAI、キャラAI、メタAI(2007ごろ)、外のAI(2015ごろ)の順にできてきた
- 中のAIは、ゲーム機内で動かすものという制限、ゲーム固有のものである等、あまりノウハウが外に出せない
- 外のAIは共通化、社外での研究開発もできるので、最近盛り上がってる
- QA、品質保証。テスターをAIに置き換える動き。ソシャゲの複雑化、オープンワールドのテストなどは、人間がやる限界を超えている
- 中:人力。Scripted AI。人力+AI技術
- 外:今はまだ、ほぼ人力だが、これにAIを入れていく
- 出ている事例では20-30%をAIに置き換え。セガさんのオートリプレイで40%くらい置き換えて一億円くらいの効果
- 50%くらい置き換えられるようになるのでは
- ゲームの中に手を入れるのでなく、ゲームの外(ユーザ視点・操作)からのI/Oだけでテストするようになる。自動プレイング
- ニューラルネット、機械学習、強化学習
- ニューラルネットワーク:どの敵から攻撃するか、学習させる
- 強化学習:行動の結果を取って学習
- 遺伝的アルゴリズム:集団をかしこくする。『GA Racer』『アストロノーカ*4』
- NEAT: ニューラルネットワーク+遺伝的アルゴリズム
- 機械学習:ユーザのログから学習する。『FORZA motorsport』
- 『Assassin's Creed Origins』
- オープンワールドのマップ検証。オブジェクト500万個の位置関係を検証するAI、placement metrics。夜間に検証して翌朝レポートしてくれる
- なんとなく安心して出荷できる
- 負荷テスト、telemetry、負荷が高いところをヒートマップにしてレポート
- 『Thief』
- 『Horizon Zero Dawn』
- 人力でビジュアライゼーションのテスト
- テスターさんの行動ログと見つけたバグの集約、ヒートマップ、クリックすると動画再生
- 統計情報を可視化してくれるAI
- 夜は自動テストAIがオープンワールドを探索
- 『Battlefield』
- AI向けの荒い解像度の画像を入力にして、AIが行動判断、ゲームコントローラーに出力
- 強化学習
- たぶんこの話 → AIエージェントに「バトルフィールド 1」のプレイを教えるには?
- 離脱率
- マッチングが正しく行われているか。選択アルゴリズムの補正。勝率を50%に近づける
- 『Halo 4』
- 実際にプレイヤーが死ぬ場所のヒートマップを作る。テレメトリでレベルデザイナの意図通りの難易度になっているかを検証できる
- まとめ
- 中のAI:コンテンツ。作品を作っている(作品の一部である)。自律的、より動的なコンテンツ
- 外のAI:サイエンス。動的なコンテンツを外から抑え込む
- ゲーム向けは、先行研究が少ない、アカデミックな知識を援用する場合が多い、個別課題が多い、統一的に解決するには研究期間が必要、共通フレームワークがない
- 共同研究しやすい、直接競合しにくい
三宅氏はちょうど"SIGGRAPH ASIA"でも講演されており、こちらに記事が出ているので参考になるはずです。
モリカトロンではこれをやります!
最後に、モリカトロン 桑野氏より、新宿テストLabのサービスについてのお話。
- JSTQBのテスト手法を用いた、ゲームデバッグ&テスティング
- バグを出すことに特化した、エキスパートによる専門チームの設立
- エキスパートチームによるインディーズ支援
- QAエンジニアを配置、開発初期から自動化を見据えたご提案
- モリカトロン独自の自動化ツールの開発
- テスト工程に必要な各種ツール開発
所感
AIや機械学習をテスト自動化に活かす試みは多方面で進んでいますが、元々難しいと聞いていたゲーム分野での現状をまとめて聞くと、これまでなんとなく他人事のように思えていた事例が、とても現実的なものに感じられました。
研究開発費だけでなく、エンジンを内製していないととても真似できない話が多いのは確かなのですが、自動リプレイ+ビジュアライゼーションだけでも実現できれば、十分価値のある情報が出せそうだということなどです。 少し、数年前のモバイルアプリのUIテスト自動化と状況が似ているかも知れません。
まだまだ、完全自動化という段階ではないとは思うのですが、冒頭に書いたようにうまく機械と人間とで役割分担することでうまくまわる箇所は多いのではないかと思います。 その点、このモリカトロン新宿テストLabの取り組みは現時点での最適解かも知れず、半年、一年後にまたお話を伺いたいです。