Categories: making

ゲーム「ワガハイ式ぷよぷよ」 制作手順1

(2019/6/25:内容を全面見直し…話の方向性は同様ですが、全面的に書き直しました!)

ゲームの設計を考えよう

私ワガハイは初心者時代、↓の本を用いてUnityの勉強をしましたので、基本的なゲームの作成順序は↓の本の考え方をベースにしております。

Unity2018完全対応版はコチラ↓

Unityの教科書 Unity 2018完全対応版 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)

Unity2019完全対応版はコチラ↓

Unityの教科書 Unity2019完全対応版 2D&3Dスマートフォンゲーム入門講座

まず新しいゲームを作成しようとする場合、ゲームの部品は何か、どの部品にどういうスクリプトを付けたら良いかを一旦整理しよう、というのがこの本では繰り返し言われてましたので、まずこのページではそういった整理をしていきましょう。

その前に、とりあえず遊んでみよう

まず、今回は既にあるゲームを再現するのが目標なので、とりあえずぷよぷよで遊んでみましょう。100回ぐらい、とことんぷよぷよをやれば、何となくゲームの基本的な挙動は分かってくると思います。以降では、ぷよぷよの基本的な動きについては分かっているものとして、解説していきます。

ゲームの部品を考えよう

では、このゲームの基本部品を並べていきます。とりあえず、右図のような色々な色のぷよ(ただの「Sphere」オブジェクトです)、そしてぷよを並べていくフィールドを作るための床とか壁(ただの「Cube」オブジェクトです)が必要ですね。

他にも、細かい話ですが、ぷよの消した個数を示すテキストUIなどが必要になりますね。まぁとりあえず、こんなもんでしょうか。

次に、スクリプトをアタッチさせる必要のある「動くオブジェクト」はどれでしょう?まぁゲームやると分かりますが、ぷよオブジェクトですよね!なので、ぷよオブジェクトに付けるスクリプトを作成する必要があります。ただし、ぷよに付けるスクリプトについては少し注意が必要です。本記事の後半にて、ここの所を詳しく書きましたので、是非そちらも読んでみて下さい!

また、ぷよを生成する工場が必要になりますね。2個セットの落下ぷよ(組ぷよ)オブジェクトをランダムで生成する、工場を稼働させるためのぷよ生成スクリプトが必要です。

他に、監督スクリプトも必要ですね。例えば、「4個以上揃ったらぷよを削除する」工程については監督スクリプトに記述していきます。また、今回のワガハイ式ぷよぷよでは「何個ぷよが削除されたか」を上のテキストUIにて表示します。そこへの書き換えも監督スクリプトにて記述しましょう。他には「積み上げたらゲームオーバー画面に移行」なども監督スクリプトに記述します。色々な役割がありますね!

それ以外にも、レベルを決める最初の画面の挙動、ポーズ画面作成、など細かな作業は様々ありますが、とりあえずゲームのメイン部分に必要なのは大体こんな所でしょうか。

各スクリプトの作成については別記事にて書いていきます。ゲームが遊べるページの下部にて目次を掲載しておりますので、そちらから目的の解説ページへジャンプするしていくのがオススメです。

シーンにオブジェクトを配置しよう

では次に、オブジェクトを配置していきます。とりあえず、上で挙げたこのゲームの基本部品を並べてみます。今回は、右図のように配置しました。x軸y軸の交差点(図中真ん中)が原点(x,y)=(0,0)になります。また、右図中での正方形1マスは幅1.0fで、ぷよのサイズも直径1.0fとなっており、ぷよがこの1マスに丁度入るサイズになっております。

よって、ぷよオブジェクトの中心は、右図のように(x,y)=(○.5f,○.5f)という位置に配置される訳ですね。

注:ぷよオブジェクトに付けるスクリプトについて

後々でも良いのですが、ぷよオブジェクトの挙動については少し気を付けたいことがありますので、一旦ここでまとめておきます。何に気を付けるべきかと言うと…

ぷよオブジェクトは、「2個セット(組ぷよ)で落下する時」と「組ぷよの片方が着地した後」では挙動が異なる!

スクリプト作成の際はこのことに注意が必要です。分かりづらい?なら…

ぷよオブジェクトは、「コンビで活動時」と「コンビ解散後」では挙動が異なる!

これなら分かり易いでしょう!え、余計に分かりづらい?そうか…(´・ω・`)

もう少し(マジメに)詳しく説明しますと…、

・「2個セット(組ぷよ)で落下する時」(通称「コンビで活動時」プレイヤーの命令により左右移動したり、左右回転したりする。組ぷよの内、片方が地面や他のぷよの上に着地したら、2個セットの組ぷよはバラバラになる。

・「組ぷよの片方が着地した後」(通称「コンビ解散後」組ぷよの内、着地していない方のぷよは、地面や他のぷよの上にまで落下する。着地後、同色ぷよが4個以上揃ったら消える、消えた後浮いているぷよはまた落下し、さらに同色ぷよが4個以上揃うとまた消える(連鎖になる)。

このように、ぷよオブジェクトは状況によって全然挙動が異なります。このような挙動をどのようにスクリプトに書いていくか?ですが…。

例えば1つのスクリプト中で両者の挙動を全て記述してもOKですし、各挙動を別々のスクリプトで記述するのも手です。

ワガハイ式ぷよぷよでは後者、つまり各挙動を別々のスクリプトで記述しました。と言ってもぷよオブジェクトに2種類のスクリプトを付ける訳にはいきませんので、下図のような方針で作成しました。

まず前提として、「コンビで活動時」は、2つのぷよぷよ(子)は「ぷよセット」という1つの空オブジェクト(親)に属しています。

「コンビで活動時」の動きこの空オブジェクト(親)に付けたスクリプトに記述します。そして、どちらかのぷよが着地するとこの空オブジェクト(親)は消滅します。

「コンビ解散後」の動き各ぷよに付けたスクリプトに記述します。「コンビで活動時」はこのスクリプトは働かないようにして、「コンビ解散後」になった瞬間、つまり「空オブジェクト(親)が消滅した瞬間」に各ぷよのスクリプトが発動するような仕組みを作っていきます。

これら「ぷよセット」「ぷよ」に付けるスクリプトについては、制作手順2以降で具体的に書いていきます。次回以降もよろしくお願いします!!

r_yoshi

Recent Posts

ゲーム「ワガハイ式テトリス」 制作手順4-2

監督スクリプトを記述しよう(ブ…

5年 ago

動的配列(List型)のご紹介と活用法

こちらのページでは、Unity…

5年 ago

ゲーム「ワガハイ式テトリス」 制作手順4-1

監督スクリプトを記述しよう(ブ…

5年 ago

ゲーム「ワガハイ式ビリヤード」 制作手順2-5

監督スクリプトを記述しよう こ…

5年 ago

ゲーム「ワガハイ式テトリス」 制作手順2-1

テトリミノに付けるスクリプトを…

5年 ago

ゲーム「ワガハイ式ぷよぷよ」 制作手順3-2

各ぷよに付けるスクリプトを記述…

5年 ago