【ゲーム日記】vol28.昔のゲームカセット容量問題
こんにちは。蓮根です。
最近知って驚いたことです。
スーパーマリオのステージクリア時の音楽を物凄くスピードアップすると、キノコを取った時の効果音になる、です。
これ知っていました?僕は全然知らなくて、本当に驚きました。
これをTwitterでリツイートしていた方から返信貰った時に、その方が書かれていた「スーパーマリオという有名なゲームでもいまだに知らないことが隠されているということが凄い」というのは本当に納得しました。
まったくその通りです。
スーパーマリオを開発していた時は、隠すつもりではなくて容量削減のためにやっただけなんでしょう。たぶん苦肉の策で仕方なくやったんだと思います。
でも、物凄い工夫で容量削減しつつも、変な効果音なんて誰も思わない。まったく違う音としてみんなが認識して、違和感が無いどころがどちらも有名なゲーム音楽、効果音として今日まで至るんですから、とんでもない話です。知ったら面白い話ですが、知らないままで良いゲーム音楽と効果音のままでも良いかなと思ってしまいました。
初期のファミコンの容量が少なくて、開発で苦労されたという話は色々と有名な逸話が残っています。
有名なのはドラクエですかね。ドラクエ1では容量削減のために使用するカタカナを限定していた、というような話は恐怖すら感じます。1文字のサイズが8ドット×8ドットとしたらたかだか1文字64ビット=8バイト。これさえも削減するってどれだけカツカツだったのか。
そのしばらく後で、ファミコンやMSXというパソコンゲームで、メガロムという言葉が出てきます。ゲームカートリッジの容量が1メガある、ということですね。ただし、今ハードディスクの容量で言われている1メガはメガバイトという単位ですが、当時の1メガは1メガビット。8ビット=1バイトなので、当時のメガロムは恐らく今でいう128キロということになります。
そしてこれも良く覚えているのですが、ネオジオの100メガショック。これも当時僕の周りでは、100メガって言っているけどビットなんだぜ、って話題になっていました。
昔のプログラム投稿雑誌でも、やはり容量削減はありました。
当時、1画面に収まるプログラムの部門、5画面に収まるプログラムの部門、といったように、プログラムの長さによって投稿する部門が違っていまいた。なので、1画面プログラムに納めるためには、プログラムを短くしなければいけない。
そのための1画面プログラム特有のプログラムテクニックはよく見かけましたし(条件文のTrueが-1として扱われるのを利用するのは今でもExcel関数なんかで使ってしまいます)、キャラクタデータも2進数で書いたら大変、16進数データで書いても文字数を使うので、文字で書いてASCIIコードを利用するようなプログラムが沢山ありました。素人が作成するものでも、色々と工夫があったんです。
今はスイッチのゲーム容量を見ると10ギガなんて数字を見掛けて、これもまた恐ろしい気分になります。
時代が違うのでそれはそれで、と思いますが、制限があったから工夫しなければいけなかった時代も楽しかったと思ってしまいます。