ニュース

【CEDEC2017】「龍が如く」が毎年発売される理由の一端はここにある?

開発者の帰宅後に、動いていないPCとPS4で自動プレイテストを実施

8月30日~9月1日 開催

会場:パシフィコ横浜

講演を行なった、セガゲームス 第1CSスタジオ リードプログラマーの阪上直樹氏

 ゲームを中心とするコンピュータエンターテインメント開発に関する話題を取り扱うカンファレンス「CEDEC2017」において、セガゲームスは「『龍が如く』を面白くするための高速デバッグログ分析と自動化」と題した講演を行なった。

 「龍が如く」スタジオでは、基本的には約1年に1タイトルを発売するというハイペースを保っている。このハードな制作体制の中、制作の効率化などもさることながら、一定のクオリティを保つためのデバッグ体制などはどのようになっているのだろうか?

 講演を行なったのは、「龍が如くスタジオ」専属のQAエンジニアを務め、開発スタッフを影ながら支えている第1CSスタジオ リードプログラマーの阪上直樹氏だ。元々ゲームプログラマで、ゲームのことを知り尽くした上でクオリティの向上を目指している。

 坂上氏は「龍が如くスタジオ」の開発スケジュールから「早い段階から(デバッグなどの)運用に入ります。準備を早くしないと間に合わない」と言い、タイミングによっては、「プロジェクトが立ち上がりそう?」という段階から準備を始めるのだという。

 ゲームの開発において様々な側面でデバッグは発生するが、発生したデバッグにおけるログはサーバーにより管理されるシステムとなっている。ところがログファイルは膨大すぎて検索が面倒であったり、強制終了するほどではない警告レベルの問題の発生を確認したいといった要望など様々な要望から、ログファイルの分析が必要となる。同時にエラー情報だけでなくゲームの進行状態や経験値の取得情報などもデータ収集することができれば、ゲームバランスを客観的に向上させることができるのではないかと考え始めたという。

 こういったことから「龍が如く 極」ではログ収集サーバーを設置し、デバッグログの管理分析を行なうことに着手する。デバッグログを取ってはいたものの、グラフィックス系のバグであるにもかかわらずスクリーンショットが撮られていなかったり、バージョン情報を手書きで入力したばっかりに間違えて記入していたり、プログラマーによってミスもあったという。こういったことから様々な点で自動化を進めていくことで、ログの管理、分析を行ないやすく整えていった。このログ分析ツールの中には、3Dの可視化できるツールも作成したという。

「龍が如く」スタジオのスケジュール。かなり早い段階から動かないと間に合わないという
開発者からデバッグログの必然性としていろいろな要望が上がってきた
「龍が如く6」のログデータの流れ
現在のデバッグログの流れ

 自動化は様々な分野で行なわれた。パッド入力を自動で行ない、おかしな事象が起きないかをチェックする自動プレイテストも導入。開発者が帰宅した後のPCやPS4を使って、プレイテストを行なったという。

 自動でパッド入力を行なうプログラムは、キー入力をランダムに行なうのではなく(ガチャプレイではない)、プレーヤーが行動しそうなパターンをパスで持っており、そのパスをベースにプログラムが自動入力を行ない、バグが発生しないかチェックする。

 ではその行動パスは誰が作るのかというと、昼の間に開発者が自分でプレイテストを行なったときのデータがそのまま集計され、パスとして管理されるのだという。最終的に「龍が如く6」の開発においては、この自動プレイテストを使用してゲームのメインシナリオをクリアできるようになったというほど精度は高い。今後はこの行動パスを自動的に作ることも考えているという。

 自動プレイテストは、コリジョンチェック(壁などに衝突判定がされていない場合突き抜けたり埋まったりしてしまうため、漏れがないかチェックが必要)にも使用できる。

 この自動テストプログラムは非常に有用で、テストして修正後に再度確認テストを行なうときに使用したり、何度も何度も同じ動作を行なうと発生するバグの検知に使用できるようにしていきたいという。

 このほかにもメインメモリの使用率のチェックの可視化、キャラクターのグラフィックス描画時のVRAMの使用率のチェックなどもグラフで表示。調整しなければならないシーンの算出も行なうこともできる。これらも自動プレイテストのツールとリンクしており、テストを自動化することで効率よくデバッグを行なうことができる。

 このほかにも収集されたデータから、桐生一馬が死んだシーンから難易度チェックを行なったり、経験値の取得がプランナーの想定道理行なわれているのか?のチェックなど、テストプレーヤーのプレイデータからも少佐を行ない、品質向上を行なったという。

 現在これらのツールは、「龍が如く」スタジオのゲームエンジン「ドラゴンエンジン」に統合され、他のプロジェクトでも使用可能となったという。阪上氏は数々の自動化を行なうことで、高度なデバッグログ分析が行なえるようになったとコメント。「自動化の果てにたどり着いたご褒美」と語り講演を締めくくった。

「龍が如く」スタジオの「自動プレイテスト」は、開発者が帰った後のPCやPS4などを利用して行なわれる
ランダム移動に関しては、キー入力が自動で行なわれるが、ただ単なるガチャ押しではなく、ゲーム内容に合ったキー入力が行なわれることで検証の精度をあげている
自動プレイテストの精度が上がったおかげで、なんと! メインシナリオをクリアできてしまったとか
現状プレイするだけで自動入力のパスを制作できるが、それすらも自動化させる開発顔今割れているという
自動プレイテストの導入により、デバックの検出率が上がった
自動プレイテストの運用結果
データからメインメモリ使用率もグラフ化され、チェックすることができる
キャラクターのVRAM使用率を表したグラフ。100%超えているところは調整しなければならないポイント
背景のヒートマップ。ここでもグラフィックスの描画が超えているところをチェック可能になっている
自動プレイテストでシナリオクリア結果
テストプレーヤーのプレイデータから、桐生が死んだマップを表示。中ボスなどとの戦闘で死亡回数が多いのは問題ないが、ザコ敵との戦闘場所で死亡率が高いのは問題と認識され、難易度の見直しが行なわれた
適切に経験値などが取得されているかなどを可視化
リアルタイムログ分析の活用事例