サイバーエージェントのゲーム・エンターテイメント事業部(SGE)初開催のカンファレンス「CyberAgent Game Conference 2024」が、2024年3月7日に開催されました。
アプリボット クライアントエンジニアの若林 泰雅氏による「大規模開発を効率化させるUnityのツール紹介」と題したセッションでは、『FINAL FANTASY VII EVER CRISIS』(以下、『FF7EC』)で使用している開発と運用の量産を効率よくするUnityを使ったツールを紹介しました。
サイバーエージェントのゲーム・エンターテイメント事業部(SGE)初開催のカンファレンス「CyberAgent Game Conference 2024」が、2024年3月7日に開催されました。
アプリボット クライアントエンジニアの若林 泰雅氏による「大規模開発を効率化させるUnityのツール紹介」と題したセッションでは、『FINAL FANTASY VII EVER CRISIS』(以下、『FF7EC』)で使用している開発と運用の量産を効率よくするUnityを使ったツールを紹介しました。
TEXT / じく
EDIT / 酒井 理恵
『FF7EC』では武器やマテリアが多数存在し、装備を付け替えるとキャラクターのモーションも変わります。これらを漏れなくチェックし、かつ、バトルやストーリーにおけるグラフィック品質も保つ必要があります。そこで、工程の簡易化のために、開発ツールを作成して開発全体の効率化を実現しました。
スマートフォンでの最終確認が必要なことが多いことから、ツールは開発環境のみUnityエディタとスマートフォンの双方から確認可能であることを基本思想としています。
今回紹介する開発ツールは以下の8つですが、使用したツールはここにある限りではありません。
SkillViewerでは、バトルのスキルやリミットブレイクなどの演出の一連の流れをチェックできます。
左側の一覧からスキルを選択してクリックすると、中心にいるキャラクターのスキル演出を再生できます。検索機能もあり、スキルの種類・属性・アセットの名前などで検索できます。
Unityエディタ版では、スキルの演出用タイムラインをリアルタイムに編集・反映できます。
「Data」と書かれたボタンを押すことで専用ウィンドウが開き、エフェクトやSEの追加・削除、ヒット判定タイミング調整が可能です。これによりイテレーションを早められます。
アセットを読み込むと、ウェアと呼ばれるキャラクターの衣装や武器の組み合わせ、キャラクターの配置を自由に変更できます。
SkillViewerには描画負荷を視覚的に確認できるOverDrawモードを実装しています。
色と数値はスキルごとにレギュレーションが決まっており、リミットブレイクなどの豪華なスキルほど閾値が高く設定されています。
DungeonViewerは、指定したダンジョンの設定を呼び出し、ストーリーの場面の再生確認ができます。
ストーリー内のダンジョンのほかに、アナザーダンジョン/クライシスダンジョンやウォークスルーで自由にダンジョン内を移動できるモードもあります。キャラクター同士の掛け合いもここで確認でき、言語の選択が可能になっています。
Unityエディタ版では、ダンジョン情報を確認するDungeonToolWindowを利用できます。
DungeonToolWindowは、現在使っているカメラの情報やタップ位置への移動に使うマウス座標を確認できます。また、ナビゲーションメッシュの再ビルドやLuaスクリプトの再生も可能です。
これらDungeonViewerとDungeonToolWindowを組み合わせて、ダンジョンの制作を行っています。
CutSceneViewerは、ストーリーの合間やバトル内でのボス登場演出で再生されるカットシーンを確認できます。
カットシーンは動画ではなく、カメラやキャラクターのモーションをリアルタイムで再生しています。一時停止をしてシークバーを移動させることで、その瞬間のオブジェクトの状況を確認できます。
MovieViewerは動画データを検索して再生する機能です。
『FF7EC』では動画再生にCRIWAREを採用しているため、CRI動画を一覧して確認・再生できます。また、画質設定に合わせた動画の画質を選ぶことができます。
AssetTurnTableViewerは武器の表示確認とサムネイル撮影に使用します。
左画像のような画面で実際の武器一覧と同じ状態で素材を回転表示したり、サムネイル用のスクリーンショットを撮影したりできる機能です。
MasterBattleは、マスターデータを元にカスタムバトルができる機能です。戦う敵や味方のスキル、BGMや背景など細かい設定も変更できます。
以降で紹介するCharacterWindowやBattleInfoWindowを使用することで、高速な作業を実現できます。またサーバーの時間に縛られないため、イベントでしか出ないキャラの確認をイベント開催期間外でも行えます。
敵の選択画面では、実際に戦う敵を選択しレベルの変更が可能です。
キャラクターの選択画面では、レベルや武器を変更できます。
キャラクターのレベルはもちろん、メイン武器やアビリティ武器、マテリアなどの装備とそのレベルやレアリティを変更できます。また、リミットブレイクや召喚獣といった特別なスキルも同様に変更可能です。
MasterBattleは、主にレベルデザイン班のバランス確認やバトルにおける不具合の調査に使われています。通常フローと異なり、バトル開始までの画面移動が一画面で完結するため、すぐにバトルを開始できます。
ボス敵などの複数ウェーブの最後にいる敵だけを確認したい場合にも、時間制限がないため何度も繰り返して調査や調整でき便利です。
BattleInfoWindowは、バトル全体の情報を見ることができるデバッグウィンドウです。このウィンドウ自体はUnityエディタ版限定ですが、同じような情報をスマートフォンでも確認できます。
BattleInfoWindowではバトル全体のロジックの流れを確認できます。実行中のスキルやその対象だけでなく、一時停止やターゲット選択の変更など、さまざまなロジックの状態を確認できます。
他にもMasterBattleだけでなく実際のクエストなどでも使用可能で、その際はどのマスターのバトルなのかを一目で確認できます。
CharacterWindowは、バトル中のキャラクター情報が見られるウィンドウです。HPや攻撃力などの基礎パラメータの確認や、状態異常・バフ・デバフなどの追加効果の状態や残り時間も確認できます。
また、所持しているスキルの発動やダメージチート、状態異常付与などのさまざまなデバッグコマンドを使用できます。
CharacterWindow自体はUnityエディタ版限定ですが、一部の機能は「Unity Debug Sheet」というOSSを使ってスマートフォンからでも確認や実行を可能にしています。
『FF7EC』では開発時から運用を見越したツール開発をすることで、量産をスムーズなものにすることができました。紹介したツールはごく一部で、その他にもたくさんのツールが開発を支えているとのこと。
最後に若林氏は、今後も新しく必要になったツールの作成はもちろん既存のツールのアップデートも欠かさずしていきたい、とセッションを締めくくりました。
大規模開発を効率化させるUnityのツール紹介【CAGC2024】『FINAL FANTASY VII EVER CRISIS』公式サイトゲーム会社で16年間、マニュアル・コピー・シナリオとライター職を続けて現在フリーライターとして活動中。 ゲーム以外ではパチスロ・アニメ・麻雀などが好きで、パチスロでは他媒体でも記事を執筆しています。 SEO検定1級(全日本SEO協会)、日本語検定 準1級&2級(日本語検定委員会)、DTPエキスパート・マイスター(JAGAT)など。
西川善司が語る“ゲームの仕組み”の記事をまとめました。
Blenderを初めて使う人に向けたチュートリアル記事。モデル制作からUE5へのインポートまで幅広く解説。
アークライトの野澤 邦仁(のざわ くにひと)氏が、ボードゲームの企画から制作・出展方法まで解説。
ゲーム制作の定番ツールやイベント情報をまとめました。
CEDEC2024で行われた講演レポートをまとめました。
BitSummitで展示された作品のプレイレポートをまとめました。
ゲームメーカーズ スクランブル2024で行われた講演のアーカイブ動画・スライドをまとめました。
CEDEC2023で行われた講演レポートをまとめました。
東京ゲームショウ2023で展示された作品のプレイレポートやインタビューをまとめました。
UNREAL FEST 2023で行われた講演レポートをまとめました。
BitSummitで展示された作品のプレイレポートをまとめました。
ゲームメーカーズ スクランブルで行われた講演のアーカイブ動画・スライドをまとめました。
UNREAL FEST 2022で行われた講演レポートやインタビューをまとめました。
CEDEC2022で行われた講演レポートをまとめました。