忍者ブログ
Admin*Write*Comment
35歳からのC言語ゲームプログラミング
[10]  [11]  [12]  [13]  [14]  [15]  [16]  [17]  [18]  [19]  [20
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ロボットタイプの敵実装

fc8d28e4.JPG


















ロボット型の敵機を作ってみました。
画面端で自機に高さを合わせながら、波動砲のような弾を一定時間間隔で撃ってきます。
上下移動だけだとそれっぽく動かないので、半径を小さめに設定した上で波運動のルーチンを通す事で動きに揺らぎを持たせています。

同時に敵データに固さのデータを追加しました。
このロボット型の敵機は波動砲最大溜め撃ち2発で倒せます。

さらに敵データに出現してからのフレーム数を追加しました。
これによって、出現してから1秒は下方向に動き、その後0.5秒掛けて左方向へカーブを描き、1.5秒過ぎからは画面端に切れるまで左へ真っ直ぐ飛ぶといった感じで複雑な動きをさせる事が出来ると思います。
また、今回のロボット型の敵機のように一定時間感覚で玉を打つといった処理も可能になりました。

あとは、敵弾に通常段、波動砲など、タイプを表す変数を設定して参照しながら表示しています。


~追記~
恥ずかしい話ですが、敵機の動きを確認するテストプレイの際に、目的の敵にたどり着く前に撃墜されるケースが出てきたので、自機の当たり判定部分のソースをコメント化して無敵状態になってたりします(笑)
PR
休日は家族サービスに使ったので、プログラムは進んでません。

だいぶ大目に見てもらってましたが、そろそろ「いい加減にしとけよ」ってムードが漂ってきました(笑)
もともと集中すると7時間、8時間とか平気で夢中になれるタイプなので、時間をしっかり管理して、「今日はここまで」ってやらないとマズイことになります。
夫婦問題に発展しかねません(笑)

『ゲームは1日1時間!』みたいな事を、子供のころ高橋名人が言ってた記憶があります。
どうやら、家族持ちにとっては『ゲーム作りも1日1~2時間!』となりそうです。

その分、集中力を高めで作業するか。
でも、実は特に問題無い時はプログラミング自体よりマップとかキャラクターのドット絵を描く方が時間かかってたり(笑)
プログラミングだけじゃゲームは作れないと言う、当たり前の事を痛感しています。
ゲームプログラミングを始めてから、当たり前かもしれないけどもゲームについてよく考えるようになった。
前からゲームは好きで、いろいろと考える事もあったわけだけど、それとはちょっと違う。

世の中には面白いゲームと面白くないゲームがある。
同じジャンルで、同じようなギミックを持っていても、面白いゲームと、そうじゃないゲームがある。
例えば横スクロールシューティングでも僕の好きなR-TYPEみたいに面白いやつと、技術的にはそう変らないのにあきらかにダメな作品がある。
個人の好みを差っぴいても。
その違いって何だろう。

僕はバンドをはじめた頃に優れた曲をコピーして得られたものと同じようなことがゲームプログラミングにもあるんじゃないかと思っている。
いや、後付的に自分の発想を考察してみると、どうやらそういう考えで行動をおこしているようだ。

優れたゲームの、『優れた』とは何が優れているのか。
何がプレイした人に面白いと感じさせるのか。
それを感覚的、かつ論理的に得なければ、面白いゲームを発想する事は出来ないんじゃないかと思う。

偶然とは言えないほど面白い作品を連発するクリエーターがいる。
そういう人は、きっと面白い作品を作るノウハウを持っていると思うのだ。
面白いゲームとは何かを、自覚していなかったとしても知っているのだ。きっと。

こんな考え方で『優れた作品』をコピーしてゆく事で、その中の僅かな部分でも得られるんじゃないかなあと期待していたりする。
いや、趣味だし、そんな大げさな事じゃないんだけども。

敵弾発射実装

0cacdb96.JPG












敵の弾がヒットした瞬間のスクリーンショット。




敵が一定確率で自機に向かって弾を撃ってくる処理を実装した。
敵の弾は座標、当たり判定用の半径、移動用のベクトルなどをデータとして持っている。
発射時点で、敵と自機の座標を結ぶベクトルを作成し、それを長さで割って正規化(長さ1のベクトルを作る)する。
それに1フレームで進めたいピクセル、つまり速さを掛けると、移動用のベクトルになる。
あとは、毎フレーム弾の座標に移動用ベクトルのX、Y成分を足してやればOK。

同時に自機と敵弾との当たり判定も実装した。

実行ファイルを。
いつも通りソース同梱です。
ダウンロードと操作説明は#8の記事を参照してください。
http://multip.net/view/33TBP8ChJL

今、朝の6時過ぎ・・・もう限界。
ねますzzz

波動砲貫通実装

6d6373c0.JPG


















スクリーンショットは、最大にためた波動砲が1機目のザコ敵を破壊して貫通した瞬間です。
ためた状態に応じて、波動砲にパワーを表す数字を1~16まで振り分けます。
今は敵機に堅さの概念が無いので、敵に当たる毎にパワーから1を引いて、0になったら消滅するようにしました。
グラフィックも現在のパワー値に応じて変化するようになっています。
  • 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
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
  • バーコード
  • ブログ内検索
  • カウンター
  • アクセス解析
Copyright © 35歳からのC言語ゲームプログラミング All Rights Reserved.*Powered by NinjaBlog
Graphics By R-C free web graphics*material by 工房たま素材館*Template by Kaie
忍者ブログ [PR]