「SPACE BLUSTER SG」



◆再びスクロールゲーム

 SPACE BLUSTER FZに続いて制作したゲームが、このSPACE BLUSTER SGでした。ゼビウスに続いてのスクロールゲームになりますが、ここではゼビウスとは違ったスクロールの手法を使うことにしました。というか先にそれを思いついたので、それを使ってゲームを作って見ようという技術先行型でした。
 技術が先にあってゲームを作る場合、大抵の場合面白いゲームにならないようです。これはプログラマが技術表現だけで満足してしまうからだと思います。このSB/SGも例外ではありません(笑)。プログラマとゲームデザイナーが、わかれている場合は、そんな事も少ないのでしょうが、やはり10年ほど前ともなるとプログラマ=ゲームデザイナーでしたから、面白くないのは仕方がなかったのかもしれません。でも、当時の面白くない技術先行型のゲームがあってこそ、次なるステップへと進めたんじゃないかなとも思いますが。



◆自機を正確に狙ってくる弾

 このゲームではゼビウスやSB/FZと違って敵の撃ってくる弾は、確実に自機を狙ってくるようになっています。これも技術先行でしたが、これも後のスペースハリアーの敵が自分を正確に狙ってくる弾のプログラムに役にたっています。
 ゼビウスの時の弾は8方向、SB/FZはわずか3方向(ボスキャラは違う)というものでした。この場合は、弾を動かすアルゴリズムはいたって簡単です。ゼビウスとSB/SZは次のようなアルゴリズムで弾を撃っていました。

 ★ゼビウス
  ・X方向の移動数dx=0、Y方向の移動数dy=0にする
  ・自機のY座標が敵より下ならdy=1
  ・自機のY座標が敵より上ならdy=-1
  ・自機のX座標が敵より右ならdx=1
  ・自機のX座標が敵より左ならdx=-1
   *自機と敵のXまたはY座標が同じならdxまたはdy=0になり弾はまっすぐに発射される

 ★SPACE BLUSTER FZ
  ・Y方向の移動数dy=0にする
  ・自機のY座標が敵より下ならdy=1
  ・自機のY座標が敵より上ならdy=-1
   *敵の弾は常に左方向(dx=-1)に移動する

 これだと、どうしても死角が発生してしまって、俗にいう「安全地帯」が発生してしまいます。これを防ぐため、SB/SGでは確実に自機を狙うようにしたわけです。が、どうやったら自機を確実に狙って弾を撃つことができるのか?



◆ふと、ひらめいて

 あれこれ考えていて、ふとひらめきました。自機を確実に狙ってくる弾のアルゴリズムとグラフィックの「ラインの描画アルゴリズム」は、全く同一のものなんです。ラインの描画アルゴリズムは、ある座標X1,Y1から、ある座標X2,Y2まで点を表示して線を引いていくものです。ラインは一度に引いてしまいますが、これを1点づつ動かせば、まさしく「敵が自機を確実に狙ってくる弾」が実現できるじゃないですか。
 今なら、ほんと聞けば簡単に教えてくれるような事ですが、そこはやっぱり独学でしたので時間がかかりました。この時に参考にした本は日本ソフトバンク(現在はソフトバンク株式会社)出版の「Oh! FM」でした。アルゴリズム的な事やグラフィックに関しては、このOh!FMが一番わかりやすかったように思います。
 とりあえず、このOh! FMを参考にしてプログラムを作成してみました。動かしてみると確かに「自機を狙って」弾を撃ってきます。1つ難関を突破したのです。
 ラインのアルゴリズムに関しては、MZ-2500のグラフィック描画のアルゴリズムの所で、解説していますので、そちらを参考にしてくださいね。



◆長い長いマップ、なぜ長い?

 このゲームは全6面になっていますが、マップの容量に比べて非常に長いマップになっています。最初にもかきましたが、このマップデータとスクロールの関係を工夫する事で少ないマップデータで長いマップにする事ができたのです。でも、プレイヤーにとっては苦痛でしか、なかったようです(ごめんなさい^^;)。
 まず、現在の多くのゲームでは1ブロックが8x8ドットが基準になっています。この基準を8x 2ブロックにします。横幅が8なのは、2のn乗なので論理演算がきくという事。縦が2というのは、あまりに長くすると種類が限定されるためです。この1ブロックのサイズを大きくしているゲームはTAITOの元祖DARIUSがそうでしょう。
 このように1ブロックを大きくしておけば、1x1で作成した場合にくらべマップデータは16分の1ですみます。16分の1ですから、相当なメモリ節約になります。
 ちなみに、この時から最後まで「マップエディタ」なるものは存在しませんでした。だいたい、そこまで複雑に1x1のブロックで描かずとも、そこそこの大きさで組み合わせた方が、いろいろ描けますし、データも少なくなりますから。



◆おわりに

 SB/SGでは「長いマップをスクロールさせる事」「敵の弾が自機を確実に狙ってくる事」が主な課題でしたので、あとは結構いいかげんな作りになっています。いい加減とは言ってもSB/FZとは違っていろいろ高速化がはかられています。自機の移動速度を比較しても1.5倍以上速くなっていますし、当たり判定や座標計算などなど手を加えた所はたくさんありました。
 が、ゲームとしては面白くないわけで、これが後に「ゲーム性って何だ」という疑問に私を向かわせる事になりました。そして、このゲーム性を知るために、そして求めるために、新しいゲームを作り始めたのです。それが、SPACE BLUSTER FXでした。

 SPACE BLUSTER FXにつづく。






 意見は、openspc@alpha.ocn.ne.jpまで



Update : 1996/03/10, 2003/11/20