2024年11月22日
【ゲーム制作】シューティングゲーム 第42回
シューティングゲーム 第42回です。
今回は、敵の動きのパターン?Aを組んでいきます。
各面共通の直進系3パターンを組んでいきます。
?D直進は、ただ真っ直ぐに落下するパターンです。
設定値により、落下速度が1〜3になります。
?Eスクロールに合わせて直進は、文字通り、スクロール速度に合わせて落下するパターンです。
海藻や、機雷などの地形物に使います。
出現したパワーアップアイテムにもこのパターンを使います。
これはスクロール処理にロジックを追加。
スクロール1ドット処理時に、この移動パターンの敵のY座標を+1します。
次回は、敵の動きのパターン?Aその?Aを組んでいきます。
2024年11月21日
【ゲーム制作】シューティングゲーム 第41回
シューティングゲーム 第41回です。
今回は、隊列飛行について考えます。
隊列飛行は意外と簡単です。
例えば8機の敵がいたとしたら、8機に同じ動きのパターンをするように設定します。
あとは、動き始めるタイミングをずらしてスタートするだけで隊列飛行になります。
仕組みとして「待機カウンタ」を用意して、1機目は「0」、2機目は「16」、3機目は「32」…
と、言った感じでセットします。
0ならパターン通りに動きます、1以上の時は-1し、何も動きません。
具体的には、待機カウンタ、1機目は「0」、2機目は「16」、3機目は「32」なので1機目が動きます。
そのまま継続して動きます。下図は8回(8ドット)動いた状態、待機カウンタ、1機目は「0」、2機目は「8」、3機目は「24」。
1機目が16回動いた状態。待機カウンタ、1機目は「0」、2機目は「0」、3機目は「16」。
2機目のカウンタが「0」になったので2機目が動き出します。
それをパターン終了まで、敵機数分繰り返します。
2機目が16回動いた状態。
3機目が動き出します。
これで連なって動いているように見えるのです。
敵の表示ルーチンの空けておいたスペースに、この仕組みを組み入れます。(「【ゲーム制作】シューティングゲーム 第26回」)
次回は、敵の動きのパターン?Aを組んでいきます。
2024年11月19日
【ゲーム制作】シューティングゲーム 第40回
シューティングゲーム 第40回です。
今回は、敵の動き左右反転を組んでいきます。
敵の動き左右反転とは何か?
よく、敵が画面外から現れる際、プレイヤーのX座標によって、右端上から現れたり、左端上から現れたりするシューティングゲームがありますよね。
そう、あれです。
プレイヤーによる、敵の出現位置付近での待ち構えを防ぐための工夫と思われます。
それほど難しくないので、組み込んでおきます。
敵の変数として、「左右反転フラグ」を用意します。
このフラグが立っていたら、X座標の移動時の計算を±逆にします。
あとは、敵の出現座標設定時に、X座標を反転させます。
これだけで、なんか反転した敵のパターンを作ったみたいになりますよね。
以外と見た目の効果は大きいです。
通常
反転
敵の移動ルーチンの空けておいたスペースに、この仕組みを組み入れます。(「【ゲーム制作】シューティングゲーム 第39回」)
敵の表示ルーチンには事前に組み入れてあります。(「【ゲーム制作】シューティングゲーム 第26回」)
次回は、隊列飛行について考えます。
2024年11月18日
【ゲーム制作】シューティングゲーム 第39回
シューティングゲーム 第39回です。
今回は、敵の動き その?@を組んでいきます。
最初はLaboratoryテーマで取り上げた4パターン。
まずは、全移動パターンデータを結合します。
ここら辺は「流石はExcel!」ですね。
次に、移動データをエリア分けした時の、エリア?bェ統一されていないなどありますので、4パターン共通で使えるようエリア?b?統一し、移動ルーチンを組みます。
最後に、各パターンごとの移動処理です。
この中に、敵のアニメーションや、向きによるSPRITパターン算出ルーチンも組み入れます。
更にその中に、敵の弾発射コールも組み入れます。
各パターンの初期値を入れ替えて、テスト実行。
うん! いい感じ。
4パターンとも、行動パターン、向き、アニメーション共に問題なしです。
やっぱり先にLaboratoryでやっといてよかったです。
次回は、敵の動き左右反転を組んでいきます。
2024年11月17日
【ゲーム制作】シューティングゲーム 第38回
シューティングゲーム 第38回です。
今回は、敵の動きについて考えます。
今作は3面しかありません。
ですので、それほど多くの動きを用意する必要はありません。
全面共通の動作として、
?@真っ直ぐ落下(速度3段階くらい)
?Aスクロールに合わせて落下(固定砲台、パワーアップアイテム)
?B斜めに落下
は必要かな?
後は、各面に数種類ずつ新しい動きを入れていけば単純にならないかな?
…と、言う事で、
1面は共通3種類、独自5種類で8種類。
2面は共通3種類、1面分5種類、独自2種類で10種類。
3面は共通3種類、1・2面分7種類、独自2種類で12種類。
で、どうでしょう?
用意する動作パターンとしては12種類となります。
本当は後の面に複雑な動きを組み入れたいのですが、最初の方の面に複雑な動きを入れた方がインパクトが強いからいいのか。
(コナミ「魔城伝説」のコウモリとか…。)
次回は、敵の動き その?@を組んでいきます。
2024年11月16日
【ゲーム制作】シューティングゲーム 第37回
シューティングゲーム 第37回です。
今回は、当たり判定 その?Cを組んでいきます。
最後は、「敵」対「バリア」と、「敵の弾」対「バリア」です。
当たり範囲は「敵」対「プレイヤー」と、「敵の弾」対「プレイヤー」と同じ範囲です。
「敵」との当たり判定の条件は、
・待機中の敵には当たり判定がない。
・死亡アニメーション中の敵には当たり判定がない。
・パワーアップアイテムには当たり判定がない。
です。
敵の弾は威力1固定なので、バリアに当たれば敵の弾は消滅し、バリア耐久力から1を引きます。
バリア耐久力が、0になればバリアが消滅。
敵は、当たればバリア耐久力から敵の耐久力を引き、0になればバリア消滅、敵の耐久力からバリア耐久力を引きます。
バリア耐久力から敵の耐久力を引き、0にならなければ敵消滅です。
次回は、いよいよ敵の動きについて考えます。
2024年11月15日
【ゲーム制作】シューティングゲーム 第36回
2024年11月14日
【ゲーム制作】シューティングゲーム 第35回
シューティングゲーム 第35回です。
今回は、パワーアップ処理を組んでいきます。
まずは、「スピードアップ」。
「プレイヤー」の縦横方向速度と、斜め方向速度に、以前に設定した増加値、それぞれ「+10」、「+7」します。
既に上限(縦横方向速度が150)の時は、「クラッシュ」となり、全敵に死亡フラグを立て、全敵の弾を消します。
次に「パワーアップ」。
「弾の威力」に「+1」します。
こちらも既に上限(威力が3)の時は、「クラッシュ」となります。
次に「バリア」。
「バリア」フラグに耐久力の「5」をセットします。
「0」の時はバリアなし。
こちらも既に上限(耐久力が5)の時は、「クラッシュ」となります。
最後「クラッシュ」。
入れる予定はなかったのですが、処理作るんだしアイテムの種類多い方がいいかなって。
次回は、クラッシュ処理を組んでいきます。