同人界を揺るがすシューティングゲームを創ろうぜ日誌 第二夜
の21a TRY@CATCHをよろしくします。
さて。昨今はほんとう、シューティングゲーム作りにいそしんでいます。
(とはいえ、実装はほとんどやらず、頭の中で設計を繰り返す毎日)
ひとまず、敵に弾幕を張らせてみた。
緩めの感じで。
※グラフィックは全てフリー素材サイトから頂いたもの
弾幕系シューティングが人気というけれど、弾幕を張らせるのはプログラミング上、とても簡単なことだ。
弾の描画位置を決めるには、
角度×円周率×2のコサインをX座標、サインをY座標とすればいい。
これに弾の速度をかければ、弾が決まったベクトルに進んでいくように見える。
つまり、弾幕を張るには、角度を短いフレームで細かく変化させて弾を生成すればよいのだ。
上の画像では2/60フレームで5/360度ずつ弾を打ち出している
(……のだが、座標位置がint型なので小数点以下の座標が切り捨てられてる)
ここで、弾に与える角度を固定にせず、常に変化するように作ると、
まるで弾が生きているかのように、変な動きをする。乱数を使えばカナリ面白いことになるだろう。
↑ という具合だ。
これは凄まじく細かい回転を繰り返しながら、一度上に行ってしばらくすると下に戻ってという動きをしつつ、
だんだんと画面左上に向かって弾が昇っていっている。
はっきりいって、角度を変化させるやり方を実装すると、
動かしてみるまで、作る方にもその動きが予想できない。
この、「予想できない」というところがミソだ。
もちろん細かい計算を完全に頭の中でシミュレートできる天才数学者とかなら、近似の動きを予想できるかもしれないが一般的には難しいだろう。
まして、内部の計算式を知らないプレイヤーは分かるはずもない。
だから、「プレイする度、自分が撃つ弾の軌道が予想できない」のだとしたら、
プレイヤーは毎回新鮮な驚きがあるし、「毎度、敵の弾の軌道も予想できない」のであれば、
攻略法などなくなるわけだ。
今から作ろうとしているシューティングゲームは、毎回プレイ感が異なる、「攻略法のない」ゲームを最終的には目指したい。
それが鬱陶しいバランスとなってはいけない。プレイ感は快適でありながら、上記の要素を満たす。
そんなシューティングにしたいと思っている。
それには、拡張性の考慮が非常に重要だ。
基底となる部分をしっかり作り込んで、後からクラスを追加するだけで、簡単に新しい弾や敵が生成できなくてはならない。
どうも世に出ているゲーム制作系の解説本やサイトは、
拡張性が考慮されていない。
シューティングゲームを作るにあたって、やはり基本は抑えておこうと本を買ったのだが、
あまり参考にならなかった。
こちらと意図としては、自機、敵機と、それらが放つ弾は独立させたいのだ。
どんな敵がどんな弾を撃つのか、何種類撃つのか、は敵機によって固定にせず、
プレイヤーのプレイ次第で変化させたいからだ。
解説本やサイトでは、敵機と撃つ弾の種類を固定させてしまっていて
しかもそうでないと成り立たないプログラミングをしている。
まあ、シューティングゲームというのは、まだ作ったことがないので
基底の部分はしっかり作りつつも、まずはテストとして単純なルールのものを作り上げようかな、などと思案中。
同人界を揺るがすシューティングゲームを創ろうぜ日誌
四コマ診断フリーペーパーをたくさん用意してお待ちしてます。
どんどん、持って行けよ? 既刊もあと僅かだけど、持っていきますから! べ、べつにあんたのために持っていくんじゃないんだから!
というわけで、GW中に一気にすすめたいシューティングゲーム作り。
一応ゲームプログラマーの端くれとして、ただ弾幕を避けて敵を撃つだけのシューティングは創りたくない。
いや、そんなものは創らない。
テーマは、
多様性とストレス解放。
同じゲームのはずなのに、あの人とは全く違うことをしてる。そんな多様性をもったシューティング。
そして、難易度が高くてイライラ! なんてストレスからプレイヤーを解放する。だからといって難易度が低いわけではないという、斬新な仕組み。
2Dシューティングを創ろう! と思い立ってからおよそ10日間。
現在までの進捗などは以下の通り。
<環境>
言語:C++
IDE:Visual C++ 2008 Express Edition
使用ライブラリ:DXライブラリ(DirectXの初期化がどうも遅いので、もしかしたら自前のものに変えるかも)
<ゲーム基本仕様>
・オブジェクト指向で作成。タスクシステムは使わない方向でいきたい。
・配列をむやみに使わず、vector,list,queueなどを利用して仕様変更に強い作りにする。
・2D横スクロールシューティング
・十時キーで移動、二つのキーでメインとサブの弾を撃ち分ける。
※これ以上は未公開
<進捗>
・仮絵のタイトル画面作成。1Pモード、2Pモード、オプションが選択できるが、1Pモードにしか反応しない
・タイトルから1Pモードを選ぶとゲーム開始。
・仮背景の前に、自機(仮絵)と敵機(仮絵)が登場。自機は3枚を5フレ感覚でアニメーション。
・十時キーで自機が動く。敵機は自機との距離が300ピクセルになるまで接近してくる。上下はどこまでもついてくる。
・Zボタンで爆炎弾、Xボタンでマシンガンを発射。爆炎は16枚を5フレ感覚でアニメーション、16枚終わると消滅する。マシンガンは1枚絵。爆炎とマシンガンは、同じ基底クラスから継承して作成。
・弾には多数のパラメータを付与。爆炎はパワーは高いがスピードと連射性能がなく、射程も短い。マシンガンはパワーが低いがスピードと連射性に優れる。両方とも自機から発射されるとX軸方向に1つ発生し直進する。押下中は自動で連射。
・弾と敵機の簡単なアタリ判定作成。弾は敵機にあたると敵のHPを削るとともに消滅する。敵機はHPが0になると消滅する。
・ESCボタンでゲーム終了
と、まだファミコンゲームにも劣るレベルでしか作れていない。
今後はしばらく基本部分の制作が続くだろう。絵や音などは後回し。
まず、アタリ判定を完成させる。
・敵機と弾のアタリ判定を完全にして、敵機と自機のアタリ判定もつける。
・敵機を複数登場させて、敵機同士が重ならないよう、こちらもアタリ判定を入れる。
そして弾や敵機死亡のときのエフェクト部分を作る
・一度に複数でる弾や、一発目と角度の変わる弾、ホーミング弾の作成
・派手にエフェクトさせる
GW中にここまでいければ万歳といったところか。
オリジナル仕様部分の設計もやっておきたい。音を作る人や声を入れる人をどうにか都合つけたいものだが・・・
GW計画
世間では今年のゴールデンウィークは16連休と騒いでいるけど、うちの会社はカレンダー通り。労働組合もないからメーデーもない。
とは言いつつも、カレンダー通りでも5連休はある。
5月5日はコミティアに参加するとして、残り4日をどう使う検討中。
とりあえず、以下のDVDは用意した。
ハヤテのごとく!9巻
ハヤテのごとく!10巻
マジンカイザー上巻
マジンカイザー下巻
マジンカイザー死闘!暗黒大将軍
そしてゲームも買った。
とらドラ!ポータブル
とらドラ!ポータブルは予約得点のねんどろいどぷち逢坂大河(スクール水着ver)を手に入れる為に買った。
櫛枝みのりは攻略予定。
それと友達の家に泊まりに行って、今年の巡礼計画を練る予定。
これまでの戦果
・木崎湖(おねがいティーチャー、おねがいツインズ)
・神戸(涼宮ハルヒの憂鬱、Fate/stay night)
・大阪(kanon)
・京都(京都アニメーション)
・和歌山(びんちょうタン、Air)
・白川郷(ひぐらしのなく頃に)
鷲宮神社(らき☆すた)は5月5日に「コミティア88 No. の21a」に出展予定のサークルTRY@CATCH の優騎さんがものすごく詳しいのでいつか案内してもらうとして、他にめぼしい場所を探し中。
ウワサだとけいおん(京都)、咲(長野)が最近の新たな巡礼スポットらしい。両方ともまだ、始まったばかりなのでどんどん新しい場所が出てくるだろうから要チェックだ。
未来のコミティア、そしてTRY@CATCHの話題
もうやばいですね
もうね。
ほんとスペースNo. の21a TRY@CATCH に来る準備は良いですか?
良くないですか?
良くなくないですか?
ビッグサイトの予定を調べてみたら
5月3~4日は、COMIC CITYが開催されてた。
スーパーコミックシティってことで、規模はティアよりでかいようで。
それどころか
5月5日は、コミティアと同時に
・GWオンリーフェスタ2009 & COS-DAY
(※コミック同人誌の展示即売会/コスプレ(仮装)交流会)
・Dream Party 東京 2009 春
(※ゲーム・アニメ・コミック・フィギュア等のキャラクターコンテンツ総合展示)
が開催なんですと。
5月6日以降は、フィギュア系のイベントが入っている。、
つまり同人誌ファンの方は、3、4がコミックシティ、5日がコミティアと。
それ以外もてんこもりと。
フィギュア・コスプレファンも兼ねている方にとっては、GWはお台場に泊まっちまおうという感じですね。
そして
本日のテーマ、未来のTRY@CATCHについてですが
ちょいちょい仲間内では話題にあがっていた
ビジュアルノベル作り。
そっちもまあ一応話としては残りつつも、
現在、シューティングゲームを制作中。
弾幕バリバリの流行シューティングではなく、新機軸の新しいシューティングゲームにするつもり。
5月5日に公表は無理ですが
次回までには・・・
いや、次々回までには・・・・
ハヤテのごとく!
どうも月宮です。
最近「ハヤテのごとく!」をレンタルで借りて見始めました。
分かる人には分かると思うけど、一応説明するとファーストシーズンの方です。日記のタイトルも「ハヤテのごとく!!」ではなく「ハヤテのごとく!」になってるのに気付いたはず。
見てみると、今の20代から30代前半くらいの人じゃないと分からないようなパロディのオンパレード。
ファーストシーズンは確かリアルタイムだと毎週日曜の朝にやってたはず。つまり俺の世代でいうと「まじかるタルルートくん」とか「ビックリマン」とか「ママレードボーイ」のように、小学生とか中学生が主なターゲットなはず。
「君は○の涙をみる」
「○○○タイプの修羅場が見れるぞ」
「俺はいまモーレツに○○してる」
とか言われても分からないはず。
だからセカンドシーズンは深夜枠に移ったのかな……。
とりあえずヒナギク萌えです。この勢いで全話見そうです。