新規記事の投稿を行うことで、非表示にすることが可能です。
2024年11月30日
【ゲーム制作】シューティングゲーム 第50回
シューティングゲーム 第50回です。
今回は、敵の初期値データを組んでいきます。
敵1機に必要な変数は、今作は16個。
変数+n | 用途 | 詳細 |
0 | 種類 | 敵のキャラクタパターン先頭 |
1 | Y座標 | |
2 | X座標 | |
3 | アドレス(下位) | 行動パターンデータ使用時 |
Y座標カウンタ | 32方向移動用 | |
4 | アドレス(上位) | 行動パターンデータ使用時 |
X座標カウンタ | 32方向移動用 | |
5 | 移動方向カウンタ | 0:左下 1:左上 2:右上 3:右下 4〜:他 |
6 | 読取方向フラグ | 0:上から下へ 1:下から上へ |
7 | 行動パターン | |
8 | 左右反転 | 0:通常 1:反転 |
9 | アニメカウンタ | |
10 | 待機カウンタ | 0:行動中 1〜:待機中 |
11 | キャラクタ向き | 0:右向き 1:左向き |
12 | 色 | |
13 | 耐久力 | &HFF:無敵 |
14 | Y方向速度 | 32方向移動用 |
15 | X方向速度 | 32方向移動用 |
原則、各データの用途は上表の振分けとしますが、行動パターンによっては「3」や「4」のように、異なる用途に使う事もあります。
上表の用途に則って、1面の編隊vの初期値データを組んでみました。
2行で1編隊uェ、15種類の初期値データとなります。
今作ではしませんが、編隊ごとに1匹当たりのスコアを変えたいとか、コナミの「グラディウス」のように決まった敵が決まったアイテムを落とす等したい時は、変数を増やして対応します。
次回は、敵出現設定を組んでいきます。
2024年11月29日
【ゲーム制作】シューティングゲーム 第49回
シューティングゲーム 第49回です。
今回は、敵の動きのパターンと、編隊b紐づけていきます。
編隊bチて何?と言われそうですが、前回までで敵の動きを組みましたが、あくまで行動パターンだけです。
ゲームの敵として出現させるには、出現位置と敵の種類や色、行動パターン、耐久力などの「初期値」を設定する必要があります。
それらを設定するのが、編隊bナす。
例えば、編隊1は、「耐久力1の「スナメリ」を青色で、Y座標を上画面外、X座標をプレイヤーの反対側の端から、8匹の隊列で出現させる」と言った設定をします。
同じ敵のキャラクタでも、行動パターンが違うなども、別々の編隊bノ組み入れれば可能となります。
また、敵出現時に編隊bニ一緒に引数も設定することで、同じ編隊bナ移動速度を変えたりとか、出現するX座標を変えたりできるようにします。
1面分です。
こんな感じです。
1面の行動パターンは8種類の予定なので、使われない敵もいます。
次回は、敵の初期値データを組んでいきます。
2024年11月28日
【ゲーム制作】シューティングゲーム 第48回
シューティングゲーム 第48回です。
今回は、急遽、背景FONTの描き直しをします。
描き直しの理由はいくつかあります。
一向に画面のブレが直らないのと、全体の処理速度が遅くなってきたからと言うのもありますが、一番はやはり、「敵キャラクタが見難い」からです。
今、敵の出現を組んでいて、テストで敵を動かしていると、明るい系の色の敵が見難い…。
うーん、敵の同時出現数減らしてでも、2色キャラクタにするべきだったか…。
1面の主となる背景色である色9(マゼンダ)が明かる過ぎると言うのもありますね。
9を暗くすると6になります。(8は赤だから飛ばし)
となると、画面で使われている色が、6と1(黒)の2色になります。
…カラーシフトの必要なくない?
…と、言う訳で、ブレ対策も含め、カラーシフト無しにします。(シフト処理が半分になる。)
ついでに画面が少しでも暗くなるように、ブラインド処理しときます。
1面
おぉ、敵が見易くなって、画面のブレがなくなった…。
うーん、不本意ですが、敵が見えなくては本末転倒尾なので、止む無しかなぁ…。
2面
3面
次回は、敵の行動パターンと編隊bニの紐付けを組んでいきます。
2024年11月27日
【ゲーム制作】シューティングゲーム 第47回
シューティングゲーム 第47回です。
今回は、急遽、敵キャラクタの改修を行います。
なぜかと言うと、敵の行動パターンの作成中に、既存の敵キャラクタのアニメパターン数のバランスが悪いことが判明。
どういうことかと言うと、「向き」と「アニメーション」が必要な行動パターン(4パターンキャラクタが必要)が多いのに対し、「向き」、「アニメーション」両方あるキャラクタが少なく、「向き」のみ(2パターン)、「アニメーション」のみ(2パターン)のキャラクタが多かったのです。
4パターンキャラクタ
2パターンキャラクタ
そこで、4パターンキャラクタを2種類追加し、2パターンキャラクタ、1パターンキャラクタを削除します。
4パターンキャラクタとして新たに「フグ」を追加し、2パターンキャラクタの「カニ」を4パターンキャラクタ化します。
あと「岩」と「ブロック」の使い道がないので「機雷」1つにまとめました。
あとは、全体的にそれが出来るよう並び替え。
深く考えずにスタートすると、やっぱりこういう事になりますよね…。
1面
2面
3面
因みに、折角描いたのに、使わないキャラクタが出ることも判明…。(トホホ…。)
次回は、敵の行動パターンと編隊bニの紐付けを組んでいきます。
2024年11月26日
【ゲーム制作】シューティングゲーム 第46回
シューティングゲーム 第46回です。
今回は、敵の動きのパターンDを組んでいきます。
あれ?
このパターン追加したら13種類になる…。
まぁ、いいか。
実は、ナムコの「ゼビウス」の破裂弾を作りたかったのです。
ただ、まぁ、弾が16発なので、16方向弾しかできませんが…。
敵のキャラクタを弾にして、敵10匹も弾として使用することで26発まで弾にできる仕組みは組み入れてありますが、今作ではいいかな…。
下半分の16方向弾という手もありますが、見栄え的に全方向にしたい。
D斜め直進移動でLaboratoryテーマ9「32方向弾」の移動ロジックを流用しましたが、32方向弾の初期値設定ロジックの方も流用します。
ロジックそのまま持ってきて、変数と飛び先を修正。
これで16方向弾が完成です。
次回は、ここまでに作成した行動パターンと編隊bニの紐付けを行います。
2024年11月25日
【ゲーム制作】シューティングゲーム 第45回
2024年11月24日
【ゲーム制作】シューティングゲーム 第44回
シューティングゲーム 第44回です。
今回は、敵の動きのパターンBを組んでいきます。
今回はLaboratoryのパターンの亜種を組んでいきます。
「Laboratoryのパターンの亜種」って、何?と、思われるかも知れません。
Laboratoryで4パターン作りましたが、そのパターンの初期値を変更するだけで変わった行動パターンが作れるのです。
例えば、移動する向きや、読込データを変更します。
具体的にGの動きをさせるには、横半円の行動パターンを使い、初期値を下表のように変更すれば可能です。
行動パターンbヘ同じですが、読込アドレスを@円回転の物を利用しています。
これだけで、プログラム組まずに新しい行動パターンが結構作成できます。
今作はそこまで行動パターンが要らないので、とりあえず特徴のあるもの3つ。
次回は、敵の動きのパターンCを組んでいきます。
2024年11月23日
【ゲーム制作】シューティングゲーム 第43回
シューティングゲーム 第43回です。
今回は、敵の動きのパターンAそのAを組んでいきます。
F斜め移動は、どこまで角度を細かく設定するかで、大きくロジックが変わってくるので、かなり悩みました。
最終的に32方向弾と同じ、11.25度刻みで下部180度に直進する事に決定。
Laboratoryテーマ9「32方向弾」から、移動量データと移動ロジックを流用します。
この中の、32方向への移動量データを活用する事で11.25度刻みの角度で斜め移動が可能となります。
90度分を0〜7の傾きとして、0〜3のエリアを指定するだけで、その方向に移動します。
実は過去の公開作では、斜め方向は45度しか移動していません。
次回は、敵の動きのパターンBを組んでいきます。
2024年11月22日
【ゲーム制作】シューティングゲーム 第42回
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を組んでいきます。