何とか庵日誌

本名荒井が毒にも薬にもならないことを書きつづるところ

「鍾乳洞」


f:id:fukenko:20200330233758p:plain
ヘリで進めるなんてどれだけ広い洞窟なんだ(おい)
 スクロールがゲーム作りの重要技術であることは、拙サイトや当ブログで何度も述べていることですが、中でも横スクロールは実装に工夫が必要なものでした。なぜならテキスト表示機能のスクロールダウンや、エスケープシーケンスでは実現できないから。やるならマシン語を使うか、BASICの場合は便利関数MID$を使うことが多かったと記憶します。
 というわけで今回紹介する「鍾乳洞」は、「アクションゲーム38」では最も凝ったスクロールを実装したゲームです。


 本作は横スクロールゲームです。巨大洞窟を舞台に、ヘリコプターを操作して、迫り来る壁に当たらないよう洞窟をひた進んでいきます。画面右端に達すると面クリア*1。右に行くほど地形をかわす余裕がなくなっていくので、面クリアは案外手こずります。
 もっとも、内容はこれだけ。BASICで40行少々のプログラムですから、敵が出るとか弾が撃てるとかそういう要素は一切ありません。しかしながらマップが横に流れていくのは、それだけでときめくものがありますな*2
 スクロールはMID$やRIGHT$といった関数を利用しています。マップをテキストデータとして保持し、文字列操作によってマップを書き換え、随時表示するという手法です。BASICでも手軽にできることが利点ですが、速度が遅いのが短所で、動きはかなりカクカクです。むろん自機の移動もカクカク。文字1キャラ分こと8x8ドット単位で動くのでとまどいます。
 一方、このカクカク移動ゆえ、後退しながら上昇・下降をして地形をかわさなければならないという、本作ならではの「工夫」が生まれているのはニクいと言えましょう。


f:id:fukenko:20200330233824p:plain
各面開始まで少し待たされる。
これはなんとかしてほしかったな。
 ところで。80年代、高度なスクロール技術はそれ自体が売りになるものでした。その理由をかんがえてみたところ、スクロールによって表現の幅が各段に広がるから、であったようにおもいます。
 「グラディウス」も「ゼビウス」も、流れるようなマップ表示ができなければ、決して作り得ないゲームです。「ロードファイター」や「アメリカントラック」等のレースゲームやカーアクションも、あれほどの臨場感は出なかったでしょう。「サンダーフォース」が画面切り替え式だったら、全く別のゲームになってしまいます。
 迫力・リアリティ・テンポ等々。スクロールだからこそできる表現や、スクロールなしでは実現できない面白さは、確実に存在します。コンピューターの性能が現在ほど高くなかったあの当時、だからこそ自在の画面スクロール技術は開発者の技量の高さを示すと共に、創れるゲームの幅と同義に見なされていたようにおもわれるのです。

*1:なぜか面クリアのルールは本の説明文には載っていない。

*2:それと解説文で自賛するとおり、ヘリ飛行音の出来が良いです。

ニベあんクリーム

 花粉症のおかげで、毎年この時期になると鼻の中が荒れます。カサブタやらができて痛いので、どうしたものかと苦し紛れに机の上に転がっていたニベアクリームを鼻の中にすり込んでみたら意外に具合が良いことに気がつきました...もっとも、推奨される使い方ではないとおもいますけど(おい)。

スクロールゲーム三題

f:id:fukenko:20200328020327p:plain
「スキーゲームPART1」。
「白銀は招くよ」とか「シュプール」という表現は80年代でも古かったなぁ。
 80年代のゲーム制作において、画面スクロールはプロアマを問わず重要なテクニックでした。プログラミング初心者がまず作るスクロールゲームは、多くの場合、スキーゲームやドライブゲームだったものです。というわけで「アクションゲーム38」にも、そうしたゲームが3本収められています。


f:id:fukenko:20200328020435p:plain
制限時間は1分。もうちょっと遊びたいところで終わるのが巧い。
 一本目「スキーゲームPART1」は、その名の通りのスキーゲーム。カーソルの左右でスキーヤーを操り、旗を取っていきます。制限時間は1分。赤い旗は高得点。時間内にできるだけ多くの旗を取り、その得点を競います。
 実はこのゲームも、いわゆる「スクロール表示」はしていません。スプライトによる旗を移動させることで、それらしく見せているだけです。しかしながら挙動がスピーディで、流れているかんじはよく出ています。典型的なスキーゲームながら、時間制限のおかげでテンポ良く遊べるのもよいところです。


f:id:fukenko:20200328020656p:plain
「スキーゲームPART2」。
ゲームとしてはこちらの方が凝っている。
 二本目は題名そのままの「スキーゲームPART2」。こちらもスプライトによるスキーゲームです。今度は障害物の木を避けながら、旗を拾っていくのが目的。木にぶつかったり、旗を取り逃したらゲームオーバーです。ルールがよりスリリングになったわけですな。


f:id:fukenko:20200328101753p:plain
おまけにスピード変更機能付き。
ウェイト変えてるだけだがおっと言わせるフィーチャー。
 「PART1」とのいちばんの違いは、使うキーがスペースキー一つだけになったこと。スペースキーを押すごとにプレイヤーの移動方向が切り替わります。「PART1」よりも移動の自由がきかず、自在に滑るためにはより細やかな操作が必要です。ワンキーゲームならではのこのもどかしさが、ほどよい難易度と面白さを与えています。


f:id:fukenko:20200328020809p:plain
ドライブゲーム」。大定番のスクロールゲーム。
 三本目「ドライブゲーム」は見たまんま。障害物だらけの悪路をひた走るゲームです。こちらはスプライトではなく、テキストによるスクロール表示を実現。テキストで構成された道路が下から上に流れます。
 本作では道路に障害物が落ちているだけではなく、一定時間ごとに道幅が狭くなるというギミック付き。ここに他と違うものにしようとする工夫が見られます。


f:id:fukenko:20200328021045p:plain
狭隘路に突入。
この手のスクロールゲームでは差別化も重要だった。
 スキーゲームやドライブゲームは作りやすさゆえ、自作スクロールゲーム定番中の定番でした。それだけに誰が作っても似たものになりやすく、パソコン雑誌のオリジナルプログラムコーナーに掲載されるためには、他とは差を付けるための工夫が必要でした。実際、掲載された作品を鑑みると、やはりひと味違う何かを備えていたように記憶します。


f:id:fukenko:20200328065710p:plain
スクロールゲームの名作「DOWNDOWN」。
最大の特徴は「1行プログラム」であること。
 なお、「スキーゲームPART1」と「PART2」には、誤植と印刷由来のバグがあります。「PART1」は書籍通りに入力すると、キーの左右が入れ替わってしまいます。「PART2」は印刷ミスでスプライトデータの一部が読めません。修正箇所を以下に示しときますのでどうぞご参考に。


「スキーゲームPART1」:150行を以下のように変更。
150 DEF FNX(S)=VAL"MID$("111011121",S+1,1))-1


「スキーゲームPART2」:510行の一部が欠けている。正しくは以下のとおり。
510 DATA 01,01,00,01,01,01,03,05,03,03,06,0C,06,02,0F,F8

野犬狩り係に降格

nlab.itmedia.co.jp


 そのむかしアダム・ウエストの「バットマン」で、ドラマのPRのため走行していた撮影用バットモービル*1が、事情を知らない警官に検挙されたという話がありまして*2

*1:妙にショボい火を噴いて走る方です

*2:ちなみに検挙の理由は「ワイパーをはないしライトも改造してるから」(おい)

静荷重移動

 転んだり滑ったりしないように歩くことは、山によく行く荒井が日頃から気にしていることであります。登山入門等でよく言われているのは「静荷重移動」。踏み出した足に徐々に体重を移しながら歩く方法です。常に足元の安全を確保しながら歩けるので、転んだり滑ったりしにくいというわけです。
 しかし動作というものは、コーチがいないと理解しづらかったりするものです。文章による説明はもちろん動画でさえいまいちわからず、どうしたものかと考えこんでいたのですが、最近、非常にわかりやすい具体例に気づきました。
 体重計の乗り方。あれが静荷重移動です(おい)。

それでもあなたにアイ・ブラ・ユー

www.jiji.com


 宮城まり子さんが亡くなられたとのこと。荒井的には「まんが世界昔ばなし」のナレーションと、何よりトニー谷の「さいざんすマンボ」の名演をされている方でした(おい)。謹んで哀悼の意を表します。