Unity で テトリス風ゲームを作ってみる#1
Unityでゲームを作る
Unity Version 2022.3.4
0. 作業の流れ
テトリス風ゲームを作る手順は、おおよそ以下の3つである。
- なにを作るか?を整理
- どう作るか?を確認
- 1と2の結果を実装する
以後、この流れで説明を進めていく。
1. なにを作るか?を整理
テトリミノ
- ブロック
- テトリミノが着地した後の状態。
- テトリミノに復帰することはないので、着地した後は個々のブロックの単位で扱われる。
- フィールド
- テトリミノが移動できる領域。縦20 個 x 横10 個のブロックが置けるサイズ
- フィールドの外側は幅1 個分のブロックで枠が表現される。
- Next テトリミノ
- 次に落ちてくるテトリミノ。
- フィールド脇のエリアに表示される。
- ハイスコア/スコア/Level
- これまでのハイスコア, 現在のゲームのスコアとレベル。
- スコアとレベルの関係は適当に調整。
ルール
- テトリミノは、フィールドの最上段・中央に出現し1 段ずつ落下する。
- 落ちてくるスピードは、レベルによって変わる。
- テトリミノの出現比率はどれも同じとする。
- テトリミノは、Q、Eキーで左右90度単位で回転させることができる。
- テトリミノの形状により、回転中心がズレることがあるが、そのあたりは適当に。
- テトリミノは、移動先に他のブロックがない場合は、左右キーで、左右に1マスづつ移動させることができる。
- テトリミノは、移動先に他のブロックがない場合は、下キーで、高速に落下させることができる。
- テトリミノの下に他のブロックまたはフィールド枠がある状態が一定時間続くと、テトリミノは着地したものと判定される。
- テトリミノが着地した場合は、Next テトリミノがフィールド上に出現する。
- フィールドの各ラインがブロックで隙間なく満たされると、そのラインのブロックは消滅する。
- 一度に消滅したラインによって得点が変わる。
- 消滅したラインの上にあるブロックは、消滅したライン数分下に落下する。
- テトリミノが出現した時点で、ブロックと重なった場合はゲームオーバー。
- その他 Wikipediaによると、細かい挙動の規定があるが無視して実装のしやすさを優先する。
ゲーム画面
まずは、どんな画面が必要かを整理。ざっくり下記の3種類が必要。
- タイトル画面
- ゲーム開始時に表示される画面。
- タイトル画像 (or 文字) とスタートボタンを表示。
- スタートボタンが押されたらゲームスタート。
- ゲームプレイ画面
- ゲーム中の画面。
- フィールド、スコア、Next を表示。
- ゲームオーバー画面
- ゲームオーバー時に表示される画面。
- ゲームオーバー画像 (or 文字) と リトライボタンを表示。
- リトライボタンが押されたらゲームを再スタートする。
各画面の関係は以下のとおり。
次の記事