ロボットタイプの敵実装

ロボット型の敵機を作ってみました。
画面端で自機に高さを合わせながら、波動砲のような弾を一定時間間隔で撃ってきます。
上下移動だけだとそれっぽく動かないので、半径を小さめに設定した上で波運動のルーチンを通す事で動きに揺らぎを持たせています。
同時に敵データに固さのデータを追加しました。
このロボット型の敵機は波動砲最大溜め撃ち2発で倒せます。
さらに敵データに出現してからのフレーム数を追加しました。
これによって、出現してから1秒は下方向に動き、その後0.5秒掛けて左方向へカーブを描き、1.5秒過ぎからは画面端に切れるまで左へ真っ直ぐ飛ぶといった感じで複雑な動きをさせる事が出来ると思います。
また、今回のロボット型の敵機のように一定時間感覚で玉を打つといった処理も可能になりました。
あとは、敵弾に通常段、波動砲など、タイプを表す変数を設定して参照しながら表示しています。
~追記~
恥ずかしい話ですが、敵機の動きを確認するテストプレイの際に、目的の敵にたどり着く前に撃墜されるケースが出てきたので、自機の当たり判定部分のソースをコメント化して無敵状態になってたりします(笑)
ロボット型の敵機を作ってみました。
画面端で自機に高さを合わせながら、波動砲のような弾を一定時間間隔で撃ってきます。
上下移動だけだとそれっぽく動かないので、半径を小さめに設定した上で波運動のルーチンを通す事で動きに揺らぎを持たせています。
同時に敵データに固さのデータを追加しました。
このロボット型の敵機は波動砲最大溜め撃ち2発で倒せます。
さらに敵データに出現してからのフレーム数を追加しました。
これによって、出現してから1秒は下方向に動き、その後0.5秒掛けて左方向へカーブを描き、1.5秒過ぎからは画面端に切れるまで左へ真っ直ぐ飛ぶといった感じで複雑な動きをさせる事が出来ると思います。
また、今回のロボット型の敵機のように一定時間感覚で玉を打つといった処理も可能になりました。
あとは、敵弾に通常段、波動砲など、タイプを表す変数を設定して参照しながら表示しています。
~追記~
恥ずかしい話ですが、敵機の動きを確認するテストプレイの際に、目的の敵にたどり着く前に撃墜されるケースが出てきたので、自機の当たり判定部分のソースをコメント化して無敵状態になってたりします(笑)
PR
休日は家族サービスに使ったので、プログラムは進んでません。
だいぶ大目に見てもらってましたが、そろそろ「いい加減にしとけよ」ってムードが漂ってきました(笑)
もともと集中すると7時間、8時間とか平気で夢中になれるタイプなので、時間をしっかり管理して、「今日はここまで」ってやらないとマズイことになります。
夫婦問題に発展しかねません(笑)
『ゲームは1日1時間!』みたいな事を、子供のころ高橋名人が言ってた記憶があります。
どうやら、家族持ちにとっては『ゲーム作りも1日1~2時間!』となりそうです。
その分、集中力を高めで作業するか。
でも、実は特に問題無い時はプログラミング自体よりマップとかキャラクターのドット絵を描く方が時間かかってたり(笑)
プログラミングだけじゃゲームは作れないと言う、当たり前の事を痛感しています。
だいぶ大目に見てもらってましたが、そろそろ「いい加減にしとけよ」ってムードが漂ってきました(笑)
もともと集中すると7時間、8時間とか平気で夢中になれるタイプなので、時間をしっかり管理して、「今日はここまで」ってやらないとマズイことになります。
夫婦問題に発展しかねません(笑)
『ゲームは1日1時間!』みたいな事を、子供のころ高橋名人が言ってた記憶があります。
どうやら、家族持ちにとっては『ゲーム作りも1日1~2時間!』となりそうです。
その分、集中力を高めで作業するか。
でも、実は特に問題無い時はプログラミング自体よりマップとかキャラクターのドット絵を描く方が時間かかってたり(笑)
プログラミングだけじゃゲームは作れないと言う、当たり前の事を痛感しています。
ゲームプログラミングを始めてから、当たり前かもしれないけどもゲームについてよく考えるようになった。
前からゲームは好きで、いろいろと考える事もあったわけだけど、それとはちょっと違う。
世の中には面白いゲームと面白くないゲームがある。
同じジャンルで、同じようなギミックを持っていても、面白いゲームと、そうじゃないゲームがある。
例えば横スクロールシューティングでも僕の好きなR-TYPEみたいに面白いやつと、技術的にはそう変らないのにあきらかにダメな作品がある。
個人の好みを差っぴいても。
その違いって何だろう。
僕はバンドをはじめた頃に優れた曲をコピーして得られたものと同じようなことがゲームプログラミングにもあるんじゃないかと思っている。
いや、後付的に自分の発想を考察してみると、どうやらそういう考えで行動をおこしているようだ。
優れたゲームの、『優れた』とは何が優れているのか。
何がプレイした人に面白いと感じさせるのか。
それを感覚的、かつ論理的に得なければ、面白いゲームを発想する事は出来ないんじゃないかと思う。
偶然とは言えないほど面白い作品を連発するクリエーターがいる。
そういう人は、きっと面白い作品を作るノウハウを持っていると思うのだ。
面白いゲームとは何かを、自覚していなかったとしても知っているのだ。きっと。
こんな考え方で『優れた作品』をコピーしてゆく事で、その中の僅かな部分でも得られるんじゃないかなあと期待していたりする。
いや、趣味だし、そんな大げさな事じゃないんだけども。
前からゲームは好きで、いろいろと考える事もあったわけだけど、それとはちょっと違う。
世の中には面白いゲームと面白くないゲームがある。
同じジャンルで、同じようなギミックを持っていても、面白いゲームと、そうじゃないゲームがある。
例えば横スクロールシューティングでも僕の好きなR-TYPEみたいに面白いやつと、技術的にはそう変らないのにあきらかにダメな作品がある。
個人の好みを差っぴいても。
その違いって何だろう。
僕はバンドをはじめた頃に優れた曲をコピーして得られたものと同じようなことがゲームプログラミングにもあるんじゃないかと思っている。
いや、後付的に自分の発想を考察してみると、どうやらそういう考えで行動をおこしているようだ。
優れたゲームの、『優れた』とは何が優れているのか。
何がプレイした人に面白いと感じさせるのか。
それを感覚的、かつ論理的に得なければ、面白いゲームを発想する事は出来ないんじゃないかと思う。
偶然とは言えないほど面白い作品を連発するクリエーターがいる。
そういう人は、きっと面白い作品を作るノウハウを持っていると思うのだ。
面白いゲームとは何かを、自覚していなかったとしても知っているのだ。きっと。
こんな考え方で『優れた作品』をコピーしてゆく事で、その中の僅かな部分でも得られるんじゃないかなあと期待していたりする。
いや、趣味だし、そんな大げさな事じゃないんだけども。
敵弾発射実装
敵の弾がヒットした瞬間のスクリーンショット。
敵が一定確率で自機に向かって弾を撃ってくる処理を実装した。
敵の弾は座標、当たり判定用の半径、移動用のベクトルなどをデータとして持っている。
発射時点で、敵と自機の座標を結ぶベクトルを作成し、それを長さで割って正規化(長さ1のベクトルを作る)する。
それに1フレームで進めたいピクセル、つまり速さを掛けると、移動用のベクトルになる。
あとは、毎フレーム弾の座標に移動用ベクトルのX、Y成分を足してやればOK。
同時に自機と敵弾との当たり判定も実装した。
実行ファイルを。
いつも通りソース同梱です。
ダウンロードと操作説明は#8の記事を参照してください。
http://multip.net/view/33TBP8ChJL
今、朝の6時過ぎ・・・もう限界。
ねますzzz
- ABOUT
やってやれないことはないっ!たぶん・・・
- カレンダー
04 | 2025/05 | 06 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 最新コメント
[11/09 CALL MY NAME]
[11/09 erin]
[08/18 うずランド]
[07/11 うずランド]
[06/23 うずランド]
- プロフィール
HN:
Call my name
年齢:
50
性別:
男性
誕生日:
1974/05/22
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
はい。
- ブログ内検索
- カウンター
- アクセス解析