独習 Unity アプリ開発

独習でスマフォ向けアプリ開発を勉強中

Unity で テトリス風ゲームを作ってみる#1

Unityでゲームを作る

 Unity Version 2022.3.4

目次

0. 作業の流れ


テトリス風ゲームを作る手順は、おおよそ以下の3つである。

  1. なにを作るか?を整理
  2. どう作るか?を確認
  3. 1と2の結果を実装する

以後、この流れで説明を進めていく。

 

1. なにを作るか?を整理


テトリミノ

  • ブロック
    • テトリミノが着地した後の状態。
    • テトリミノに復帰することはないので、着地した後は個々のブロックの単位で扱われる。

 

  •  フィールド
    • テトリミノが移動できる領域。縦20 個 x 横10 個のブロックが置けるサイズ
    • フィールドの外側は幅1 個分のブロックで枠が表現される。

 

  • Next テトリミノ
    • 次に落ちてくるテトリミノ。
    • フィールド脇のエリアに表示される。

 

  • ハイスコア/スコア/Level
    • これまでのハイスコア, 現在のゲームのスコアとレベル。
    • スコアとレベルの関係は適当に調整。

フィールド

 

ルール

  • テトリミノは、フィールドの最上段・中央に出現し1 段ずつ落下する。
    • 落ちてくるスピードは、レベルによって変わる。
  • テトリミノの出現比率はどれも同じとする。
  • テトリミノは、Q、Eキーで左右90度単位で回転させることができる。
    • テトリミノの形状により、回転中心がズレることがあるが、そのあたりは適当に。

テトリミノの回転
  • テトリミノは、移動先に他のブロックがない場合は、左右キーで、左右に1マスづつ移動させることができる。
  • テトリミノは、移動先に他のブロックがない場合は、下キーで、高速に落下させることができる。
  • テトリミノの下に他のブロックまたはフィールド枠がある状態が一定時間続くと、テトリミノは着地したものと判定される。
  • テトリミノが着地した場合は、Next テトリミノがフィールド上に出現する。
  • フィールドの各ラインがブロックで隙間なく満たされると、そのラインのブロックは消滅する。
    • 一度に消滅したラインによって得点が変わる。
  • 消滅したラインの上にあるブロックは、消滅したライン数分下に落下する。
  • テトリミノが出現した時点で、ブロックと重なった場合はゲームオーバー。
  • その他 Wikipediaによると、細かい挙動の規定があるが無視して実装のしやすさを優先する。

 

ゲーム画面

まずは、どんな画面が必要かを整理。ざっくり下記の3種類が必要。

  • タイトル画面
    • ゲーム開始時に表示される画面。
    • タイトル画像 (or 文字) とスタートボタンを表示。
    • スタートボタンが押されたらゲームスタート。

 

  • ゲームプレイ画面
    • ゲーム中の画面。
    • フィールド、スコア、Next を表示。

 

  • ゲームオーバー画面
    • ゲームオーバー時に表示される画面。
    • ゲームオーバー画像 (or 文字) と リトライボタンを表示。
    • リトライボタンが押されたらゲームを再スタートする。

 

各画面の関係は以下のとおり。

画面遷移

 

次の記事

Unity で テトリス風ゲームを作ってみる#2