キャノンボールの歴史(上)

ハドソンの出した傑作といっていいソフト『キャノンボール』の結構数奇な歴史について。
この話は最終的にはカプコンが開発し、ミッチェルが発売していた『ポンピングワールド』と繋がるのだけど、とりあえずは1983年から話が始まる。
まず『キャノンボール』のゲーム内容について簡単に紹介したい。
『キャノンボール』は固定1画面のアクションゲームで、プレイヤーはキャラクタを操作し(左右にしか動けない)、画面内を跳ねまわっているボールに下からモリを当てる(モリを撃っている間は移動できなくなる)と、ボールは小さくなって2つに分裂する。これを何回か繰り返すとボールは消滅する。
ボールを全部消すと1面クリアで、ボールに自機が当たると残機が減り、残機がなくなるとゲームオーバー。
言葉で説明すると、わかりにくいが、上にあるMSX版のプレイ動画でも見てくれればわかる。
検索したところたまたまPCウオッチでも取り上げていたので、記事へのリンク。
記事にもある通り『キャノンボール』は1983年に作られたソフトだ。
オリジナルはX1で、作ったのは中本さん(中本伸一さん)。
話によると一晩で作ったらしい。
以下、『キャノンボール』が出来たときの複数の証言。
■飛田さんの証言
中本さんが一晩で作ったというのはキャノンボールとカエルシューターだったと思います(ターゲットはX1)
その時にtransパッケージというのを作ったような気がします。
PCE(PCエンジン)で言う所のBATを1フレーム前と現在の2枚持って差分で変化分だけキャラクタ単位に書きなおすという方法です。
X1のPCGがベースのソフトだから移植は楽でした。
トランスパッケージとキー入力ルーチンさえあればそのまま移植できました。
Z80のアセンブラを6809や8086のアセンブラコードに変換するようなフィルタを使って移植してました。
あの当時はひと月に2タイトル作って各X1,PC-88,FM-7,L3他に移植していたから移植込で10本位は作っていたことになる。
BATというのは、最近ではとても便利な言葉として一般化したTileで出来た背景画面のことだ。PCエンジンではBacklground Attribute Tableの略でBATと呼んでいた。
また、このほぼ同じ時期の作品について奥野さんの証言もある。
奥野さんは『マリオブラザーズ スペシャル』をPCで作っているので、このTRANSパッケージを使ったと思われる。
■奥野仁さんの証言
ハドソンは、ファミコン開発直前、いわゆるマイコンのソフト開発をしていた。
売り文句の一つとして 「オール マシン語」だった。
開発基本ターゲットは X1で 他PCでは X1 を シミュレートするライブラリが有った。
このライブラリのおかげで 移植が Z80系で 半日 、FM-7などの 09系でも1日で出来た。
09系には Z80->6809 のソースコンバータ なるものがあった。これはヘクターが作ったもの。
でぜにらんど サラトマ まる狂シリーズ とか。
そのときの開発環境は、 X1に FDDユニットを 付けた CP/M80 マシンであった。
アセンブラは 何を使ったかは覚えていない。
エディタは WordMaster を使っていた。
ファミコン開発開始あたりから このシステムは使われなくなった。
そしてハドソンは、この中本さんのTRANSパッケージ以降「オールマシン語」をウリにして、PCゲームを展開していくことになる。
ここで奥野さんの「オールマシン語」の話になる。
この当時(1983ごろ)、マシン語=全部アセンブラで書かれたゲームは高速かつ、メーカーに技術力があることの証拠とされていた。だからオールマシン語というのは大きなウリになったわけだ。
ところで、どうして中本さんは1983年のこのタイミングでTRANSパッケージを出してきたのか?
実はこれは当時のハドソンの社内事情に関係している。
まず、この当時、ハドソンは東京・札幌の2か所に開発拠点があった。
基本的にはビジネスと一部ゲームは札幌、メインのゲームやBASICなどは東京、そしてハードはどちらにもあったが、83年の段階では札幌がメインという構成だった。
具体的には、当時のメインメンバーで分けると、中本さん・竹部さん・飛田さん・奥野さんなどは東京で、野沢さん・本迫さん・菊田さんあたりが札幌にいるという構成だった。
そして、このころ(1982-83)はハドソンは東京と北海道とではゲームを作る方針が違った。
東京では主にゲームをアセンブラで開発していたが、北海道ではアセンブラだけでなく、BASICコンパイラを使ってゲームを開発する一派がいたのだ。
■名前は伏せるレジェンド
ぼくが入社したのがまさにコンパイラでゲーム開発はじまったタイミングでした。
コンパイラ上でX1のゲーム一本、書きましたよ。
丁度、田中君がX1のコンパイラ上で爆弾男を開発中でしたね。
ところが、このコンパイラは当時のコンパイラだ。ともかくターンアラウンド(今風に言えばイテレーション)が遅かった。つまり開発効率が悪かったのだ。
これは実際に使った人も明快に言っている。
■名前は伏せるレジェンド
コンパイラは開発スピード上がらなくて限界あったね。アクションゲームには全く向いてなかった。
しかも後半の通り、コンパイルしたバイナリの速度も遅かった。コンパイルしてもせいぜい2倍程度にまでしか速度が上がらないこともあったというのだから、その効率の悪さは推して知るべしだ。
しかも整数しか扱えないとか、アレが出来ない、これが出来ないという制約も多かった。
当時のコンパイラなので、ランタイムライブラリなどの問題も多い
要はBASICコンパイラは、イテレーションが遅く、開発速度が上がらなくて、しかも出来るコードの質は悪かったわけだ。
そして、ここから先は推測になるが、どうも中本さんはコンパイラで開発するのが気に入らなかったらしい。
制約は厳しいし、速度は出ない。つまりゲームとしての質が上がらないわけだ。
で、TRANSパッケージを中本さんが作り、ハドソンのゲーム開発全体をアセンブラにするという流れになるわけだ。
■名前は伏せるレジェンド
ある日、中本さんがキャノンボール作ってきて、今後は全てオールマシン語に移行すると宣言して。そこからマシン語書ける人だけ残っていく流れになった。
そこで見込みのあるのは東京に集められた。
野沢さんは当時ゲームに関わってなかったので札幌にのこった。あと、菊田さんはあくまで一人でやる人だったので札幌に残留。
開発チームは一旦、東京に集約されて、札幌はビジネス系アプリ担当だけ残ったかな。
これが1983半ばから後半の話。
名前を伏せている人も、これで東京で仕事をすることになる。
つまりキャノンボールはハドソンのゲーム全体の質が安定しない問題を解決し「オールマシン語」にするための戦略商品として作られたわけだ。
そしてスゴい話を書くなら、オールアセンブラでゲームを書けない人間を振るい落とすための仕掛けとしても機能している。
正直、中本さん、かなりエグいことやってんなあと思ってしまう。
ただし、このTRANSパッケージは、このあとハドソンがファミコンに移行していく…というか、事実上PCゲームから撤退してしまうので、1985年ごろにはほぼ使われなくなる。
というわけで、キャノンボールはPC版で1983年に発売された後、これといった発展もなく消えると思われるのだが、ここに驚くことが起こるのだ。
(続)
>この話は最終的にはカプコンが開発し、ミッチェルが発売していた『ポンピングワールド』と繋がるのだけど
遊々人生の隠し要素で存在を知りましたが、ミッチェルのポンピングワールドと繋がりがあったとは驚きです。
ポンピングワールドの続編の続編PANG3は地元の今は亡きゲーセンで2000年代でも稼働していて、息抜きにちょくちょくやってました。
つながりがあったんですよ…w