なにぶん、素人なんで、画面のキャプチャがうまくいかず、フレームレートがめちゃくちゃです。
早くなったり、遅くなったり・・・。
実物のゲームもフレームレートがおかしいんじゃないかと誤解されそうですねw
実際のプログラムはちゃんと安定しているので安心してください。
http://www.youtube.com/watch?v=TftSxPGsOEQ
へたくそなんで、まずボスまでたどり着くのに苦労しました(汗)
動画を撮ってると思うと緊張して余計にうまくいきません。
しかも、ボスに速攻でやられています・・・w
やり直す気力はありませんでした。
なんか、こうやって色々やってみると、現代の技術ってスゴいっすね。
フリーソフトでプレイ中の画面をカメラ無しで録画して、同じくフリーソフトでMP4に変換して、あとは動画共有サイトにアップすれば、次の瞬間には自分の作ったものが世界中で公開されているわけでしょ?
自主制作の創作活動において可能なことの幅が一昔前に比べて異次元レベルで広がってますよね。
子供の頃の自分に自慢してやりたい気分です。
「お前が大人になる頃にはなぁ・・・」って。
何はともあれ、初期段階のフォースの絵をとりあえず描いてみました。
フォースはパワーアップチップを出す敵を破壊すると出現するチップに接触する事で自機に装着されます。
当たり判定を持っていて無敵、敵弾に対してバリアの役割をしたり、射出して敵機に接触させる事でダメージを与えることが出来ます。。
また、フォースからも弾を発射する事が出来るので、射出し、自機の位置からは死角になった位置の敵機を攻撃する事も出来ます。
フォースは自機の前か後ろに装着する事が出来ます。
このアイテムはR-TYPEを他のシューティングゲームと差別化する際に最も重要なファクターです。
各ステージはこのフォースの存在を想定して設計されており、フォースをどのように使って攻略するかがR-TYPEに他のシューティングゲームに無い戦略性をもたらしていると言えるでしょう。
まずは、パワーアップチップの存在は無視して、最初からフォースを装着した状態でスタートしうまく動くように実装してみようと思います。
フォース用の構造体を作り、座標、移動用のベクトル、フォースのグレード(フォースはアイテムチップを追加取得する事でグレードアップする)、フォースの状態を表す変数を定義します。
考えられるフォースの状態を書き出してみましょう。
①自機の前に装着された状態
②自機の後ろに装着された状態
③Bボタンで射出され、何かに当たるまで直進する状態(①からなら画面右方向、②からなら画面左方向)
④③のあと、自機の動きに追従して誘導される状態
⑤③か④の状態でBボタンが押された際に、自機の方へ戻ってくる状態
こんなとこでしょうか。
これを、 Force.mode と言う変数で0~4の値で表現します。
プログラムはこの数値によって、その時のフォースのアルゴリズムを選び、動かします。
同じようにフォースのグレードを書き出すと、
①フォースの無い状態
②第一形態
③第二形態
③第三形態
となります。
これを、同じように Force.grade と言う変数で管理し、その数値によって表示するグラフィックなどをコントロールします。
その他に、攻撃方法を変更するアイテムもあるので、それを管理する変数ものちのち必要でしょう。
そこまで作るかわかりませんが・・・。
とりあえず、基本部分を実装してみますか。
ボスの攻撃を実装しました。
一定時間間隔で弾(?)を連射してきます。
画面の中心辺りを過ぎると自機方向に少し方向修正してきます。
ますますコアを狙い難くなりました。
さて、これで敵に関しては全て実装したので、一応通して遊べるものになりました。
お疲れ、俺。
これから先は、まずフォース(パワーアップアイテム)を実装しようかなと。
実は、次はアクションゲームに挑戦しようかなと漠然と考えていて、複数ステージで少しまともなゲームの体裁が整ったものを作ってみようと思っています。
オリジナルにしようと思っていますが、まだ考え中なのでどうなるか解りません。
どっちにしろ少し今までより規模の大きなゲームに挑戦することになるので、少しゲームの仕様とかプログラムの設計とか考える時間が必要です。
そういう見えない(ブログに書かない)作業を進めながら、このR-TYPEもどきを仕上げてゆこうと思っています。
なので、フォース実装も含めて当初の予定よりグラフィックなどの完成度も高めるかもしれません。
いずれドット絵の技術は必要ですしね。
と、言うわけで現状をアップしておきます。
難易度は僕には高いと感じられます。
僕の腕で、なんとかボスまで行ける時もあるって感じですな。
いつも通りZipファイルで、ソース、操作説明は同梱です。
http://multip.net/view/C5zdWgUvYx
えーと、ボスを倒しても尻尾だけ残るし、ゲームは終らないですが仕様です(笑)。
ESCで抜けてください。
あと、ミスするとスタート地点に即戻されます。
余韻なんてありませんw
さて、ここから何処までクオリティアップできるかなあ・・・。
ロードランナーとか、有名なゲームのフロッピーディスクが何枚かあって、わりと自由に触らせてもらっていた。
その中で今でも記憶に残っているほどハマったゲームがある。
プリンスオブペルシャというアクションゲームだ。
そうとう難易度の高いシビアなアクションゲームだったうえにキーボード操作だったから、まったく歯が立たなかった。
それでも僕はそのゲームにのめり込み、繰り返し遊んだ。
思い出補正を差し引いても、当時のパソコンの性能からは信じられないくらい滑らかにキャラクターがアニメーションするゲームだった。
でも、その動きは華麗だったり、カッコ良かったりといった感じではなく、どちらかと言うと頼りない感じだった。
主人公は足がもつれそうになりながら必死に走り、足場ギリギリに着地したときには「おっとっと」と落ちそうになる。
カッコ良いアクションをするゲームは他にたくさんあったけど、あんなに人間くさく、動きから感情まで伝わってくるようなアクションゲームは他になかったと思う。
僕の経験の中で、アクションゲームに機能として当たり前にあるキャラクターの動きに、初めて心に響くような表現が付加されたゲームだったと思う。
必死に動き回る人間くさい主人公といつしか同化し、僕はゲームにのめり込んでしまったのだ。
あのころに比べて今のゲームはキャラクターの表情まで表現できるくらい高度になったわけだけども、プレイヤーの心までそれが伝わってくるようなゲームは何故かやはりまれだ。
それはハイビジョンになったり、どんなに映像技術を駆使したからとからといって、大根役者は大根役者のままなのと似てると思う。
そこにはコンピュータの性能以上に作者のセンスや才能、もしくはこだわりに対する試行錯誤が必要なのだろう。
ボスの実装 ~その3~
テストで作っていた多関節アルゴリズムで動く尻尾を、本編のプロジェクトに移植、実装完了しました。
考えていたよりかなり大変な作業になりました。
まず、テスト版よりも関節の数が倍になっています。
それに伴って各値の調整をやり直す事になりました。
このアルゴリズムは関節の数が変ると動きがまるで違ってくるからです。
また、敵機の構造体配列は当初40用意していて、それはつまり同時に40体まで敵を処理できる事を表しています。
敵が出現する際は、この配列を調べて未使用の若い番号から使用する形になっています。
で、今回この配列を56用意するようにして、0~39番を通常の敵機、40~55番をボス専用にする処理を加えました。
理由は2つあります。
まず、ボス直前の最後の敵機が多数の誘導ミサイルを撃ってくることです。
このミサイルを破壊しきれずにボスのエリアまで追っかけられてしまった場合、ボス出現に必要な構造体が足りなくなってしまう可能性があるんじゃないかと思ったんです。
2つ目の理由は、多関節の制御をするために尻尾に使う15組の構造体は連番にする必要があったからです。
以上のような変更、追加と、移植しやすさをまったく考慮していなかったテストプログラムのせいで、尻尾の実装が予想以上に大変な作業になってしまったわけです。
移植する前提でテストプログラムを作る時は、変数名やその初期化部分、重要なアルゴリズム部分などはそのままコピーできるぐらい本編に則した形で作らなきゃダメですね。
大変だった分、勉強にもなりました。
うまく動いてくれた時はかなり感動しました(涙)
ブンブン尻尾を振ってコアへの攻撃を邪魔してきます。
ゲームの難易度にも関わるので、まだまだ微調整が必要になるでしょう・・・。
- 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 |
- 最新コメント
- プロフィール
はい。
- ブログ内検索
- カウンター
- アクセス解析