パッケージ
野狗子: Slitterhead公式サイトへ
準備中
準備中
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2024/11/05 17:42

イベント

「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 2024年11月2日,「Unreal Engine」の無料大型勉強会「UNREAL FEST 2024 TOKYO」にて,Bokeh Game Studioが11月8日に発売する「野狗子: Slitterhead」PC / PS5 / Xbox Series X|S / PS4)の開発事例を題材にしたセッションが実施された。

画像集 No.002のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]



左:松下達也氏
右:Stephen Oberheim Jr.氏
画像集 No.001のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]
 本セッションは,前半と後半でそれぞれ別のテーマが取り扱われ,前半ではBokeh Game Studioのプログラマ・松下達也氏が,野狗子に登場する大量のプレイヤーアクションを効率的に実装するために「Gameplay Ability System」を活用した事例を解説した。
 後半では,同スタジオのカットシーンテクニカルアーティスト・Stephen Oberheim Jr.(スティーブン・オーバーハイム Jr.)氏が登壇し,カットシーンの制作において外部協力会社と連携するなど,小規模スタジオならではの工夫やノウハウが紹介された。


大量のプレイヤーアクションの実装を支えるGameplay Ability System(GAS)

 野狗子は,「SILENT HILL」や「SIREN」で知られる外山 圭一郎氏が立ち上げたBokeh Game Studioのデビュー作だ。
 記憶と肉体を失った「憑鬼」となり,人間たちに憑依してその身体を動かし,人間に擬態する「野狗子」を殲滅する3Dバトルアクションアドベンチャーである。

 開発期間は約4年(プロトタイプ:1年,プロダクション:3年)。開発序盤でUE4を使用していたが,開発終盤にUE5へ移行した。

関連記事

「野狗子: Slitterhead」クリエイターの外山圭一郎氏と作曲家の山岡 晃氏にインタビュー。謎多き“ホラー×エンタメ”作品に込めた思いとは

「野狗子: Slitterhead」クリエイターの外山圭一郎氏と作曲家の山岡 晃氏にインタビュー。謎多き“ホラー×エンタメ”作品に込めた思いとは

 Bokeh Game Studioが開発中の「野狗子: Slitterhead」とは,果たしてどんなゲームなのか。同作クリエイターの外山圭一郎氏と,音楽を担当する作曲家の山岡 晃氏に話を聞いた。インパクトのあるタイトル名とトレイラーで話題となった同スタジオのデビュー作は,どういった経緯で誕生し,どんな思いで制作されているのかをお伝えしよう。

[2022/02/24 00:00]
関連記事

分からないからこそ面白く,理解したときの驚きがある。コッソリ覗き見てほしい,謎多きホラーアクション「野狗子: Slitterhead」の楽しみかた

分からないからこそ面白く,理解したときの驚きがある。コッソリ覗き見てほしい,謎多きホラーアクション「野狗子: Slitterhead」の楽しみかた

 混沌の街を舞台に,人に憑依する謎の精神体と人に擬態する怪物が暗闘を繰り広げる「野狗子:Slitterhead」「サイレントヒル」や「SIREN」の外山圭一郎氏による新たなホラーゲームということもあり,注目している人もたくさんいるだろう。そしてこういう人も多いはず。どういうゲームかまだ掴めていないと……。

[2024/11/04 20:01]

 憑依する能力によってプレイヤーは,多数のキャラクターを切り替えられる。憑依できるキャラクターには,固有能力を持っている8種類の「希少体」と,大きく分けて男女2種類の一般人「モブ」が存在する。

画像集 No.003のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO] 画像集 No.004のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 プレイヤーアクションの種類は,「移動アクション」「近接攻撃」「防御」「スキル」「バフ/デバフ」「リアクション」「特殊リアクション」であり,これらのアクションを希少体8種とモブ2種にそれぞれ用意するため,全体で膨大な数のアクションとなる。

 アクションの量産時に複数人で並行して作業したり,類似するアクションを効率的に実装したりするほか,攻撃アクション中は回避を実行できないようにするなど,アクションの依存関係の整理を効率的に行うために,「Gameplay Ability System」を開発初期の段階で採用したという。

画像集 No.008のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 Gameplay Ability Systemは,攻撃やアビリティ,ダメージリアクションなどを実装するためのプラグインだ。RPGやMOBA向けに設計されているが,さまざまなプロジェクトに適用可能である。

Epic Developer Community「Gameplay Ability System」


 セッションでは,Gameplay Ability Systemの詳しい使い方や,システムの構成要素のうち「Gameplay Ability」「Gameplay Tag」にフォーカスした解説などが行われた。

 Gameplay Abilityは,アクションの実行内容や発動条件などを定義し,アニメーションやエフェクトの再生に加え,アクションのキャンセルやブロックを設定できる。アクション1つに対し,1つのアセットで実装するため,アクションを整理しやすい特徴を持つ。

 Gameplay Abilityの量産では,カスタマイズ可能なベースとなるロジックを作成し,それを継承して攻撃タイプごとにパラメータを設定,それをさらに継承してキャラクターごとにアニメーションアセットの差し替えなどを行っており,バリエーション対応を効率化しているそうだ。

画像集 No.007のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 また,野狗子で実装されているGameplay Abilityの総数が380個であると明かされた。特に,近接攻撃の種類が豊富に用意されているのが分かる。
  • 移動アクション:11個
  • 近接攻撃:151個
  • 防御:36個
  • スキル:51個
  • バフ:12個
  • デバフ:16個
  • リアクション:64個
  • 特殊リアクション:39個

 アクションのキャンセルやブロックの設定は,Gameplay Tagというタグを利用する。「Activation Required Tag」で実行条件を設定でき,例えばダッシュ攻撃は「Ability.State.Move.Dash」(ダッシュしている状態を示すタグ)というGameplay Tagを持っていると実行可能,といったように条件を指定できる。
 一方,「Activation Blocked Tag」ではブロックの条件を設定でき,例えば落下中はジャンプ攻撃を発生させ,ダッシュ攻撃は発生しないようブロックしたいので「Ability.State.Fall」(落下している状態を示すタグ)を持っているとブロックするという風に設定可能だ。

画像集 No.009のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 Gameplay Tagは任意の階層構造にでき,「Ability」はプレイヤーのアクションとして設定されている。また,その子として状態を示す「State」のほかに,下記のようなGameplay Tagを設定しているそうだ。
  • Action:主に移動や戦闘時に使用するGameplay Abilityのタグ
  • Block:特定のGameplay Abilityをブロックするためのタグ
  • Buff:バフのGameplay Abilityのタグ
  • Debuff:デバフのGameplay Abilityのタグ
  • Event:イベントの送受信に使用するタグ
  • PassiveSkill:パッシブスキルのGameplay Abilityのタグ
  • Reaction:リアクションのGameplay Abilityのタグ
  • Skill:アクティブスキルのGameplay Abilityのタグ
  • State:Actorの状態を示すためのタグ

 なお野狗子では,アクションの重複の少なさや実装作業時の競合を避けるため,プレイヤーは「Ability」,エネミーは「EnemyAbility」,モブは「MobAblity」という風に階層を分けているそうだ。
 一方,アクションの構成が類似している場合や,実装者間で緻密な連携と設計ができる場合は,共通のタグを使用する選択肢もあるという。

画像集 No.010のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 Gameplay Ability Systemは,1つのアクションあたり1つのアセットで実装するため,ロジックをキャラクターやコンポーネントに集中してしまうのを避けられる。整理しやすく,効率的にアクションを実装できるほか,複数人での作業にも向いているそうだ。
 実績があり,安定したシステムを1から構築せずに利用できる点は大きく,コストを大幅に抑えられ,汎用性も高く使いやすいという。ただし,システムの複雑性から学習コストは少し高めだそうだ。

 Gameplay Ability Systemの利用には,ある程度のC++の知識が必要で,システムの使いやすさもGameplay Tagの設定で左右される。
 松下氏は,Gameplay Ability Systemの利用について,すべての機能を最初から使いこなすより,使いながら習熟していくことを推奨した。


UE環境でのカットシーン制作手法や外部会社との連携について

 野狗子では,大きく分けて3つのムービーシーンが用意されており,イベント班作成の簡易イベント「スクリプトデモ」,モーション班作成のリアルタイムムービー「イベントシーン」,カットシーン班作成のプリレンダムービー「カットシーン」に分けられる。
 セッションでは,カットシーンについて解説された。

画像集 No.011のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 本作は小規模開発のため,外部協力会社との制作を前提にしていた。カットシーンについては,外部作業者がメインで作成するので,映像素材としてゲームに入れ込むほうが無難であると判断したという。

 カットシーン制作では,本編と共通してUE5.2.1を利用しているが,ゲーム本編に影響を与えないように,プロジェクトは別のものを用意している。プリレンダ前提のため,カットシーン用のプロジェクトでは最適化を行わず,コストを抑えているそうだ。

画像集 No.013のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 カットシーン班は,社内と外部で合わせて最大20人前後の規模という。
 外部との連携はGoogle Workspaceを利用し,FBXデータやムービーなどExport出力されたデータの納品はGoogle Drive経由で行い,背景データやUE関連データなどの共有はバージョン管理ツールのSVNで,アートアセットとゲームアセットにそれぞれ別のリポジトリを用意し,アクセス範囲を明確に分けたそうだ。

画像集 No.014のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]
画像集 No.015のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 また,ゲーム本編のプロジェクトでは,ゲームロジックやUIデータなどを含まないカットシーン専用のサブレベルを作成しておき,そのサブレベルを利用して,カットシーン制作用のプロジェクトへ定期的にデータをマイグレート(移植)していったそうだ。

画像集 No.016のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 作業では,外部と社内それぞれMaya班とUE班に分け,外部会社のMaya班はレイアウトやアニメーション,UE班はエフェクトの仮配置やライトの方向性確認を担当した。
 社内のMaya班で揺れものやフェイシャル,UE班はエフェクトやライティングなどの最終調整を行い,完成まで持っていったという。

 それぞれの担当範囲を制限することで,混乱を減らせたほか,アーティストが作業に集中できることにもつながったそうだ。

画像集 No.017のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 ミスや手間がかかるような作業は自動化やツールを活用しており,Mayaで仮モデルを使ったレイアウトを行い,キャラクターの位置情報やカット情報などのCSV設定データを作成。それをもとにUEのレベルシーケンスを自動生成し,細かい調整はUE5用のツールを作成できるEditor Utility Widgetと,Pythonを利用して作成した調整用ツールで行ったという。
 レイアウトが完了したら,正式のモデルに差し替え,アニメーションなどを付けていく。

画像集 No.020のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 フェイシャル(キャラクターの表情の実装)については,フェイシャルモーションキャプチャアプリ「MocapX」とMayaを利用し,iPhoneのカメラ録画をもとにアニメーションを作成し,UEで微調整を行ったそうだ。キャラクターの衣装や触手などの揺れものについては,UE標準のChaos Clothを使用し,めり込みなどが発生する場合は,Mayaで調整するなど,各フェーズでMayaなどのDCCツールとUEでの作業を並行して行っている。

画像集 No.021のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]
画像集 No.023のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 エフェクトは,UE5の標準機能であるNiagaraのほか,Houdiniも採用し,作業者が使いやすいほうで制作を進めたそうだ。

画像集 No.024のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]

 ライティングについては,本編ではライトマップ,カットシーンではLumen(反射や間接光を考慮したリアルタイムのライティング機能)を使用しており,本編とカットシーンで見た目が少し異なってしまったという。
 この差を減らすため,一括でエミッシブ(発光の強さに関わるパラメータ)を調整できるブループリントを作成し,キャラクターのブループリントにも,血の色味や量,目の虹彩や瞳孔などをカット単位で調整できるパラメータを用意して,Lumen環境下で本編のビジュアルをある程度再現したそうだ。

画像集 No.018のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]
画像集 No.019のサムネイル画像 / 「野狗子: Slitterhead」膨大な数のプレイヤーアクションを実装するために使用したGameplay Ability Systemとは[UEFest’24TOKYO]


「野狗子: Slitterhead」公式サイト


「UNREAL FEST 2024 TOKYO」公式サイト

  • 関連タイトル:

    野狗子: Slitterhead

  • 関連タイトル:

    野狗子: Slitterhead

  • 関連タイトル:

    野狗子: Slitterhead

  • 関連タイトル:

    野狗子: Slitterhead

  • 関連タイトル:

    Unreal Engine

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:11月06日〜11月07日