クラフトゲーム開発(クラフト用 UI を実装する)
ゲームの新規開始の直後あたりから実装していきます。
ゲーム開始直後の流れ
とりあえずのアイディアを列挙します。
- 町のコアっぽい建物があって動作するイベントが勝手に始まる。
- 敵が襲撃してくる。倒して獣肉と獣の皮を得る。
- ここからは左上のクエスト表示でプレイヤーを誘導する。
- X 日後の次の襲撃に備えよう。
- 焚き火を作ろう。
- 焚き火で肉を焼いて食べよう。
- コアを起動して探索エリアに転移しよう。
ここまでで、町のコアが配置されたフィールドがあって、焚き火をクラフトできて、焚き火で肉を調理できて、探索エリアに転移できるまでの要素があります。よいですね。
建物(町のコア、焚き火)を用意する
まず見た目を用意します。ここで既存アセットから選んで調整すると時間がかかるので、差し替えたくなるレベルの雑な画像を用意して使います。
↓作った画像。サイズは 16 x 16 pixel
よいです。今すぐに差し替えたいレベルです。
次に、Unity で使えるように Palette として登録します。方法を調べたら、パレットを作って画像をそこにドロップするだけでオッケーでした。
↓作った画像を Tilemap に配置できるように準備したもの。
よいです。なにか開発が進むのは、それだけでよいことです。
建物(焚き火)をクラフトできるようにする
今までの機能デモでは、すでにある作業台を右クリックして何かをクラフトする、という方法でクラフトしてました。ゲーム開始直後の、例えば焚き火は作業台なしでクラフトできるようにしようと思います。流れとしては
- C のキーを押してクラフトとインベントリのパネルを表示する。
- 対象を選んでクラフトする。
- ESC キーを押して両方のパネルを閉じる。
です。
とりあえずクラフトまでの動作を実現させるには、HandCraft という見えないクラフト台を定義して、C キーが押されたときにそれを呼び出すようにしました。
ESC キーや C キーで閉じるあたりは後で調整します。
このコードを実装して動作確認しているときに、クラフトに必要な素材が不足していてもクラフトできるのに気付きましたが、これも後でまた調整します。
とりあえず、手でクラフトする仕組みが実装できてよいです。
建物(焚き火)を設置できるようにする
建築操作は
- インベントリ内のアイテムを実行する。
- 右クリック or キーボードの数キー
- 実行されたアイテムの場合は、フィールドに配置するモードにする。
- なんやかんやで配置する。
という処理が必要になります。これはまた次回にやります。
クラフト(調理)できるようにする
これも次回に着手しますが、作業台でのクラフトと基本的に同じになる予定です。
まとめと今後の予定
なにはともあれ、機能テストを終えて、ゲームを意識した実装に着手しました。
次回は建物アイテムを配置するあたりに着手する予定です。がんばります。