メテオやめてお

2019/6/21 | 投稿者: ghost

表題の駄洒落(なのだろうか?)は、本稿で触れる実装をやりつつ不意に思い出した、MSXマガジン誌上で『ロイヤルブラッド』(光栄,1991年)の宝石魔術師が凶悪過ぎることを表現すべく用いられたもの。我ながら変な記憶力だ。

そういう意味不明なことはどうでもよくて……いや、以下もいつものようにどうでもいい意味不明な話なのだが……ほぼ完成状態に至ったShoulder Blade OUTERSPACEにまだ4KB強容量が残ったので、思いつきでメテオフェイズを追加してみた。いや、一般的にこういうのはアステロイド面って言うか、単に表題の駄洒落が言いたかっただけじゃねーの。でも、ソースコードの当該部にはちゃんとmeteo……これだと“天気”だよな……とコメントされてて謎なのだが。

クリックすると元のサイズで表示します
<止め絵だとホントに何だかよくわからない>

動いてもわからん人にはわからんだろーな、と思いつつ、そういうこちらとしてはどうしようもない受け手側リテラシの問題は棚上げしてマイペースに進めるが、隕石が飛んで来るフェイズ、というのを追加してみた。

本作は、やたらと派手にキャラクタが動くワリには実はプレイヤー機の移動自由度はほぼ皆無だ、という妙なデザインのゲームなのだが、そういうゲームで隕石避けをプレイヤーに強いるほどボクも酷くはないのである。隕石はショルダーブレード……本作では主人公機となる汎用機動宇宙服に与えられた愛称である……に対して当たり判定を持たない。

じゃ、コレは何だ、という話になるのだが、まず隕石はプレイヤーの撃つ弾には当たり判定があって、かつ、破壊不能である。従って、敵機との射線上に隕石がある場合はソコで弾が止まってしまうので、結果的に難易度が上がる。第二に……まぁ、コレが真にやりたかったことだが……敵機の一部は隕石に隠れて接近してきて、その裏から飛び出して来る。

本作では、高次周の一部を除き、敵機は最接近(表示が最大化された状態になる)するまでこちらに向かって致死性の攻撃を仕掛けてこない。つまり先手必勝なのであり、遠方の敵を正確に撃ち落している限り、プレイヤーは無敵なのである、まぁ、言葉でいうほどそれは簡単ではないのだが。なので、隕石に隠れて裏から出て来る敵、というのは、先手必勝の間が短縮されている、という意味において難敵になるのである。ま、全体的に動きが速すぎてほとんどのプレイヤーはそういう演出なんだ、ということに気づかないような気がしないでもないが。駄目じゃん。

それもともかくとして、メテオフェイズを作ろうと決めたはいいが、この隕石をどう動かすか……いま出先で動画が作れないのでアレだが、後日アップロードするつもり……には随分悩んだのだ、まぁ、実質2時間ほどだけども。

自分でプレイしてみないとわかりにくいとは思うが、本作のプレイヤー機は、仮想空間内でほとんど移動していない。放射上に流れる背景の星……これまたまったく物理的に正しくない、漫画的な演出だが……は常に自機の前方に動線の中心がある。これは何を意味しているかというと、画面上でプレイヤー機が左右に動くとき、仮想空間内では自機はほとんど横方向に動いておらず、銃口を向けた方が広く見えるようにカメラ視野が動いているのだ。

クリックすると元のサイズで表示します

で、本作のような漫画的演出のゲーム……ジャパニメーションの格好良さ優先のノリが再現したくて作ってるんだからそれで正しいのだが……において隕石のあるべき軌道なんかを考えるのは愚の骨頂なのだが、それでもどうすればそれっぽく見えるか、は考えざるを得ないワケで、で、思いつきでやってみたら意外にそれっぽかったので採用したのが、背景動線の中心点座標と隕石座標の差を符号付き右シフト4回したものを常に移動ベクトルにする、という方法なのだが、こう書くと何か凄いことをしているように見えるかもだが、やっていることは引き算をして16で割っているだけだ。

実際にはここにさらに自機の画面上での動きによる相対的な移動も加わるのだが、これとて加算が縦横座標にそれぞれ1回ずつであり、前作Shoulder Blade OVERDRIVEもそうだったが、これらのゲームはいかに手抜きの計算でさも凄いことをやってそうに見せるか、という、きわめてケチ臭い、というか、見栄っ張りな発想で作られている。そしてボクは、そういうモノの考え方が大好きなのだ。
タグ: MSX Z80



コメントを書く

名前
メールアドレス
コメント本文(1000文字まで)
URL





AutoPage最新お知らせ