Unity スレスパ風デッキ構築系JRPGの作り方4 レリック・状態異常・イベントデータの作成 | Unity入門の森 ゲームの作り方

Unity スレスパ風デッキ構築系JRPGの作り方4 レリック・状態異常・イベントデータの作成

Unity スレスパ風デッキ構築系JRPGの作り方

現場レベルのゲーム制作が、すべてここで学べます。

【永久会員チケット】

永久会員チケット|Unity入門の森

全講座を見放題で学ぶ

ソースコード・素材・プロジェクトすべて公開。
Unityの基礎から応用まで、一生使えるスキルを体系的に習得。

この記事はSlay the Spireみたいなデッキ構築系ローグライト要素を持つオリジナルJRPGを作る講座の第4回です。

前回はバトルシステムを固定3ボタンのコマンド選択からデッキを使ったカードバトルへ移行しました。また、マナコストの管理やターン終了ボタンの実装も行いました。

前回の記事:

Unity スレスパ風デッキ構築系JRPGの作り方3 コマンドバトルからカードバトル戦闘システムに改造する
この記事はスレスパ風のデッキ構築系ローグライト要素を持つオリジナルJRPGを作る講座の第3回です。前作のノンフィールドRPG講座で制作したゲーム「果て無きダンジョン」をアップデートしていきます。前回はキャラクターのクラスをカードバトルに対応...

第4回ではキャラクターの能力などに影響を与えるレリック、状態異常、そしてダンジョンで起こるイベントデータを作成します。

レリックはダンジョンのイベントで取得し、ゲームオーバーになるまで反映されるバフ・デバフのようなものです。状態異常はバトルシーンでのみ反映されるバフ・デバフです。

まずは[Assets]→[Scenes]にある[Title]をダブルクリックしてタイトルシーンを開きます。

【ゲームの作り方講座プレゼント中!】

レリック・状態異常・イベントデータの追加 ゲームシステムを拡張しよう

敵キャラとカードのマスターデータを作成しましたが、これに加えてレリック、状態異常、イベントのマスターデータを作成します。

レリックのマスターデータ

まずはレリックの基本情報となるRelicParamsクラスを作成します。[Assets/Scripts]フォルダを右クリックし、[Create]→[Scripting]→[Empty C# Script]をクリックして、名前をRelicParamsにします。

RelicParamsクラスを編集していきます。

RelicParams.cs

このRelicParamsではレリック1つのパラメータを定義します。第一章のCardParams.csの定義と同じ形で進めていきます。

以下のような内容のクラスにしてください。

レリック定義に必要なクラスを作成し、Unityのインスペクター画面からデータを設定できるようにしています。

レリックをまとめて管理するためのクラス

次に、先ほど作成したレリック1つの定義を行ったRelicParamsクラスを使い、複数のレリックをまとめて扱うクラスを作ります。

[Assets/Scripts]フォルダを右クリックし、[Create]→[Scripting]→[ScriptableObject Script]をクリックして、名前をRelicDataにします。

RelicDataクラスに先ほど作成したRelicParamsクラスをListで変数relicListとして宣言しておきます。

このrelicListの中から画像と名前と説明、そして威力を取得するメソッドを追加します。

さらに取得していないレリックのIDをランダムで返すメソッドも追加します。

つまりレリックのデータベースを作成していくことになります。

RelicData.cs

GetRandomRelicメソッドは引数にすでに所有しているレリックのリストを渡します。

foreachでリストを全件ループし、所有リストに含まれていないIDを候補のリストに追加します。そのあと、候補リストの中からランダムなIDを返すようにしています。

なお、レリックの候補が0だとエラーになってしまいますが、レリック「Potion」はその場で効果があり取得しないレリックとなっている(のちほど実装)ので、レリックの候補には必ず「Potion」が入ります。

データアセットの作成

[Assets/Data]フォルダを右クリックし、[Create]→[ScriptableObject]→[RelicData]をクリックします。

RelicDataの要素にIDを入力し、対応するスプライト画像をアタッチする

追加した要素を展開するとIDやレリックの各種パラメータが表示されるので、IDに[Hammer]、RelicSpriteにAsset Storeからインポートしておいたカードの画像の[500FreeSkillIcons/Icons/skill_277]をドラッグアンドドロップします。

さらにRelicNameに[ハンマー]、RelicDescriptionに[攻撃力が20%増加する。]、RelicPowerに[20]を入れておきます。

同じ要領で要素を増やし、以下の画像のとおりさらに3つのレリックデータを作成します。

合計4つのレリックデータの作成がこれで完了です。

状態異常のマスターデータ

次に状態異常の基本情報となるConditionParamsクラスを作成します。[Assets/Scripts]フォルダを右クリックし、[Create]→[Scripting]→[Empty C# Script]をクリックして、名前をConditionParamsにします。

ConditionParamsクラスを編集していきます。

ConditionParams.cs

このConditionParamsでは状態異常1つのパラメータを定義します。

以下のような内容のクラスにしてください。

続きを読む
このコンテンツはパスワードで保護されています。 コンテンツを読みたい方はUnity入門の森ショップ(https://unityforest.shop/)で講座閲覧権を取得してね。

まとめ

レリック・状態異常・イベントのデータベースの作成を行い、GameManagerから参照できるようにしました。

ここからは今回作ったデータベースをゲーム内で登場できるようにアップデートを行っていきます。

次回はダンジョンの移動を一本道から二択制にするため、UIの変更と分かれ道の実装を行います。左右の選択肢を用意することで、プレイヤーにルート選択の戦略性が生まれるダンジョン探索へと進化させていきます。

次の記事:

Unity スレスパ風デッキ構築系JRPGの作り方5 ダンジョンUIを一本道から選択分岐式に変更する
この記事はUnity入門の森のノンフィールドRPG講座で作ったゲームを改良アップデートしてSlay the Spire風デッキ構築系オリジナルJRPGを作る講座の第5回目です。前回はレリック・状態異常・イベントのデータベースを作成しました。...

【ゲームの作り方講座もプレゼント中!】

現場レベルのゲーム制作が、すべてここで学べます。

【永久会員チケット】

永久会員チケット|Unity入門の森

全講座を見放題で学ぶ

ソースコード・素材・プロジェクトすべて公開。
Unityの基礎から応用まで、一生使えるスキルを体系的に習得。

コメント

タイトルとURLをコピーしました