私は普段ほとんどゲームをしない(別に嫌いなわけではない)のですが、ふと見つけてダウンロードしたゲームにちょっとはまっています。 東方プロジェクトという方々が作られているゲームで、東方何某というシューティングゲーム(の体験版)です。
このゲーム、当然私は一番やさしいモードでしかまともにプレイできません。 でも面白いと思ったのは、「敵の弾が画面一杯に出るけど、避けられる」ように作ってある点です。 当たり判定を狭く設定してあるのと、ボス戦など強い敵の場合には自機の近くでは弾のスピードが落ちるようにしてあるので、落ち着いて行動するとかわせるのですね。 とは言っても常に、というわけではないですし、未だに体験版をクリアすることもできてませんけど。
で、ちょっとだけ作ってみたいなどと思ってしまいました。 もちろん、ストーリーやキャラデザインやらゲームバランス調整やら、能力と根気のない私にはとても無理です。 私が思ったのは、ゲームのアルゴリズムのほうの話です。
その昔、PC-6001などでゲームを作りまくっていた頃があるのですが、不思議とシューティングゲームをほとんど作った記憶がありません。 アクションパズルやシミュレーション、ロールプレイングゲームみたいのは結構作ってましたが。
今 考えてみると、どうも「弾を飛ばす」のが苦手みたいなのです。 三角関数も知らなかった当時、任意の角度に複数の弾を飛ばす、というのがものすごく難しく見えました。 また、敵の動きのアルゴリズムをどうやったらパターン化できるか(e.g. 編隊飛行)、ということも知りませんでした。 いろいろ挑戦したけど挫折。 以来トラウマになったみたいです。
んで何となくWebを彷徨っていたら、国立情報学研究所(NII)のサイトにシューティングゲームの敵機攻撃弾発射アルゴリズムに関する考察 などという論文を見つけ、ちょいと驚きました。 確かに、Entertainment Computingは私がCMUにいたときにひとつの分野として確立していましたから、何も不思議はないのですが。
でも今見ると、たまにはこういうのを作るのも楽しそう、と思えてきます。 もちろんターゲットマシンはPC-6001。 まぁ、自機や敵機の動きを作ったり、弾を飛ばすことなどで満足してしまい、ゲームとして完成させることは無理でしょうけどね...。
匿名
画面が真っ暗、でもカーソルは出てる状況。
探して、ここにたどり着きました。
パスワード入力で、復活!
修理に出す寸前でした。ホントにありがとう!