ゲッピさんから連絡を頂けた経緯
解析で作ったWindowsの移植版を公開しゲッピさんを知る人からの連絡を待つ事にしまち
6年経ち、運よくゲッピさん本人に見つけてもらえ直接ご連絡をいただけました
その際いろいろメールでで伺っていたものを私の方でまとめて編集した記事を公開します。
ホバーアタックの作者さんの開発の思い出話
初めまして。昔、ホバーアタックを作った者です。
ゲッピは元気です。普通に働いています。
ちなみに、あまり言ってないですが、あれは
戦闘メカザブングルのウォーカー・ギャリアが
ホバーでぶわっと飛ぶのに感化されて作りました。
そんなにメジャーでもなかったみたいですし、すっかり忘れてました。
「もう誰も覚えていないだろうけど、少しぐらいは自慢してもいいよなぁ」みたいな。
最近、周りでゲームの話が出て、そういえば、と思ってググってみたら、
いろいろと引っかかるのでビックリしました。
なんか、当時を思い出して来ました。
開発前の話
インベーダーが上陸(!)してしばらくして、
友達に連れていかれて、知らない人のプレーを見ました。
おもしろそうでした。というより、うまい人のプレーは美しかったです。
それからだいぶ経ってからだったと思いますが、
こんどは電気屋さんとかパーツ屋さんに連れていかれました。
PET や Apple II や MZ-80、PC-8001が並んでたと思います。
で、学校帰りの中高生がひたすら何か打ち込んでいるのです。
しばらくするとゲームが始まりました。
私には、えーっ??でした。
その後しばらくして、X1を買ってもらうことができました。
もちろん、わざわざお金を払ってゲームを買ってきて遊ぶつもりは全くなくて、
さぁ、つくるぞ!と。
アイデア段階
とにかく、動くものを作りたい。
どうせなら、ゲームを作りたい。
どうせなら、自分で遊べるものを作りたい。
どうせなら、ロボットを操縦するゲームをつくりたい。
特にガンダム、というよりも、漠然と、あんな感じのアニメの影響だと思います。
大切なのは、アムロレイの*気分*になれるかどうか。
ただ、そういう意味で、ロボットを操縦するゲームとして
どんなものが成立するのか、考えてみると、結構悩ましいのです。
やはり最初、しばらくの間は、
大きなロボットが変形したり、格闘したりというのを考えていました。
ただ、明らかにマシンスペック的に無理そうでした。
大きなロボットは諦め、キャラクタが動き回るものにすることにしました。
さて、アムロレイの気分になれるものとして、どんなものを考えていたかというと、
物陰に隠れていると、
うわっ、敵だ、バシュバシュバシュ、はぁはぁ
ア・バオア・クーって、ジオングとやったところですよね?まさに、あんな感じです。
ただ、ア・バオア・クーのように無重力だと、
「あんなの飾りです。偉い人にはそれがわからんのですよ」
という言葉の通りで、
ロボットの脚に必然性がありません。
結局、ザブングルみたいに
ロボットが(人間ではありえないぐらい)ジャンプしたり
という設定が良いかなぁ、と。
ロボットと母艦
ロボットといえば変形・合体ですから、
最初から、変形・合体は入れるつもり満々でした。
ただ、これも、
ゲームとしてどのようなものが成立するのか、
考えてみると悩ましいのです。
例えば、マクロスのバルキリーは、
垂直離着陸するときに脚が出るという必然性があるのですが、
ホバーアタックでは、ジャンプなので変形する機会がない
最終的に、ロボットと母艦という形にすることにしたんだったと思います。
これは、どう考えても変形・合体とは違うので、
なかなか踏ん切りがつかなかったのは覚えています。
モデルはガンダムとホワイトベースと言っておいても良いのですが、
ザブングルだと
ウォーカーギャリアは、背中に背負った巨大なローターでジャンプできるが、空中に留まることができない
アイアンギアは、ホバークラフトの様に浮いて移動できるので、高くは飛べない
という設定なので、ゲームにするには良い感じの性能なんです。
ロボットの弾が切れたら母艦で補充するとか、
母艦は浮いているので、地雷の上を通過できるとか、
ゲームとしての必然性も付加できます。
キャリアの形は、アタッカーがハマりやすくなるようにしたので、
アイアンギアの面影はありませんが、
アタッカーの後ろに突き出しているのは、ウォーカーギャリアのローターです。
アタッカーがキャリアに積まれているときには、固定用のロープの線が入ります。
エンジンな感じは、多分ザブングルなのですが。
ちょっと無理して飛んでる感じが出ればいいなぁと。
ゲームの設定を決めるまでには、かなりの時間がかかっています。
開発について
最初 BASIC で試してみたんですが、全然間に合わないので、
機械語で書いたら、逆に、何の工夫もなく動きました。
開発当初はアセンブラなんてありませんでしたので、
紙にニーモニックでプログラム書いて、
マシン語のコード表を見ながらハンドアセンブルしました。
よく使う命令は覚えてくるのですが、特に分岐命令が大変でした。
結局、全部コードに置き直してみて、各命令のアドレスを求め、後からはめる、と。
特に相対ジャンプは、1,2, と手で数えないとしかたがない。はぁ。
マシン語で暴走したら、カセットテープから BASIC をロードするところからやり直しです。
もし、ある程度やってみて無理だったら、他の方法を考えないと仕方ありません。
一つクリアできたら、じゃぁ次はどうしよう。
こんな感じなので、
何か思いついても、それを試してみるまでに相応の時間が掛かります。
放物線を描く動き
実際に作る前に、
はたしてこれで放物線に見えるのだろうか?と
紙の上にマス目を描いて、動きを描いてみたのは覚えています。
文字単位で動かすのは決まっていたので、
重力による等加速度運動を表現しようと思ったら、
まず最初のステップでは 1 マス(1 文字分)下へ、
次は 2 マス下へ、次は 3 マス下へ、次は 4 マス下へ、となるのですが、
実際にやってみると、
飛び飛びに表示されるので、
少なくとも私には、動いているようには見えませんでした。
かといって、上下左右斜めが 1 マスずつでは、
さすがに放物線というのは厳しそうに思いました。
それで、最大速度を制限してみたのですが
アタッカーが 2 x 2 マスなので、最大 2 マスはありかなぁ、と。
当時(今もですが)、自分でも納得いかなかったのが
ミサイルの移動速度がアタッカーの落下速度と同じなので、
飛び降りながら撃ったミサイルが、アタッカーと同じ速度で落ちてくるところです。
どう考えても、ミサイルはアタッカーよりも先に落ちるべきなのです。
ミサイルの移動速度はアタッカーの落下速度と同じということで、
こういうゲームなんだと割りきるしかなかったんでしょうね。
ミサイルの軌跡を描く煙
これは多分、マクロスの影響だったと思います。
当時、ロボットアニメが好きな友達に言われてマクロスを見ていて、
連射されたミサイルが煙の跡を伸ばしながら飛んでいくのがかっこいい
という話をしてました。
最初、あれを取り入れる気はありませんでした。
やったとしても、どんな感じになるかわからなかったですし
ただ、あまりにも友達から強く言われて、実装した次第です。
結局は、いい感じになったので、良かったです。
敵の思考ルーチン
画面に見えないところは動いている必要はないのですが、
画面に入ったところで動かし始めると、
いつも敵が同じ動きになりそうで嫌だったのと、
通り過ぎたところに戻ってくる可能性があり、
その時に矛盾するようなことが起こるのが嫌だったので、
いろいろ考えるのが面倒で、全部動くようにしてしまいました。
飛んだり落ちたりするのは、敵味方、同じ処理を呼んでいると思うのですが、
敵がどっちに飛ぶかとかは適当だったと思います。
ただ、確率的には近づいてくるようにしてたので、
放っておくと、奥の方からどんどん集まってくるんですね。
仕方がないので、ところどころに壁を置いて、それ以上来ないようにしました。
結果として、壁のところで待っているような感じになって、
良い感じになったかと思ってます。
それと、敵はいくらでもホバーを吹かせるようになっているので
そのままでは、どんどん上に上がっていく可能性があり、
マップの上に飛び出してしまうかもしれないので、
地下にして天井を付けました。
( 最初から地下のつもりではなかったと思うんですよね...あまりロボットアニメに地下は出てこないですから。)
調整について
スクロールには、移動範囲を稼ぐという他に、もう一つ、意味がありました。
ドキドキしながら進んでいくには、あまり、先の様子が見えては困るので、
視界を限定しておかないといけません。
見えすぎても、見えなすぎても、おもしろくないので、
いろいろと試してみたのを覚えています。
スクロールで見える範囲とか、アタッカーのスピード、ジャンプしたときの軌道、
全て、マップとの兼ね合いというところがありますよね。
アタッカーのプログラムが少し進んだら、テストするために自分で遊んでみる、
というのを繰り返していました。
せっかく、後戻りしたりとか、自由に移動できるようにしているので、
意地でも複数ルートで行けるようにしたかったのですが、
跳ぶための空間を広くとると、それほど選択肢はなかったですね。
それと、マクロスを勧めてくれた友達が、しょっちゅう、遊びに来てました。
作りかけのゲームなのに、よく飽きないなぁと思うぐらい遊んでいきました。
煙ははっきり覚えていますが、ときどきコメントをくれてました。
ちなみに、赤い高性能な敵が出てくるのは、もちろん、お約束です。
(これもおそらく、その友達からでしょうね。)
完成
これまで書いたような感じで、一通り、やりたいことをやって、
それ以上試したいことを思いつかなくなったので、
怖かったんですが、I/O に投稿しました。
掲載してもらえて、とてもうれしかったですね。