2023年夏が終わろうという時期に突然流行ったスイカゲームをUnityで作ってみたいと思います。シンプルなゲームに見えて、Unityの機能を覚えるには持って来いの内容になっています。初めてUnityを触るという人にもわかりやすく進められるように解説していきたいと思います。
スイカゲームとは
ゲーム性について
ゲーム内容としては2048の様に、同じ種類のオブジェクトをくっつけて別のオブジェクトに変化させるというのを繰り返します。内容自体は非常にシンプルなのですが、進化後のオブジェクトは大きくなっていき、戦略を立てながら配置を行わないと、後半にスコアを伸ばせなくなってしまいます。
スイカゲームで学べること一覧
ゲームを作る上で、実際にはもっと多くのことを学習できますが、大きなトピックとしては次のようなものが挙げられます
- 物理挙動によるオブジェクトの設定
- 当たり判定
- 当たった相手の判別など
- プレファブの使い方
- プレファブバリアントを使った設定の共有
- UI関係
- Next表示などのシステム
- スコア表示
まず作るフェイズ
まず作るところでは、各機能を単体で作りながら、Unityの操作に慣れていくことを目的とします。
- Part1.プロジェクトとリソースの準備
- Part2.囲いの中にフルーツを落とす
- Part3.フルーツがぶつかったら消す
- 衝突判定
- 床とフルーツを別々に識別する
- Part4.フルーツのプレファブとプレファブバリアント
- プレファブ化とプレファブバリアントの違い
- フルーツの種類を判定する
- Part5.次のフルーツに進化させる
- プレファブ化
- 当たったときにどっちのフルーツが処理を行うか
- 位置・角度・速度など
- 最後のフルーツは消滅のみ
- Part6.各フルーツを揃える
- フルーツのプレファブを用意
- 各フルーツごとに大きさなどを調整
- Part7.フルーツを発射する
- とりあえず出す
- 左右キーで出現位置を調整する
スライム
ここまでで基本的な部分の作成ができます!
ゲームっぽくしていくフェイズ
基本的な部分の制作が終わると、ゲームっぽい要素をどんどん追加していきましょう
- Part8.落下するフルーツをランダムにする
- 落下してくるフルーツを登録する
- ぶら下がり状態を作る
- Part9.次に落下してくるフルーツを予告する
- UIとの連携
- 次にぶらさがるフルーツを選択する
- Part10.スコアを増やす
- UIとの連携その2
- スコアの登録と増やす処理
- Part11.ゲームオーバー
- ゲームオーバーのUI
- ルールの適用