画像認識を使い,プレイヤーの視点でガチャの排出率をチェックする。GTMF2017の講演をレポート
アプリ・ゲーム業界向けの開発&運営ソリューション総合イベント「Game Tools & Middleware Forum 2017 Tokyo(GTMF2017)」が本日(2017年7月14日),東京都の秋葉原UDXで開催された。「ガチャ出現をイメージベースで自動テスト」と題された講演では,画像認識技術を応用し,ソーシャルゲームのガチャをテストするというユニークな手法が紹介されたので,本稿でレポートしよう。
講演では,TestPlant 日本代表事務所のレナタ・ナウルザリエバ氏と,丸紅情報システムズ 製造ソリューション事業本部の玉置卓也氏,加藤剛宏氏が登壇し,TestPlantのソフトウェア品質検証ツール「eggPlant」と,丸紅情報システムズのガチャ検証ツール「ガチャシーンセレクター」の連携活用を解説した。
ソーシャルゲームに欠かせない存在となっているガチャは,ひと言で言えば「ランダムにアイテムを提供する」システムだ。ガチャを運用するうえで大切になるのが「設定した確率の通りにアイテムが排出されているか」という観点での検証である。
乱数の偏りやプログラムのミスなどで,構想どおりにアイテムが出ないことも起こり得るからだ。
こうした検証は運営側でログを取る手法が一般的だが,「eggPlant」+「ガチャシーンセレクター」では1人のユーザーとして自動でガチャを回し,その結果を画像認識で解析する。ユーザー体験(User Experience,以下UX)ベースでガチャの確率を検証できるのだ。
まずは「eggPlant」がどんなツールであるかについて,ナウルザリエバ氏から解説が行われた。「eggPlant」は,ソフトウェアのテストを自動で行うツールだ。ソフトウェアのテストにはさまざまな手法があるが,「eggPlant」は画像認識とOCR(光学文字認識)が使われている。
アプリケーションが入った端末と,「eggPlant」が動作しているPCを接続すると,テスト対象の端末の画面が表示され,テスト対象の端末に対して画像認識・OCRベースでコマンドを送ることができる。スクリプトで定められた手順通りにアイコンをクリックしたり,画面をスワイプするなどの動作も可能だ。リモートデスクトップによる外部からの操作をイメージすれば分かりやすいかもしれない。「eggPlant」の場合,操作対象となるアイコンやボタンを画像認識し,オートで操作してくれるのだ。
この手法だと,ユーザーがするのと同じ操作でテストができ,対象となるソフト側に手を加える必要がない。また,端末側のCPUやメモリへの負担も非常に小さい。実際にユーザーが使うのと同様の環境でテストを進められるというわけだ。
1台のPCから複数の端末を操作することも可能で,会場では「2台の端末でオンラインポーカーをそれぞれ起動。一方が作ったルームにもう一方が接続し,プレイした後にルームを退出,ソフトを終了させる」といった一連の動作を自動で行うデモンストレーションが披露された。
続いては,玉置氏と加藤氏が「eggPlant」と「ガチャシーンセレクター」の連携を紹介した。まず「eggPlant」が自動操作でガチャを引き,結果(カード)が表示されている画面をキャプチャ。「ガチャシーンセレクター」は,自身の持つカードの絵柄と,結果画面を画像類似度で判定し,排出確率の算出を行う。
ガチャの確率を検証するには,システム側の排出ログを参照する手法が一般的だが,「ガチャシーンセレクター」の場合は,画像認識を使ったイメージドリブンであること,そしてUXベースで排出結果を見られる点が特徴だという。つまり,ユーザーが使うのと同じ端末から,ユーザーが遊ぶのと同じバージョンのソフトを起動し,1人のユーザーとしての排出結果を見ることができるというわけだ。
丸紅情報システムズでは,同様の画像認識技術を用いた「シナリオテスト検証ソリューション」の開発も進めているという。これは,「正しいシナリオ(メッセージ)と画像が出力されているか否か」を自動判定するというもの。「eggPlant」がプレイを進めて画面をキャプチャし,シナリオテスト検証ソリューションが,キャプチャ画面の文字を認識してテキスト化したうえで,画像と文字が正しく出力されているかどうかのチェックを行うという。通常は文字の背景にグラデーションがかかっていたりすると認識が難しいが,このソリューションではかなりの精度で文字を読み取れるとのこと。
チェックやテストといった工程ではマンパワーが必要になるのが常だが,進化を続ける画像認識でどこまでの省力化が図れるのか,今後が楽しみに感じられる講演だった。
講演では,TestPlant 日本代表事務所のレナタ・ナウルザリエバ氏と,丸紅情報システムズ 製造ソリューション事業本部の玉置卓也氏,加藤剛宏氏が登壇し,TestPlantのソフトウェア品質検証ツール「eggPlant」と,丸紅情報システムズのガチャ検証ツール「ガチャシーンセレクター」の連携活用を解説した。
ソーシャルゲームに欠かせない存在となっているガチャは,ひと言で言えば「ランダムにアイテムを提供する」システムだ。ガチャを運用するうえで大切になるのが「設定した確率の通りにアイテムが排出されているか」という観点での検証である。
乱数の偏りやプログラムのミスなどで,構想どおりにアイテムが出ないことも起こり得るからだ。
こうした検証は運営側でログを取る手法が一般的だが,「eggPlant」+「ガチャシーンセレクター」では1人のユーザーとして自動でガチャを回し,その結果を画像認識で解析する。ユーザー体験(User Experience,以下UX)ベースでガチャの確率を検証できるのだ。
まずは「eggPlant」がどんなツールであるかについて,ナウルザリエバ氏から解説が行われた。「eggPlant」は,ソフトウェアのテストを自動で行うツールだ。ソフトウェアのテストにはさまざまな手法があるが,「eggPlant」は画像認識とOCR(光学文字認識)が使われている。
アプリケーションが入った端末と,「eggPlant」が動作しているPCを接続すると,テスト対象の端末の画面が表示され,テスト対象の端末に対して画像認識・OCRベースでコマンドを送ることができる。スクリプトで定められた手順通りにアイコンをクリックしたり,画面をスワイプするなどの動作も可能だ。リモートデスクトップによる外部からの操作をイメージすれば分かりやすいかもしれない。「eggPlant」の場合,操作対象となるアイコンやボタンを画像認識し,オートで操作してくれるのだ。
この手法だと,ユーザーがするのと同じ操作でテストができ,対象となるソフト側に手を加える必要がない。また,端末側のCPUやメモリへの負担も非常に小さい。実際にユーザーが使うのと同様の環境でテストを進められるというわけだ。
1台のPCから複数の端末を操作することも可能で,会場では「2台の端末でオンラインポーカーをそれぞれ起動。一方が作ったルームにもう一方が接続し,プレイした後にルームを退出,ソフトを終了させる」といった一連の動作を自動で行うデモンストレーションが披露された。
続いては,玉置氏と加藤氏が「eggPlant」と「ガチャシーンセレクター」の連携を紹介した。まず「eggPlant」が自動操作でガチャを引き,結果(カード)が表示されている画面をキャプチャ。「ガチャシーンセレクター」は,自身の持つカードの絵柄と,結果画面を画像類似度で判定し,排出確率の算出を行う。
ガチャの確率を検証するには,システム側の排出ログを参照する手法が一般的だが,「ガチャシーンセレクター」の場合は,画像認識を使ったイメージドリブンであること,そしてUXベースで排出結果を見られる点が特徴だという。つまり,ユーザーが使うのと同じ端末から,ユーザーが遊ぶのと同じバージョンのソフトを起動し,1人のユーザーとしての排出結果を見ることができるというわけだ。
丸紅情報システムズでは,同様の画像認識技術を用いた「シナリオテスト検証ソリューション」の開発も進めているという。これは,「正しいシナリオ(メッセージ)と画像が出力されているか否か」を自動判定するというもの。「eggPlant」がプレイを進めて画面をキャプチャし,シナリオテスト検証ソリューションが,キャプチャ画面の文字を認識してテキスト化したうえで,画像と文字が正しく出力されているかどうかのチェックを行うという。通常は文字の背景にグラデーションがかかっていたりすると認識が難しいが,このソリューションではかなりの精度で文字を読み取れるとのこと。
チェックやテストといった工程ではマンパワーが必要になるのが常だが,進化を続ける画像認識でどこまでの省力化が図れるのか,今後が楽しみに感じられる講演だった。