検索
<< 2024年12月 >>
1
2 3 4 5 6 7
8
9 10 11 12 13 14
22
23 24 25 26 27 28
29
30 31
広告
駿河屋レトロゲーム
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
カテゴリーアーカイブ
ファン
QRコード

2024年11月11日

【ゲーム制作】シューティングゲーム 第32回






シューティングゲーム 第32回です。
今回は、当たり判定 その?Aの?Aを組んでいきます。

前回、パワーアップした銛の当たり判定が広がる処理を組み込みました。
今作ではもうひとつ、敵の耐久力と、銛の威力の勝敗判定が必要となります。

相対関係はこんな感じ。



必要ダメージ数

銛の威力1

銛の威力2

銛の威力3


敵の耐久力1

1

1

1


敵の耐久力2

2

1

1


敵の耐久力3

3

2

1


敵の耐久力4

4

2

2


当たった時に、敵の耐久力から銛の威力を引き、0以下なら敵死亡となります。
敵を倒した時、銛の威力が残っていても、銛は敵に当たったら消えます。

24_11_11_1.png

スコアアップと、敵死亡音セット。
24_11_11_2.png

次回は、当たり判定 その?Bを組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年11月10日

【ゲーム制作】シューティングゲーム 第31回






シューティングゲーム 第31回です。
今回は、当たり判定 その?Aを組んでいきます。

次は、「銛」対「敵」です。
気を付けなければならないのは、パワーアップした銛の当たり判定が広がる事です。
これは「威力」をチェックし、直接判定ロジックの「範囲値」を書き換えます。

威力1
24_11_10_1.png

威力2
24_11_10_2.png

威力3
24_11_10_3.png

判定を行う条件としては、
・待機中の敵には当たり判定がない。
・死亡アニメーション中の敵には当たり判定がない。
・パワーアップアイテムには当たり判定がない。
です。

24_11_10_4.png
今回は当たり判定まで。
後は、「銛」には威力、「敵」には耐久力があるので、その判定が必要です。

次回は、当たり判定 その?Aの?Aを組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年11月08日

【ゲーム制作】シューティングゲーム 第30回






シューティングゲーム 第30回です。
今回は、当たり判定 その?@を組んでいきます。

まずは、何も考えなくてもいい、「プレイヤー」対「敵の弾」。
これは簡単、当たったら死亡フラグ立ててBASICに戻るだけです。
コナミの「魔城伝説」のように、「プレイヤー」自身に「透明化」や「無敵化」があれば、また話は別ですが…。

24_11_8_1.png
判定範囲は敵の弾が小さいのでこんな感じ。
敵の弾16発分繰り返します。

24_11_8_2.png

次回は、当たり判定 その?Aを組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年11月07日

【ゲーム制作】シューティングゲーム 第29回






シューティングゲーム 第29回です。
今回も、敵の弾処理を組んでいきます。

Laboratoryテーマ??6「自機に向かって飛んでくる敵弾」から流用してきたロジックを、今作のプログラム内に組み込み、組み込み先アドレスに合わせて飛び先指定を修正していきます。
それが終われば、今作に合わせて変数も修正。
Excelでやれるので多少は楽とは言え、やっぱり面倒くさい、物凄く時間が掛かる…。
ハンドアセンブラの悲しいとこです…。

修正完了したので、動作テスト。
24_11_6_1.png
おぉ!
ほぼ一発Ok!
奇跡だ…。

やっぱり狙撃弾は気持ちいいですね。

24_11_6_2.png

次回は、当たり判定 その?@を組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年11月06日

【ゲーム制作】シューティングゲーム 第28回






シューティングゲーム 第28回です。
今回は、敵の弾処理を組んでいきます。

敵の弾の数は16発。
敵表示と同様に16回ループさせます。

今回は狙撃弾なので、過去に「Laboratory」でやった、テーマ??6「自機に向かって飛んでくる敵弾」を、ほぼそのまま流用します。
Laboratoryテーマ??24「簡単な、自機に向かって飛んでくる敵弾(なんちゃって弾道計算)」をまだやっていないので、今回はこちらを採用します。
24_11_5_1.png
Laboratoryテーマ??6「自機に向かって飛んでくる敵弾」サンプルより弾移動と初期値セット部分を抽出

「自機に向かって飛んでくる敵弾」は、弾道を三角関数で算出するタイプなので、弾発射時の各値設定に若干時間かかりますが、最大16発なので特に気にならないかと思います。

このロジックを、今作のExcelファイルに組み入れ、変数と飛び先指定を書き換える必要があります。

次回も、敵の弾処理の続きを組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年11月05日

【ゲーム制作】シューティングゲーム 第27回






シューティングゲーム 第27回です。
今回は、パワーアップアイテム出現処理を組んでいきます。

敵の死亡アニメーション終了後、パワーアップアイテム出現処理を組み込みます。
他はどうしているか分かりませんが、私はパワーアップアイテム用のキャラクタ変数は用意しません。
なぜなら敵をパワーアップアイテムに変更するからです。

こうすれば、パワーアップアイテム用の移動ロジックを別途組む必要がありませんし、衝突判定も「プレイヤー」対「敵」と同じなので、処理の軽減にも役立ちます。(まぁ、微々たるものですが…。)

24_11_5_2.png
出現率は任意で。
何が出るかは全くのランダムです。

24_11_5_3.png

次回は、敵の弾処理を組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年11月04日

【ゲーム制作】シューティングゲーム 第26回






シューティングゲーム 第26回です。
今回は、敵表示処理のみ組んでいきます。

なぜ、敵表示だけなのか?
それは敵移動を組むのが大変なので後にして、それ以外を先に組んでしまおうと言う逃げ根性です。(冗談です。)
敵の表示は、敵の弾の発射起点であったり、当たり判定チェック用であったりと、しておかなくてはならないので、先に表示のみを組みます。

24_11_4_3.png
敵の数は10匹。
10回ループさせ初期位置にちゃんと指定のキャラが表示されるのを確認。
ループ処理の中に敵移動サブルーチンを呼び出すため用のスペースを開けておきます。
ついでに、共通ロジックとして敵が画面外に出た時の処理も組んでおきます。

もうひとつ、共通ロジックとして敵死亡アニメーションを組み入れます。
敵の死亡フラグを立てたら、ちゃんとアニメーションするか確認。

24_11_4_1.png
問題なく上手くいきました。
…アニメーション、ちょっと早いかな…?
まぁ、いいか。

敵の死亡、生物なのになぜ爆発なのかは、触れてはいけません。

24_11_4_2.png

次回は、パワーアップアイテム出現処理を組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年11月03日

【ゲーム制作】シューティングゲーム 第25回






シューティングゲーム 第25回です。
今回は、SPRITEパターン?bフ指定について考えます。

今作は敵の種類が多く、動きも多種となりますので、SPRITEパターン?b?指定する際のルールを決めます。
なぜなら、今までならSPRITEパターン数が少なかったので、空いていても問題なかったのですが、今作はパターン数が多いので、空いているところがないように効率よく配置する必要があるからです。
これを決めないと、SPRITEがいつまでたっても完成しない。

まず、動作タイプの種類を挙げます。



??

タイプ

パターン数

主な敵種


?@

・向きあり

・アニメなし

2

直進する敵

動きの速い敵


?A

・向きなし

・アニメあり

2

イソギンチャクなどの固定砲台

カニなどの甲殻類


?B

・向きあり

・アニメあり

4

通常攻撃してくる敵


?C

・向きなし

・アニメなし

1

パワーアップアイテム

岩などの地形



今作では、向き(右・左)と、アニメーション2パターンで、敵1種につき最大4パターンとなります。
配置順は、右方向のアニメパターン1、右方向のアニメパターン2、左方向のアニメパターン1、左方向のアニメパターン2の順とします。
この時、気を付けなければならないのが?@のタイプ。
アニメパターンがないので、ひとつパターンが飛びます。(下表参照)




パターン??

?@

?A

?B

?C


0

24_11_3_11.png

24_11_3_9.png

24_11_3_4.png

24_11_3_8.png


1


24_11_3_10.png

24_11_3_5.png



2

24_11_3_12.png


24_11_3_6.png



3



24_11_3_7.png



効率よく配置するためには?@のタイプは偶数種用意する。
難しければ、間に?Cのタイプを入れる事で、無駄なく配置できます。

上記ルールに則って、各面のSPRITEを描き直し、再配置します。
うーん、あまりキャラクタに時間掛けてられないので、とりあえずこれにて完成とします。
1面
24_11_3_1.png
2面
24_11_3_2.png
3面
24_11_3_3.png
一部海の生物じゃないものもいますが気にしない…。

次回は、敵の表示のみを組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年11月02日

【ゲーム制作】シューティングゲーム 第24回






シューティングゲーム 第24回です。
今回は、プレイヤーの弾移動を組んでいきます。

プレイヤーの弾(銛)は単純。
Aボタンが押されたら、連射出来ないようにして、プレイヤー位置から上に移動するだけです。
2発まで。

パワーアップで3段階の威力増となります。
併せて見た目も横に広がります。



1段階

2段階

3段階


24_11_2_2.png

24_11_2_3.png

24_11_2_4.png


威力と、当たり判定は、当たり判定ロジックで組みますので、ここではキャラクタを変更するだけです。

24_11_2_1.png

次回は、SPRITEパターン?bフ指定を考えます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年11月01日

【ゲーム制作】シューティングゲーム 第23回






突然敵の弾や、敵が消えたりする現象発生!
原因不明。

24_11_1_1.png

もしや!と思い、走査線割り込み処理からメイン処理に全ロジック移したら、現象が発生しなくなりました…。
なんでだろう…?
メイン処理と走査線割り込み処理で、ワーク変数等ダブってるとおかしくなるのでわざわざ全部分けたのに…。

うーん、考えてるだけ時間の無駄、バグが出る以上止む無し、走査線割り込み処理にはBGM演奏ルーチンのみ残し、あとは全部メイン処理に持っていきます。



メインプログラム

走査線割込み


プレイヤー処理

プレイヤー弾処理

敵処理

敵弾処理

当たり判定

背景処理

SPRITE水平ライン5枚以上点滅


BGM・効果音演奏



「SPRITE5枚以上表示」もメインに持っていくのは、例のバグ解消のためです。
振替えはそれほど手間ではないので、ゲームの完成が見えてきたら改めてチャレンジします。

過去の未完成パワーアップ型縦スクロールシューティングゲーム「セイバー」で、同じ処理やってて問題なくできてるんだけどな…。
既にソースがないので、詳細は追えませんが…。
今作と同じ、衝突判定とスクロールのみメイン処理で、残りは全て走査線割り込み処理内ですが、何の問題もない…。
私が何か忘れてるのかな…。

知見がある方ご教授お願いします。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: