ブロック崩しの作り方[Breakout/アルカノイド]

ここではゲーム開発の基本!ブロック崩しを作って見たいと思います。

メンテ中のページはまだリンクを用意出来ていないです。

どんなゲームを作れる?学べること

まずは今回どのようなゲームが作れるかと、制作に当たりどのような要素が学べるかの確認を行います。

ブロック崩しと言ったり・・

今回作るのは一般的にはブロック崩しと呼ばれるゲーム。市販のゲームだと「アルカノイド」。海外ではBreak Outって呼ばれることが多いみたいです。

  • プレイヤーはプレイボタンでボールを発射します
  • 発射されたボールは壁・ブロック・プレイヤーに当たると反射を行います
    • このとき衝突したブロックは消滅します
    • ゲームルールによっては複数回衝突しないと消えないブロックあり
  • ボールが画面下部に到達するとゲームオーバー
  • プレイヤーは左右入力で移動し、ボールが画面下部に落下するのを阻止します

学習出来る内容

ここでは簡単な入出力や当たり判定などを知ることが出来ます

  • 入力処理
  • 当たり判定
  • SEを鳴らす
  • プレファブ

基礎部分の制作

まずはゲームの基礎になる部分を作成します。

  • プロジェクトの準備
    • プロジェクト作成
    • 必要なアセットの入手
  • ボールの作成と発射処理
    • ボールの設定:Rigidbody系の設定
    • 発射用のスクリプト
    • 跳ね返る壁を作成
  • プレイヤーの作成
    • 表示作成
    • 左右移動処理
  • ブロックの生成
    • ブロック用プレファブ作成
    • 整列処理を実装
  • ブロックの消滅処理
    • タグの設定
    • 衝突判定処理

仕上げ関係

  • アウト処理
    • ボールが画面下部を下回った時
    • ゲームマネージャーを作成
  • リスタート処理
    • アウト処理との連携
  • 残機の実装
    • アウト処理との連携
    • UIとの連携
  • ゲームオーバー
    • UI作成
    • シーンの再開
  • スコアアップ
    • UI作成
    • ブロック消滅との連携
  • ゲームクリア
    • UI作成
    • クリア条件を満たすとクリア!