自社ツールが可能にする開発効率化の8つの観点──「大規模開発を効率化させるUnityのツール紹介」セッションレポート【CAGC2024】

2024.03.19
注目記事ゲームの舞台裏講演レポートCyberAgent Game Conference 2024Unity
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

サイバーエージェントのゲーム・エンターテイメント事業部(SGE)初開催のカンファレンス「CyberAgent Game Conference 2024」が、2024年3月7日に開催されました。

アプリボット クライアントエンジニアの若林 泰雅氏による「大規模開発を効率化させるUnityのツール紹介」と題したセッションでは、『FINAL FANTASY VII EVER CRISIS』(以下、『FF7EC』)で使用している開発と運用の量産を効率よくするUnityを使ったツールを紹介しました。

TEXT / じく

EDIT / 酒井 理恵

目次

なぜ開発ツールを作成するのか?

『FF7EC』では武器やマテリアが多数存在し、装備を付け替えるとキャラクターのモーションも変わります。これらを漏れなくチェックし、かつ、バトルやストーリーにおけるグラフィック品質も保つ必要があります。そこで、工程の簡易化のために、開発ツールを作成して開発全体の効率化を実現しました。

スマートフォンでの最終確認が必要なことが多いことから、ツールは開発環境のみUnityエディタとスマートフォンの双方から確認可能であることを基本思想としています。

左がエディタ、右がスマートフォン。同じUI・操作感で使用できる

今回紹介する開発ツールは以下の8つですが、使用したツールはここにある限りではありません。

SkillViewer

SkillViewerでは、バトルのスキルやリミットブレイクなどの演出の一連の流れをチェックできます。

左側の一覧からスキルを選択してクリックすると、中心にいるキャラクターのスキル演出を再生できます。検索機能もあり、スキルの種類・属性・アセットの名前などで検索できます。

味方キャラのスキルやリミットブレイクといった特別なスキルの演出を確認できる他、敵キャラのスキルも確認可能

Unityエディタ版では、スキルの演出用タイムラインをリアルタイムに編集・反映できます。
「Data」と書かれたボタンを押すことで専用ウィンドウが開き、エフェクトやSEの追加・削除、ヒット判定タイミング調整が可能です。これによりイテレーションを早められます。

アセットを読み込むと、ウェアと呼ばれるキャラクターの衣装や武器の組み合わせ、キャラクターの配置を自由に変更できます。

敵や背景を変更することも可能で、さまざまな組み合わせで演出を確認できる

SkillViewerには描画負荷を視覚的に確認できるOverDrawモードを実装しています。

負荷の高さを色で表現し、パーティクル数なども表示。負荷を意識したアセット作成ができる

重なったポリゴンの数によって色が変化し、負荷が高くなるにつれてグレーから黄色へと変わる

パーティクルシステム数やポリゴン数を「瞬間最大値」「1秒間の平均値」「そのフレームでの数」で表示

色と数値はスキルごとにレギュレーションが決まっており、リミットブレイクなどの豪華なスキルほど閾値が高く設定されています。

DungeonViewer

DungeonViewerは、指定したダンジョンの設定を呼び出し、ストーリーの場面の再生確認ができます。

ストーリー内のダンジョンのほかに、アナザーダンジョン/クライシスダンジョンやウォークスルーで自由にダンジョン内を移動できるモードもあります。キャラクター同士の掛け合いもここで確認でき、言語の選択が可能になっています。

Unityエディタ版では、ダンジョン情報を確認するDungeonToolWindowを利用できます。

DungeonToolWindowは、現在使っているカメラの情報やタップ位置への移動に使うマウス座標を確認できます。また、ナビゲーションメッシュの再ビルドやLuaスクリプトの再生も可能です。

これらDungeonViewerとDungeonToolWindowを組み合わせて、ダンジョンの制作を行っています。

CutSceneViewer

CutSceneViewerは、ストーリーの合間やバトル内でのボス登場演出で再生されるカットシーンを確認できます。

カットシーンは動画ではなく、カメラやキャラクターのモーションをリアルタイムで再生しています。一時停止をしてシークバーを移動させることで、その瞬間のオブジェクトの状況を確認できます。

MovieViewer

MovieViewerは動画データを検索して再生する機能です。

『FF7EC』では動画再生にCRIWAREを採用しているため、CRI動画を一覧して確認・再生できます。また、画質設定に合わせた動画の画質を選ぶことができます。

AssetTurnTableViewer

AssetTurnTableViewerは武器の表示確認とサムネイル撮影に使用します。

右の画像が出力された画像。武器のサムネイル作成を簡単に行える

左画像のような画面で実際の武器一覧と同じ状態で素材を回転表示したり、サムネイル用のスクリーンショットを撮影したりできる機能です。

MasterBattle

MasterBattleは、マスターデータを元にカスタムバトルができる機能です。戦う敵や味方のスキル、BGMや背景など細かい設定も変更できます。

以降で紹介するCharacterWindowやBattleInfoWindowを使用することで、高速な作業を実現できます。またサーバーの時間に縛られないため、イベントでしか出ないキャラの確認をイベント開催期間外でも行えます。

敵の選択画面では、実際に戦う敵を選択しレベルの変更が可能です。

マスターに設定されていれば、どんな敵とも戦える。画面下部にはパラメータの数値が表示される

キャラクターの選択画面では、レベルや武器を変更できます。

キャラクターのレベルはもちろん、メイン武器やアビリティ武器、マテリアなどの装備とそのレベルやレアリティを変更できます。また、リミットブレイクや召喚獣といった特別なスキルも同様に変更可能です。

MasterBattleは、主にレベルデザイン班のバランス確認やバトルにおける不具合の調査に使われています。通常フローと異なり、バトル開始までの画面移動が一画面で完結するため、すぐにバトルを開始できます。

通常であれば「タイトル→ホーム画面→コンテンツ画面→バトル選択→編成」とたどってバトルになる

ボス敵などの複数ウェーブの最後にいる敵だけを確認したい場合にも、時間制限がないため何度も繰り返して調査や調整でき便利です。

BattleInfoWindow

BattleInfoWindowは、バトル全体の情報を見ることができるデバッグウィンドウです。このウィンドウ自体はUnityエディタ版限定ですが、同じような情報をスマートフォンでも確認できます。

BattleInfoWindowではバトル全体のロジックの流れを確認できます。実行中のスキルやその対象だけでなく、一時停止やターゲット選択の変更など、さまざまなロジックの状態を確認できます。

ロジックの流れより詳細なスキル情報を確認することも可能

他にもMasterBattleだけでなく実際のクエストなどでも使用可能で、その際はどのマスターのバトルなのかを一目で確認できます。

CharacterWindow

CharacterWindowは、バトル中のキャラクター情報が見られるウィンドウです。HPや攻撃力などの基礎パラメータの確認や、状態異常・バフ・デバフなどの追加効果の状態や残り時間も確認できます。

また、所持しているスキルの発動やダメージチート、状態異常付与などのさまざまなデバッグコマンドを使用できます。

CharacterWindow自体はUnityエディタ版限定ですが、一部の機能は「Unity Debug Sheet」というOSSを使ってスマートフォンからでも確認や実行を可能にしています。

『FF7EC』では開発時から運用を見越したツール開発をすることで、量産をスムーズなものにすることができました。紹介したツールはごく一部で、その他にもたくさんのツールが開発を支えているとのこと。

最後に若林氏は、今後も新しく必要になったツールの作成はもちろん既存のツールのアップデートも欠かさずしていきたい、とセッションを締めくくりました。

大規模開発を効率化させるUnityのツール紹介【CAGC2024】『FINAL FANTASY VII EVER CRISIS』公式サイト

© SQUARE ENIX Powered by Applibot, Inc.
CHARACTER DESIGN: TETSUYA NOMURA / CHARACTER ILLUSTRATION: LISA FUJISE

じく

ゲーム会社で16年間、マニュアル・コピー・シナリオとライター職を続けて現在フリーライターとして活動中。 ゲーム以外ではパチスロ・アニメ・麻雀などが好きで、パチスロでは他媒体でも記事を執筆しています。 SEO検定1級(全日本SEO協会)、日本語検定 準1級&2級(日本語検定委員会)、DTPエキスパート・マイスター(JAGAT)など。

関連記事

「Unity 6」で登場する「VFX Graph」新機能について、Unity Japanが解説動画を公開
2024.10.01
ゲームプログラミングにおけるデザインガイド、ユニティ・テクノロジーズ・ジャパンが日本語版の電子書籍を無料公開
2024.09.30
Unity公式によるアーティスト向け2Dゲーム開発ガイド、日本語版電子書籍が無料公開中
2024.09.25
「Unity 6」の全世界リリース日が10/17に決定。リアルタイムシネマティックデモ『Time Ghost』も初披露
2024.09.19
Unity Technologies、ゲーム領域の「Unity Runtime Fee」の導入撤回など料金体系の改定を発表。Unity Personalは適用範囲が拡大した一方、Pro/Enterpriseは値上げへ
2024.09.13
Unityで開発しているゲームで「スパイク」が起きてしまったら?ロジカルビートが対処方法をブログで解説
2024.09.09

注目記事ランキング

2024.09.28 - 2024.10.05
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

レンダリング(Rendering)
レンダリング コンピューターグラフィックスにおける、各種データ(3Dモデルなど)をプログラムを用いて計算し、画像として表示すること。レンダリングを行うプログラムをレンダラー(Renderer)と呼ぶ。
VIEW MORE

Twitterで最新情報を
チェック!