オリジナルのシミュレーションゲームは作れましたでしょうか。今回はその他の設定や拡張する場合の場所について説明をしたいと思います。プログラム的には少し難易度の高い箇所があるので、あとはソースなどを見て勉強しながら自分だけのシミュレーションゲーム制作を行ってみてください。
ゲーム進行に関わる設定箇所について
ゲームにおいて設定出来る部分やソースファイルの見どころなどを説明いたします。
プレイヤーのスクリプトについて
プレイヤーとは自軍や敵軍のような単位のことを指します。今回は自分で操作出来る1P、自動で動く2Pのような設定を入れていましたが、対人戦を行ったり、CPU同士の戦闘を行わせたりすることも出来ます。
パッケージの中ではPlayerRoot以下に各プレイヤーごとに設定されています。

プレイヤーの種類 | 備考 |
---|---|
人間が動かすプレイヤー | コンポーネントにPlayerHumanを付ける |
CPUが動かすプレイヤー | コンポーネントにPlayerAIを付ける |
上記画像ではゲームオブジェクトの名前は共にPlayerHuman◯となっていますが、実際に動作しているのはどのコンポーネントがついているかに依存します。
CPUの操作などを変更したい場合はPlayerAIスクリプトを編集することで賢く動かせるようになります。
プレイヤーの番号について
また上記共通しているPlayerNumberというフィールドの番号に注目してください。ここには行動する順番に依存する番号を記載します。入力する値に関しては以下に気をつけてください。
- 他のプレイヤーと重複しないように気をつける
- ユニットプレファブで入力したPlayerNumberはこの値とリンクする
- 極力PlayerNumberは小さくてかつ近い数字の方が望ましい。
UIのプレファブを編集
UIはゲーム用のシーンとは別シーンに作成しています。これはUnityのマルチシーンという機能で、ステージに依存しない状態で別のシステム作成を行うことが出来る機能です。
ゲームシーンを開いている最中に、「Assets/Anogame.Simulation/Scenes/GameHUD」シーンファイルを右クリックして「Open Scene Additive」で開いてください。するとヒエラルキーにGameHUDシーンが追加された状態になります。

シーンが追加された状態では、各シーンごとに独立したものを同時に編集することが出来ます。今回のシミュレーションゲームでは、起動時にGameHUDシーンが存在していない場合、追加でロードするようになっています。(追加状態だと再追加は行いません)複数人で作業するときにもマルチシーン構成になっていると作業分担などでバッティング回数もぐっと減らすことが出来るのでオススメです!

現在のゲームで利用しているUIは「Assets/Anogame.Simulation/Resources/UI」以下に入っています。この中のプレファブを編集するとゲーム内の表示が変わりますのでオリジナル感を出したい場合はこちらをイジってみてください。

その他、修正項目などなど
以下は随時追加予定
カメラの移動が敏感すぎる
現在の設定だと画面端にマウスカーソルを持っていくと移動しすぎてしまい、操作がしづらいく感じるかも知れません。こちらの設定はヒエラルキーの「CM vcam1」を選択して、CinemachineVirtualCameraコンポーネント内のDeadZone/SoftZoneを編集することで調整出来ます。

これらの編集をする場合、プレイモード中に編集することをおすすめします!
通常状態で編集を行ってしまうと、もとの値がわかりづらくなってしまい、何かあった場合のロールバックがしづらいです。そのため再生モード中の変更が戻ってしまう特性を利用して、いい具合のパラメータが見つかるまでは何度か再生停止を繰り返して程よいパラメータを見つけるまで実際の変更は行わないようにするのが吉です。
Unityのインスペクターの特性を利用しながら上手に調整してください
コメント