株式会社ヒストリア様主催 第18回 UE5ぷちコンに参加しました
3度目に参加となる「UE5ぷちコン」に参加させて頂きました。
今回のテーマは「かける」ということで、「インクをかける」「アイテムが欠ける」アクションシューティングゲームを制作する事にしました。
まずは、応募した作品をご覧頂ければと思います。
今回はふりかえり記事の為、技術的な点には触れておりませんが、近いうちに技術面の記事も書かせて頂きます。
学習テーマ
ぷちコンに参加するにあたり、毎回「何を重点的に習得したいか」ということを考えています。GPU及び開発環境が貧弱なため、UE5から使用可能になった「Lumen」「Nanite」の習得は諦め、「Chaos Destruction」「Niagara」「Deferred Decal」の3技術の習得を目標としました。
「Deferred Decal」については、新しい技術ではないのですが、表現の幅が広がると思い、今回の学習テーマに含めました。
今回は制作時間に限りがある!
プライベートでは子供が生まれたため、作品制作に割ける時間が減る事は明白だったので、前回の「BRAIN HACKER」のような物量の作品制作は諦め、1ステージ構成でどれだけ印象に残る作品とするかを前提にゲームの設計を行いました。
特に以下の点について慎重に設計を行いました。
- ゲームのルールは単純なものとすること
- エフェクトやマテリアルは派手派手にして、単純なルール・レベルデザインを覆い隠すこと
- 制作時間を掛けずに印象に残るような演出を考えること
結果的に「それなりに制作時間が掛かってしまった」のですが、前回の作品よりは半分位の作業時間で作り上げていると思います。
注目ポイント1「Niagara」
今回の作品に登場するNiagaraエフェクトは全て自作したものとなります。参考にしたサイトはありますが、安易にマーケットプレイスから購入や、フリー素材をダウンロードすることはしませんでした。
細かい箇所も含めると、以下の点にNiagaraを使用しております。
1.「キャノンのチャージ」
2.「アイテムに弾が当たった時の、ホルダーの破壊表現」
3.「特殊弾が放つ閃光」
4.「特殊弾が着弾した時のエフェクト」
本作品で一番時間を使ったのはNiagaraの制作でした。その分、Niagaraの使い方をマスターできたと思います。今後はもっとオリジナリティのあるエフェクトを作っていこうと思います。
注目ポイント2「Chaos Destruction」
全てのアイテムはChaos Destructionによって破壊表現が実装されています。
Chaos Destructionは「どのくらいの衝撃が加わった時に、どれだけ破壊するか」のような指定ができるのですが、アイテム同士が接触した時など、意図しないタイミングでの破壊を免れるために、ステージ上のアイテムはStaticMeshで表示しておき、弾が当たったタイミングでGeometryCollectionに差し替えて、オブジェクトの中心点からForceFieldを使って破壊を行っています。
これにより、実際の物理での破壊とは異なりますが、より一層派手な演出ができていると思います。
注目ポイント3「Deferred Decal」
インクが付着するような表現をしたいと思い調べてみたところ、Deferred Decalという方法にたどり着きました。(足跡だったり、滴った血の表現なんかによく使われる技術らしいです)
実装自体はマテリアルとしてインクが飛び散った画像を用意し、デカールをスポーンするノードを使って特定にエリアにデカールを表示するだけだったのですが、回転方向を間違えていた為、一向にデカールが表示されずに苦戦しました。
注目ポイント4「演出」
本作品は、時間経過と共にステージ全体が暗くなっていきます。
インクを塗られたパネルは発光する為、周辺が暗い方が綺麗に見えるのですが、ゲーム開始時から周辺が暗いと何をして良いか分からなくなってしまう為、時間経過によって周囲の明るさを変えるようにしました。
注目ポイント5「マテリアル」
ビックリする程に目立ってませんが、ステージの床と天井はマテリアルで作成されています。
このゲームのステージにおける独特な雰囲気は、このマテリアルがおかげだと思っているのですが、もう少し目立つ場所で使用してもよかったかもしれません。
手抜きポイント1「アイテムがステージ中央で回っている理由」
当初、アイテムはステージの天井をランダム方向に自由自在に移動する予定でした。
しかし、これでは敵キャラクターのAIがアイテムを打ち落とすことが困難でした。AIの処理で「狙っているアイテムと、その移動先の予測と、弾がそこまで到達する時間を計算」する必要があり、これを実装する事は、技術的にも時間的にも困難であることがわかりました。
アイテムがステージの中央を回転しているだけであれば、AIが「アイテムを取得したい!」となった時に、とりあえずステージの中央の天井近くを狙えば、なんとなくアイテムを取得することができます。
また、ランダムで動くアイテムは、プレイヤーが人間だとしても当てるのに苦戦しました。これでは、制限時間内にアイテムを取得する事が難しすぎる為、アイテムの移動先を予測しやすくする必要があり、それを解決する意味でも、アイテムはステージ中央を回っているという設定に変更しました。
手抜きポイント2「アンリアルクエスト3」からの流用(盗用)
アンリアルクエスト3のテンプレートプロジェクトには、グレイマンがボールを投げる動作があったのですが、本作品のキャノンのチャージ&発射処理はそれをそのまま引き継いでいます。
関数(カスタムイベント)名も全く同じなので、単純にコピペしてきた感が満載です。
手抜きポイント3「爽快感」
本作品は弾を発射するのに「チャージ」が必要なので、連射ができず、爽快感を感じるシーンはありませんでした。(実際に連射は可能だが、チャージしない弾はパネルに届かない為、チャージしないで弾を撃つことはほとんどない)
見た目が派手で爽快感も感じれる案を考えた結果、アイテムを破壊したら大量に弾を降らせるという、安直なアイディアが思い浮かび、それをそのまま実装してみたところ、思った以上に爽快感があったので、採用となりました。
アイス弾の効果で悩む
当初、アイス弾が着弾した時の効果として、「着弾したパネルの色のインクが回りに飛び散る」という仕様で検討していました。(着弾先のパネルにインクが存在していない場合は、アイス弾は何もしない)
つまり、自身のインクが乗ったパネルに対して、更にアイス弾を着弾させれば、そのインクが広範囲に広がりますが、敵のインクが乗ったパネルにアイス弾を着弾させてしまった場合は、敵のインクが広がってしまうという事態が起こるという、結構危険な特殊弾でした。
アイディア的には、こちらの仕様の方が良かったと思っていますが、ゲーム終盤で乱戦になった時に、その動作が不具合に見えてしまう事があった為、単純な効果(自身のインクが回りに飛び散る)に変更する事にしました。
これは、最後まで悩みましたが、最終的に単純な動作にして良かったと思います。
総括
今回は限られた時間の中で、何とか納得いく形にまとめることができました。
ルール自体が複雑ではないので、ロジック自体の量はかなり少なくなっており、エフェクト等の見た目の実装を除けば、”ぷちコン”サイズで作れたと思っています。
また、今回の制作を通して、Niagaraの理解度がかなり深まった点は、今後の作品制作にもきっと役立つはずです。
これで3回目の参加となるUE5ぷちコンですが、今後も可能な限り作品を出し続けていきます。
No responses yet