マガジンのカバー画像

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

110
Unityを使用した3Dのローグライクの作り方についてまとめています。
運営しているクリエイター

2020年10月の記事一覧

【Unity】3Dローグライクゲームの作り方〜Step11-19〜

【Unity】3Dローグライクゲームの作り方〜Step11-19〜

前回の記事はこちら。
前回は宝箱を実装しました。

ターン数のセーブターン数のセーブをするのをすっかり忘れていたので、今ここで実装します。
MapSaveDataクラスにパラメーターを追記します。

public int elapsedTurn;

次にSaveDataManagerクラスに以下を追記します。

private MapSaveData MakeMapData(){ MapSav

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-18〜

【Unity】3Dローグライクゲームの作り方〜Step11-18〜

前回の記事はこちら。
前回はインベントリソートなどを実装しました。

宝箱の実装今回は宝箱を実装したいと思います。
仕様はこんな感じです。

・動かない
・宝箱に向かって攻撃すると消える
・消える時にExcelAppearDataに沿ってランダムにアイテムをばら撒く
・最大5個までアイテムが入っている
・鍵などはいらない(今のところは)

宝箱のプレハブの用意とりあえず宝箱がないと始まりませんね。

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-17〜

【Unity】3Dローグライクゲームの作り方〜Step11-17〜

前回の記事はこちら。
前回はやられモーションを実装しました。

インベントリソートの実装今回はインベントリソート機能を実装するところから始めたいと思います。
今回のインベントリソートは主に以下のような形を想定しています。​

・インベントリを開いた時にRキーを押すとソートされる
・アイテムインベントリの場合はアイテムID順に昇順ソート、ただし装備中のアイテムがある場合はそれを一番前に持ってくる

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-16〜

【Unity】3Dローグライクゲームの作り方〜Step11-16〜

前回の記事はこちら。
前回はドリルを実装しました。

ShotメソッドとReadメソッドの共通部分の切り分け今回はコードの整理から始めたいと思います。
まずはActorUseItemsクラスのShotメソッドとReadメソッドの共通部分の切り分けから。

// 新しいメソッドを追加/*** 発射するアイテムを返す*/private void ShotItem(Item it, out Item s

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-15〜

【Unity】3Dローグライクゲームの作り方〜Step11-15〜

前回の記事はこちら。
前回は敵のアイテムドロップを実装しました。

ドリルの用意今回は壁を崩せるアイテム、「ドリル」を実装したいと思います。
まず最初にドリルのプレハブを用意します。
今あるアセットではドリルに因んだものがなかったので、筆者は代わりに剣の画像を使用させて頂くことにしました。
EItemとEItemTypeに以下のように記述します。

// EItemに追加DRILL01 = 190

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-14〜

【Unity】3Dローグライクゲームの作り方〜Step11-14〜

前回の記事はこちら。
前回はアクセサリーを実装しました。

敵のアイテムドロップ今回は敵がアイテムを落とすようにします。
落とすアイテムは以下の通りです。

・魔石(確定でドロップ)
・その敵が拾ったアイテム

お金はドロップしません。代わりに魔石を換金することでお金を手に入れられるようにします(+値で変動)。魔石はインベントリとは別枠で保存します。
また、敵に拾われたアイテムもドロップし、プレイ

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-13〜

【Unity】3Dローグライクゲームの作り方〜Step11-13〜

前回の記事はこちら。
前回は+付きアイテムを実装しました。

装備品の種類の追加それでは今回は装備品の種類を増やしてみたいと思います。
増やすのはアクセサリー(1枠のみ)になります。
まずEItemとEItemTypeに追記します。

// EItemに追記ACCESSORY01 = 21,// EItemTypeに追記Accessory,

プレハブも用意しておきましょう。
使用するスプライトを

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-12〜

【Unity】3Dローグライクゲームの作り方〜Step11-12〜

前回の記事はこちら。
前回は足踏み、方向転換、ダッシュを実装しました。

パラメーターを2つに分ける+付きアイテムがあればアイテムに多様性が出ますね。という訳で実装していきたいと思います。
Itemスクリプトを以下のように変更して下さい。

[System.Serializable]public class Item{ public EItem id { get { return baseDa

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-11〜

【Unity】3Dローグライクゲームの作り方〜Step11-11〜

前回の記事はこちら。
前回は1Fにもランダム生成ダンジョンが適用されるようにしました。

その場で足踏みそれでは足踏みを実装してみましょう。
ActorActionクラスとActorMovementクラスを変更します。

// ActorActionクラスにパラメーターを追記public static int runSpeedRate = 1;// ActorMovementクラスのメソッドに追記

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-10〜

【Unity】3Dローグライクゲームの作り方〜Step11-10〜

前回の記事はこちら。
前回は有利な状態異常を追加しました。

ダンジョン生成のパラメーター反映について修正ダンジョン生成のパラメーターを表すDungeon Infoですが、今の記述のままだとマップファイル側から変更した時に次の階層でも変更されたままになってしまうかと思われます。これを改善します。
LoadFieldMapクラスのReadMapFileを以下のように変更して下さい。

private

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-9〜

【Unity】3Dローグライクゲームの作り方〜Step11-9〜

前回の記事はこちら。
前回はダンジョン生成を改良しました。

有利な状態異常の追加それでは今回は、状態異常の種類の増やし方ということで、新しく有利な状態異常を実装したいと思います。
有利な状態異常といえば、基本的に決まったターン数で解除されることが多いと思うのですが、現状全ての状態異常で共通のパラメーターを使用しているのでそれを改善し、状態異常それぞれの解除のされやすさなどを設定できるようにしたい

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-8〜

【Unity】3Dローグライクゲームの作り方〜Step11-8〜

前回の記事はこちら。
前回はアイテムの種類を増やしました。

ミニマップが表示されない?再起動後、何故かミニマップが表示されなくなったので、修正します。

private void Start(){ RectTransform rect = roadImage.GetComponent<RectTransform>(); pw = rect.sizeDelta.x; ph = rect

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-7〜

【Unity】3Dローグライクゲームの作り方〜Step11-7〜

前回の記事はこちら。
前回は敵の種類を増やしました。

アイテムの追加それでは今回はアイテムの追加方法についてまとめたいと思います。
今回追加するのは「知恵のリンゴ(階段の位置がわかる)」、「シャッフルの巻物(フィールド全体のキャラクターの座標をランダムに入れ替え)」、「火の巻物(部屋全体攻撃)」の3種類です。

プレハブの用意巻物に関しては初ですのでプレハブを用意しておきましょう。
まず使用する

もっとみる
【Unity】3Dローグライクゲームの作り方〜Step11-6〜

【Unity】3Dローグライクゲームの作り方〜Step11-6〜

前回の記事はこちら。
前回はミニマップを改良しました。

敵の種類を追加いつまでも敵が1種類だとつまらないので、種類を増やしてみたいと思います。有難いことに「RPG Monster Duo PBR Polyart」には2種類敵キャラクターが用意されているので、もう片方のカメっぽいキャラクターを追加してみましょう(勿論他のキャラクターを追加しても構いません)。
まずプレハブを用意します。Field上

もっとみる