MCL(20)

インデックスに戻る

前のMCLへ  次のMCLへ

▼ My Computer Life (20)

20. ADVとRPG

 MZ-2000は、確かに発売された当時は良いマシンだったのだろうが、私が購入した頃には型落ちもいいところで、それこそ骨董品の部類に入っていた。
 一応、MZ-2000用のゲームソフトなどと言うものも結構発売はされていたのだが、どれも古臭い物だったし、当然モノクロだし、そして私は貧乏だったので、結局MZ-2000用ゲームというのは最後まで買わなかった。

 そこで、折角買ったPCを活用するために、例によってベーマガなどに載っているプログラムを自分で打ち込んで楽しんでいた。MZ-2000には標準でデータレコーダがついているので、作ったプログラムはセーブできる。なので、プログラムを打ち込んではセーブして、という具合に個人的ゲームライブラリを増やしていた。
 とは言うものの、実際には新しいゲームを打ち込む事より、すでに打ち込んであるプログラムを改造して遊ぶ事の方がメインだったように思う。他人の作ったものをそのまま遊ぶより、少しでも自分の手を加えた方が面白いというプログラマ魂の問題もあるが、実の所MZ-2000用ゲームはその当時のベーマガにはあまり多くは載っていなかったという現実的な問題もあった。

 私がひたすら改造した記憶があるのは、ベーマガに載っていた単純なゲームである。ボールが画面を上下に往復している。天井と床にあたると反射する感じだ。で、その天井と床はそれぞれベルトコンベアーみたいに横方向に流れていて、ボールが当たっていい部分といけない部分とがある。プレイヤーはボールを左右に動かす事が出来るので、うまく当たっていい部分にボールを反射させながら、天井と床を何往復できるかというゲームである。
 このゲームはやたら改造した。天井と床のスクロール速度を速めたり、当たっちゃいけない部分の出現頻度を高めたり、それ以外の空間にも障害物や反射させる壁を作ったりなど、もうやたらめったら改造した。最終的には元のゲームがなんだかわからないくらいの変なゲームになった。
 そういう具合に、一つのプログラムをひたすら改造し、またひたすら遊ぶという事を繰り返していたので、打ち込んだプログラムの数というとそれほど多くはない。

 MZ-2000のBASICは、可もなく不可もなく、まあまあプログラムを作りやすくはあった。処理速度は速い方だったし、メモリも十分にあり、モノクロながらドット単位でグラフィック画面をいじれるので、環境としては悪くなかった。

 ただ、キーボードにやや問題があった。とは言っても、以前書いたFM-7の問題ほど酷くはないのだが。どういう問題かと言うと、キーリピートが全てのキーに同様に設定されている、という事だ。キーリピートというのは、今のWindowsマシンでも同様なのでやればすぐわかるが、例えば「A」のキーを押しっぱなしにするとする。そうすると、最初に一つ「A」と表示されたあと、少しだけ間を置いてから「AAAAAA…」と連続で表示される事になる。音で言うと、「ポツッ…ポポポポポポ…」という具合だ。1個目の入力と2個目の入力の間に、少し間がある。更に、2個目以降の各入力の間も完全に連続ではなく、ほんのわずかに間がある。そういう風にソフト的に制御されているのである。
 さて、このような仕組みは、普通に文字入力としてキーを使っている時は何の問題もない。しかし、例えばアクションゲームだのシューティングゲームだのを作ろうとすると、困る事になる。シューティングゲームの移動で「ポツッ…ポポポポポポ…」式の入力になってしまっては、普通の操作は不可能という事になる。
 このような問題は実はどのPCでもあって、大抵それを回避するためにジョイスティックのような別の入力機器を使うか、その時走っているOSのキー入力走査よりハード寄りのキー入力検知機構を利用し、直接I/Oを読み取るのが普通だ。しかしMZ-2000ではそのどちらの方法も上手くは行かなかった。
 私もそのお陰で、MZ-2000でまともなゲームを作ろうという気が起きなかったのだが、ある日その回避方法があるという事を知った。その方法というのは、POKE文で特定の番地の値を書き換える事により、「ポツッ…ポポポポポポ…」式のキーリピート機構をやめて完全なリピートにしてしまうのだ(つまり最初に押した時からキーリピートが始まり、「ポポポポポポ…」という感じになる)。
 それを使うと、アクションゲーム等も一応作れるようになる。しかし注意しないといけないのは、全てのキーがフルリピートになってしまうので、その後元に戻さないとまともな文章が打てなくなる。元に戻すには、またPOKE文を使って特定アドレスの内容を書き換えればいいのだが、そのまま打とうとすると「PPPPPPOOOOOOKKKKKKKKKKKKKKKKKKKKEEEEEEEEEE」になってしまい、元に戻すのも一苦労という具合になってしまう。そこで、きっちりプログラム側で戻すのが正解なのだが、もしプログラムを途中で止めたりした場合はそうもいかなくなる(もう一度プログラムを動かせば良いのだが)。
 そこで、この技を使った時の常套手段として、ファンクションキーにその「元に戻すPOKE文」を定義しておくという技が必要だった。これなら、そのファンクションキーを押す事により、元の状態に復帰できる、という具合である。
 この技の発明により、そこそこアクション性のあるゲームをBASICレベルで作るのも不可能ではなかった。

 しかし、結局私はMZ-2000ではさほどたくさんのプログラムは作らなかった。あれだけPCを欲しがっていて、そしてようやく手に入れたのに、その意欲は思ったほど湧かなかった。結局、カラーではないのが痛かったのかも知れない。その頃はもうすでにファミコン等でも当たり前のようにカラーで、モノクロモニタでゲームを作ろうかという気にならなかったのかも知れない。今から考えると、モノクロでも面白いゲームはいくらでも作れただろうに、と思うのだが、当時はそうではなかった。前にも書いた通り、私はPCの映像性能に大きく惹かれていたのであり、MZ-2000ではその私の期待に応える事はできなかった。

 とは言え、当時作ったゲームの中で、身内(つまり私の弟と妹)にややウケた小品がいくつかある。
 まず、ADV1〜ADV3と名づけられた3本のゲームである。名前の通り、アドベンチャーである。
 ADV1は、ごく簡単な分岐式アドベンチャーである。テキストでメッセージが出てきて、それに答えて話を進めるという、当時のBASICを触っていた人なら誰でも作った事のあるような代物である。これは、MZ-2000を買ってきてごく初期に作ったものである。
 次のADV2は、やや進化していた。ADV1が完全分岐式で、枝分かれして話を進める事しか出来なかったのに対し、ADV2では「場所」の概念があり、移動により好きなところに行く事が出来た。そしてフラグやアイテムの概念があり、フラグを立てる事で話を進めていった。
 その次に作ったADV3は、1や2より大掛かりだった。まず、テキストオンリーだったそれまでと違い、ライン文をひたすら使ってシーンをグラフィックで表示していた。一つのシーンで使えるコマンドも大幅に増え、またシーンそのものもかなり増えた。東西南北の4方向に移動する平面マップ形式をとり、各地を回ってフラグを立てていくという具合の、まあその当時の一般的なアドベンチャーゲームのようなものだった。
 これらの一連のアドベンチャーゲームは、ある程度家庭内ヒット作となり、弟や妹と一緒に楽しんでいた記憶がある。

 もう一つ、RPGという名前のゲームもあった。これも名前の通り、RPGである。
 見た目としては、ゼルダの伝説のダンジョンのような、画面切り替え式の迷宮を想像して欲しい。その中を主人公が移動するのだが、戦闘はエンカウント式である。パーティというものはなく、主人公は一人きりで、ゾンビだのスライムだのおなじみのモンスターと戦っていく。
 一応スタート地点からは町に行く事ができ(と言ってもウイザードリィのように、テキストで表示されるだけだが)、武器屋や防具屋で装備を揃える事も可能だった。
 そうしてレベルを上げて装備を強くしながら、ダンジョンの一番奥の部屋にいるボスのところを目指す、というゲームだった。
 見た目等ショボいせいか、これは家庭内ヒットには至らなかったが、私自身は気に入っていた。規模は小さいながら、一応きちんとしたRPGになっていたのだ。

 ところでこれらのゲームは、私自身それを作るのに全力を出し切ったという気がしていない。前に書いた通り、私はMSXを持っている友達のところに良く行っていて、プログラムを作る能力も向上していた。このようなアドベンチャーゲームや原始的なRPGなど、別に片手間で作れるよくらいの気持ちで作っていた。
 なぜそこまで制作意欲が湧かなかったのか、良く分からない。機能が低いからというのがあったが、しかし私はそれより低機能なファミリーベーシックやポケコンでは、逆に「作ってやるぞ!」と燃えるような意欲を感じたのである。それがMZ-2000においてあまり感じられなかったのは、私のMZ-2000に対する愛情が薄かったからかも知れない。
 素性の良いマシンではあったが、手に入れた時代が合わなかったので、不遇な目にあわせてしまったようである。今から考えると、もう少しいじってやれば良かったと思う。


前のMCLへ  次のMCLへ

戻る

TOM 2003