★はじめに
XEVIOUS(ゼビウス)、このシューティングゲームの名前を知らない人も多くなってきた事でしょう。しかし、以前のゲーマーは、このゲームは必ず知っているはずです。XEVIOUSはシューティングゲームにおいて革命的であったとも言えます。このゲームについては、少し前のゲーマーに尋ねれば間違いなく知っていますし、最近(1996年)ではナムコクラッシックゲームコレクションとしてもでていますのでプレイする機会もあると思いますので、説明は省きます。とにかく、当時凄いゲームであった事は疑う余地はありません。
★MZ-700というパソコン
さて、そんなゲームをMZ-700に移植した当時の話でもしましょう(そのためのコーナーですね^^)。MZ-700というパソコンは「グラフィック表示能力がありません」でした。つまり全て用意された「文字のみで描く」という、今の人達には信じられないかもしれませんが、実際グラフィック表示能力がないため、そうせざるをえませんでした。また文字画面の表示能力も横40文字、縦25文字という仕様でした。CPUはZ80の3.58MHzです。
★それは勘違いからはじまった!?
最初は決して移植をしようと意気込んでやったわけではありません。そもそも本物の画面写真は知っていましたが、現物をプレイしたのは、それからかなり後になってからです。本物が登場し旋風を巻き起こして数ヵ月、PC-6001というパソコンにtiny XEVIOUSという移植版が登場しました。これをプレイして「ああ、これなら移植できるかも」と、ほとんど別物を見て「勘違い」してしまった(笑)という事もありました。逆に最初に本物をプレイしていたら移植はしなかったと思います。PC-6001の後、皆が待ちに待ったX1用の移植版XEVIOUSが登場しました。これを購入し手元にX1がないため(笑)、店にいって遊ぶという事をしていました。そして、このプレイの後本物を見に行こうか、という事になりました。移植を始めて半年以上経過していました。本物を見た感想は「す、すごい」の一言でした。目からうろこがおちるくらいに奇麗でスムーズな動き。この後、移植がどんどん進んでいきます。
★アセンブラって何ですか?
本物をプレイせずに移植を始めた馬鹿者ですが、最初は「マシン語」で作っていました。マシン語を生成してくれる便利なアセンブラというものを知らなかったため、頭で考えて紙に書いたりして入力していきました。さらに、普通なら作った所はカセットなり(当時はカセットテープにプログラムを記憶させていた)、ディスクなりに保存しておきます。が、マシン語の保存の仕方がわからなくて、奇麗に電源オフとともに消えてました(笑)。そんな状況だったので、思考回路が「素早く楽して表現する、プログラムするには、どうしたらよいか」という方向に向いていきました。これが後のSystem-7B、SYSTEM-7cというゲームシステムになっていきます。
何にしてもアセンブラがない、知らないため、だんだんとプログラムの管理が面倒(単に頭の中で記憶しているだけ^^;)になってきました。そして「アセンブラ」という便利なものがある事を知り、雑誌「Oh! mz」を知った事で、その後情勢は大きく変化していきました。
★投稿にあらず
移植には約2年かかっています。そのうち一回は電波新聞社に持ち込みました。「完成したら、もう一度もってきて」という言葉をかけられ「ラッキー!」と思ったのですが、完成後送ったのに何の音沙汰もありませんでした。この時、すでに高校3年になっていました。私が通った高校は「松本工業高校」でいわゆる「職業校」です。ですから、特に推薦入学で大学に入るのでなければ、当然「就職」する事になります。まわりにはパソコンを持っていてプログラムしたりする人、仲間はたくさんいました。彼等はソフト関係に進みましたが、私はそういう方面には行きませんでした。今でもそういう関係の仕事ではありません。
高校3年に入ってしばらくして「電波新聞社に送って音沙汰がないから駄目なんだろう。どうせ駄目ならOh!mzにでも送って見てもらおう」と考えました。そして、その時送った紙に一言「これは投稿ではありません」と、鉛筆で書きました。著作権が絡むから駄目だろうというのと、すでにあきらめていたからです。
★これが掲載されなかったらパソコンはやめよう
と、上記のタイトルのように考えた時がありました。ただ、この掲載されなかったらやめよう!として送ったゲームはXEVIOUSではありません。マイコンBASICマガジンという雑誌に、あるゲームを投稿しました。Break Blockというゲームですが、これが載らなかったら、やめていた可能性も多分にあると思います。このゲームを作ったのはXEVIOUSをOh!mz編集部に送り数ヵ月経過してからでした。
結果的にこの進退(笑)を決めるゲームは見事掲載されました。そしてラッキーな事に、その翌月MZ-700用のXEVIOUSがOh!mzに掲載されました。この掲載号、運命のいたずらかシャープの16ビットパソコン「X68000」のデビューと同じでした(こっちはコナミのグラディウス)。
★そして・・・
XEVIOUSが掲載された号は、かなりボロボロになっています。が、それよりも読者からのお便りコーナーに、XEVIOUSの事が書かれている号が、もっとボロボロになっています。掲載されたときも、そりゃ嬉しかったですけど、自分の作ったゲームについての感想が一番嬉しかったのです。これは、今でも変わりません。ただ、Oh!mzはOh!Xと誌名変更され、そして昨年(1995)を持って休刊となりました。投稿本数は345本(ほど)でした。
このXEVIOUSをOh!mzが拾ってくれなかったら、この後のゲームやプログラムそして今に続く事はなかったはずです。Oh!mz, Oh!X編集部の方々に深く感謝しています。
XEVIOUS以降のゲームについては、またの機会に書くことにしましょう。
★プログラム的な事、もろもろ
結構苦労したのは「キー入力」。キーボードマトリクスが、一体何を示していてどういう信号を送ったら期待した部分のキー入力ができるのかわかりませんでした。これに長い時間がかかったのですが「月刊マイコン」という本にキーボードマトリクスについて説明されているのを読み、無事に解決した事もありました。あと座標計算もよく分からなくて月刊マイコンを頼りに作成しました。HレジスタとLレジスタをX,Y座標に割り当てていたのですが、H = X, L = YでなくてH = Y, L = Xの方が高速に処理できてよかったのかもしれません。が、これが最後のゲームまで、ずっと尾を引いてしまいます。最初が肝心という言葉がありますが、確かにそうかもしれません。
Z80というCPUにはIX, IYというインデックスレジスタがあるのですが、移植がほぼ終わってあと音楽演奏ルーチンだけになった時に、初めて知りました(笑)。よって解析するとIX, IYレジスタが全然使われてないのがわかってしまいます。こういう便利なレジスタがあるのを知っていれば、もっと楽にプログラムできたのになあ(^^; 今でも「動くこと」「できること」が最優先なため、あとから人に「こういうのもあるよ」と言われると「おお、そんな便利なのもあるんですか!」と感心する事、多々あり(笑)。
特定のルーチンを高速化する人が多いけど、私はあまりそういう事には向いていなくて、全体的にうまく動作すればよい、そんな方式です。
ゲーム関係のアルゴリズムは、ほとんど独自に考えて作っていました。そもそも、参考になるような書籍も情報もなかったためです。今は「ゲームスクール」という便利な(?)所があって、いろいろ教えてくれるようです。1ヵ月かかって覚えた事を数分で説明を聞くことができるとは便利?な世の中になったものです。
また、インターネットの普及により本を買わなくてもWebで知りたいキーワードで検索するだけで必要な情報、場合によってはプログラムなどもリストアップされます。知りたいことが、すぐ分かる便利な世の中です。Webは巨大な脳みたいになりつつありますが、これによって失うものもあるかもしれません。特に検索にたよってしまうため自分で思考する、考える能力が低下する可能性があります。検索して見つからなかった場合に、すぐにあきらめてしまう悪い癖もついてしまうかもしれません。物事があれよあれよという間に過ぎ去る時代ですが、それ故にゆっくりと思考する時間を残しておきたいものです。