ひよっこの備忘録

積み重ねて山となる

ブラザーを救え!(富士葵Youtube活動1周年記念)

富士葵Youtube活動一周年を祝って初めてゲームを作成してみました。
5分以内でサクッとプレイできる簡単なシューティングゲームです。

ブラザーを救え! | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

操作方法は十字キー(噂によるとWASDでも移動できるらしい) 左SHIFTを押しながら移動すると半分の速度で移動出来る。

基本的にはUnityの公式チュートリアルである2Dシューティングを参考にしながら進めました。 異なる点として一番大きいのは、Wave式ではなく時間で敵が出てくるタイプのシューティングゲームにしたことでしょうか。

using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;

public class Stage1Director : MonoBehaviour {

    // 敵
    public GameObject[] wave;

    // ボス
    public GameObject boss;

    // ボス予告
    public GameObject boss_yokoku;

    // Use this for initialization
    IEnumerator Start () {
        foreach (GameObject obj in wave)
        {
            EnemyController enmCont = obj.GetComponent<EnemyController>();
            yield return new WaitForSeconds(enmCont.pawnTime);
            Instantiate(obj);
        }

        yield return new WaitForSeconds(10.0f);
        GameObject boss_yokoku_obj = Instantiate(boss_yokoku);
        Destroy(boss_yokoku_obj, 3.0f);

        yield return new WaitForSeconds(boss.GetComponent<EnemyController>().pawnTime);
        Instantiate(boss);
    }
    
    // Update is called once per frame
    void Update () {
        
    }

    // ゲームオーバー
    public void GameOver()
    {
        StartCoroutine(MoveGameOverScene());
    }

    private IEnumerator MoveGameOverScene()
    {
        yield return new WaitForSeconds(3.0f);
        SceneManager.LoadScene("GameOver");
    }

    // ゲームクリアー
    public void GameClear()
    {
        StartCoroutine(MoveGameClearScene());
    }

    private IEnumerator MoveGameClearScene()
    {
        yield return new WaitForSeconds(3.0f);
        SceneManager.LoadScene("GameClear");
    }
}

割とゴリ押しな実装な気がするけどこんな感じになりました。
waveに敵のgameobjectを突っ込んで、そこに登録されている時間が経過したら出現させるという感じ。
ボスだけ特別な演出にするうまいやりかたが思い浮かばなかったので、雑魚の出現が全部終わって一定秒経ったら出現させる。という風にしました。
自分用だからコメントはほとんどなし。

他に工夫した点といえば、背景。
ループ用背景が描けないので、とりあえず場所は宇宙ということにして、星はパーティクルで表現しました。
上から下にパーティクルを流すことによって、プレイヤーが上方向に移動しているかのように表現しました。

そのうちプロジェクトはgithubかなんかで載せるかも。

もっと沢山ゲームを作るぞ~。