ローグライクゲームの作り方9 武器を作ってプレイヤーを強化しよう!

Unity ローグライクゲームの作り方


Unity入門の森オリジナル本格ゲーム制作講座はこちら
5種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

前回の記事で食料システムを実装し、行動するごとにお腹が減り、満腹度が0になると行動する度にダメージを受けるようになりました。

前回の記事:

ローグライクゲームの作り方8 腹ペコ状態でHPが減る食料システムを実装
前回の記事ではローグライクゲームのプレイ内容に応じて行動内容を表示し、古いものから自動スクロールで消していくメッセージシステムを作成しました。 また、戦闘システムとの連動を実現しました。 前回の記事: 今回の記事ではローグライクを...

今回の記事では、ローグライクRPGの戦略性を高めるアイテムとなる武器を作っていきます。

一言に武器と言っても色々ありますが、この講座では簡単にアイテムを拾うと攻撃力が上がる効果だけを実装します。

また、プレイヤーは武器を一つだけ装備できることとします。

ダンジョンを進むにつれて武器を獲得しながらより奥深くを目指す。そんなシンプルながらも面白いローグライクゲームを作ることができるようになります。


【Line登録者限定のプレゼントもあるよ!】

Scriptable Objectを用いて武器データを作る

それでは早速武器を表すデータを作成していきます。

新しく「Weapon.cs」というスクリプトを作成し、次の内容にしてください。

「Weapon」は「UnityEngine.ScriptableObject」にし、武器データをアセットとして管理するようにします。

この講座では武器はプレイヤーだけに持たせることを想定していますが、Playerではなく、「MapObjectBase」コンポーネントに装備している武器情報を持たせるようにします(改造すれば敵に武器を持たせることも可能になります)。

武器を装備したとき、「MapObjectBase」の「Attack」にWeaponアセットに設定したAttack値の分だけ足すようにします。

この辺りの実装には色々やり方が考えられます。今回みたいにPlayerの攻撃力に足さない方法もあります。

その際は「MapObjectBase」スクリプトにある「Attack」メソッドの攻撃対象の「Life」フィールドを減らす部分を修正する形になるでしょう。

いずれの形式でもOKですが、この講座ではAttack値を変更し、パラメータ表示などにも反映されるようにしていきます。

それでは、MapObjectBaseスクリプトを修正していきましょう。

続きを読む

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

まとめ

今回の記事ではUnity C#を用いてローグライクゲームにおける武器システムを作っていきました。

Scriptable Objectにまとめることでいろんな武器を作っていくことができます。

ぜひあなたも好きな武器を作ってみてくださいね。

まとめると以下のようになります。

  • 武器用のScriptableObjectを作成
  • 「MapObjectBase」コンポーネントに武器を設定できるようにした
  • プレイヤーが装備中の武器を画面に表示するようにした。

それでは次の記事に行ってみましょう!

ローグライクゲームの作り方10 宝箱イベントを作って武器・HP回復・食料アイテムを実装
前回の記事ではUnity C#を用いてローグライクゲームに必須となる武器システムを作成しました。 前回の記事: ですが、前回まででは最初に決めた武器しか持てない状態でした。 ローグライクゲームを作るからには、ダンジョンを進むにつれ...

Unity ローグライクゲームの作り方講座へ戻る>>



Unity入門の森オリジナル本格ゲーム制作講座はこちら
5種類の本格ゲームの全ソースコード公開・画像&動画による解説付き


【Line登録者限定のプレゼントもあるよ!】

コメント

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