シューティングゲームの敵の出現管理

今回はシューティンゲームでの簡単な敵の出現管理についてです(‘ω’)ノ

ゲームをプレイするといつも敵が同じところで同じように出てきます。決まった場所で出てくることでゲームの面白さや難しさが決まります。この敵の出現を管理するのはゲーム制作においてとても重要なことです。でもこれってどう管理するんでしょうね?

フレーム数で管理する

たぶんもっとも基本的な管理の方法がフレーム数で管理するやり方だと思います。これは毎フレームごとにカウントして一定の値になると敵を出現させるやり方です。

実際私がやっている方法を紹介します。この方法はこのゲームで使っています。

▷▷▷Cosmo Fighter

プログラムはこんな感じで作ってあります。

var stage = [        
    {x: 180, y: -16, type: "enemyA", interval: 16,},
    {x: 200, y: -16, type: "enemyB", interval: 16,},
    //以下同様に必要なだけ作る
];

上の配列のようにデータを作成しておきます。

  • x、y・・・出現位置
  • type・・・敵のタイプ
  • interval・・間隔

となっています。この最後のインターバルが次の敵の出現までのフレーム数です。このインターバル分だけフレーム数をカウントしたら次のキャラを出現させます。私が使っているenchant.jsなら以下のようになります。

if(this.age - this.from >= this.interval) {
    //出現処理を書く
    this.from = this.age;
}

ageはシーンなどが持っているフレーム数をカウントしているプロパティです。fromは前回出現させた時のフレーム数を記録しています。今のフレーム数と前回出現させた時のフレーム数との差がinterval以上になれば次を出現させます。

ものすごく単純ですがわかりやすくて扱いやすい方法です。背景なんかと同期させる必要がなければこの方法で十分ゲームを作ることができると思います(‘ω’)ノ

 

どのゲームで遊ぶ?

マリオ風横スクロールアクションゲーム。地下から制限時間内に脱出しろ!
ゲームではない。想像してください。壮絶な男たちの戦いを。。
同色で複数隣り合っているタイルをタッチするとそのタイルのところに他のタイルが集まります...
未完成の失敗作。なんで公開してるんだとか言わないでくれ。。

コメント欄

※コメントはまだありません※

コメントを残す

メールアドレスが公開されることはありません。

ゲームタグ一覧

ゲーム開発の参考書(amazon)

HTML5 ゲーム開発の教科書 スマホゲーム制作のための基礎講座
ゲームを作りながら楽しく学べるHTML5+CSS+JavaScriptプログラミング[改訂版] (Future Coders(NextPublishing))
改訂2版 はじめて学ぶ enchant.jsゲーム開発