自作ゲームの進捗01:食堂っぽい部屋を作成
自作ゲームの進捗報告です。
何個かの謎解きをメインにした脱出ゲームで、
ちょっとしたホラー要素を入れる予定です。
以前このようなクロックタワー系の視点で動画を公開しました。
メインは脱出ゲームなので 2D 視点だとちょっとやりにくかったので 3D にシフトしました。
その中で作成した部屋の1つで食卓をイメージした部屋です。
周りが殺風景なのでもう少しなんとかしようと思います。
3D にしたためマップの構成が難しくなりましたね...
謎解きっぽい雰囲気を出すための読み物演出です。
以前作ってたものをこちらのプロジェクトへ移行しました。
内部的な部分をメインに触っていたので見た目に新しい変化はあまりないですが一応。
Save/Load の仮組みを実装。
規模によりますが Auto Save 機能も一応入れようと思ってます。
イベントの進捗管理を Boolean 型の配列で管理していたのを
map<String, Boolean> に変更しました。
どのイベントとインデックスが紐づいているのか把握し辛かったためです。
これで指定のイベントが完了したかを容易に取れるようになりました。
Widget へ表示するテキストを Data Table から読み込み→ 表示としてましたが、最初に一括で読み込んで変数として持っておくように変更。
Data Table と連動もさせたかったので、
map<Name, Text> で作成し、Data Table の行(Row Name) と紐づけるようにしました。
これで Data Table の行の名前を引数で送るだけで
それに対応したテキストを Widget で表示できるようになりました。
特定のものを探して取得したい時は map が使いやすいですね。
- インタラクト可能なオブジェクトの基本
- 取得可能なアイテム系
- 読み物系
- イベント系
など、これ以降のプロジェクトでも利用できるように Blueprint の Base Class を作成。後は継承して量産していけば良さそうです。
もしかしたらイベントで変化させたりする可能性があるものを Data Layer を使って一応レイヤー分け。
お試しで Level Instance も用いて同じものを使いまわしてみるテスト。
World Partition は有効にしてますが Streaming するような規模でもないので今のところは Streaming なし。
そんな感じで今月に入ってから色々作業をしておりました。
ここまで勉強を続けてこれたおかげで色々な機能を利用できてるような気がします。
今年も残りわずかとなりましたが、変わらず UE5 の勉強も少しずつ行っていこと思っております。UE5 使ってもう8ヶ月経ったみたいです...早いですね...