クラフトゲーム開発(コントローラ操作決めと建築の途中まで)
インベントリにある焚き火(アイテム)を実行して、建物としてフィールドに配置できるようにするあたりを実装するつもりでしたが、暑くなってきて開発パワーが減ってきたので途中までの実装にします。暑さはスリップダメージだと思っています。
まず、建築まわりを実装する前に操作のキー割当を決めていきます。
キーボード&マウスでの操作方法を決める
列挙します。
- キーボードの数字キー ... 画面下の枠にあるアイテムを選ぶ。
- 左クリック ... 選択中の武器を使用する、インベントリのアイテムを移動させるために選ぶ。
- 右クリック ... カーソルがホバーしているフィールド上の建物を使用する、選択中のアイテムを使用する、インベントリでカーソルがホバーしているアイテムを使用する。
- SPACE ... 作業台に不足しているアイテムを追加するとかの、汎用操作にしたい。
- B ... インベントリのパネルを開く。
- C ... ハンドクラフトのパネルを開く。
- ESC ... システムメニューを開く、キャンセル、パネルを閉じる。
建築は、インベントリを開いて作業台や壁ブロックを右クリックのトリガーで使用して配置します。
今のところ、建物は 1x1 サイズのブロック単位で配置していく予定なのですが、大きめの言えをポン置きする仕様にしたくなったら見直します。
XBox コントローラでの操作方法を決める
後で変えるかもしれませんが、仮決めします。
- RB, LB ... 画面下の枠にあるアイテムを選ぶ。
- A ... 選択中の武器を使用する、インベントリのアイテムを移動させるために選ぶ。
- Y ... 最寄りの建物を使用する、選択中のアイテムを使用する、インベントリのアイテムを使用する。
- X ... 作業台に不足しているアイテムを追加するとかの、汎用操作にしたい。
- 方向パッド左 ... インベントリを開く、閉じる
- 方向パッド右 ... ハンドクラフトパネルを開く、閉じる。
- メニューボタン ... システムメニューを開く。
- B ... キャンセル、パネルを閉じる。
ここまで書き出してみて、ゲームで行う操作を想定できてなかったのに気付かされます。
実際に遊ぶつもりで操作を考えてみることは大事だと思いました。
建築の実装
とりあえず焚き火を建築できるようにします。直近で考えたキーボード&マウスの操作だと
- B キーでインベントリを開く。
- 焚き火にカーソルをあわせて右クリックする。
- 建築モードになるので、焚き火の建築先を決めて左クリックする。
- 建築モードを終えて通常のゲームモードにする。(インベントリも閉じている)
です。
とりあえず、インベントリにあるアイテムを右クリックしたときの処理くらいまででも実装します。
↓今回追加したコード
とりあえず、ここまで書いて最下段のアイテムが適切に取得できない不具合を見つけたので、今回はここまでにします。
次は、不具合を修正して、このカーソルの先にあるアイテムの種類によって処理を分岐させる実装を追加して建築モードの処理を行うあたりからです。
Nova Lands を遊んだ感想
Nova Lands というゲームを少し遊んでみました。
見た目とかプチ工場要素とか、この開発で作りたいゲームのイメージに似てて参考にしたいと思います。拠点防衛の要素はなかったですが、いろんな仕様がコンパクトにまとまってていてよかったです。
まとめと今後の予定
建築まわりについて実装を少しですが進めました。よいです。
次は、インベントリないでアイテムを使ったときの処理の実装です。
ちゃんと考えるとアイテムのパラメータ定義どうするの、とか色々と考えることがあるので、それを決めてから建築の続きを行おうと思います。必要な機能を考えるだけ考えて「だいたいわかった、今回は考えたうちのここだけ実装する」みたいな開発が好きです。がんばります。