写真提供:マイナビニュース

写真拡大

●マリオが縦に伸びる理由
任天堂から9月10日に発売された「スーパーマリオメーカー」が話題を呼んでいます。本作は「スーパーマリオブラザーズ」30周年記念の年に発売されたソフト。初代「スーパーマリオブラザーズ」から「NewスーパーマリオブラザーズU」に至るまで、4つのソフトのグラフィックをベースにパーツを配置して自由にコースを作成できるソフトです。

「スーパーマリオ」シリーズを何十年も遊び続けてきた身としては、まさに夢のようなソフトだと大興奮。 だってマリオのコースが自分で作れて、しかも、それを世界中の人に遊んでもらえるのですから! さっそく自由に敵を配置して作ってみようかな。

……ということで、とりあえずクリボーを大量に配置して、気持よくジャンプで踏みつけられるステージを作成。踏みつけたときのポピュッという音が快感で、プレイしながら自分でニヤニヤしてしまいます。敵を大量に並べるって、発想としては小学生並みな気がしますけど、きっと「スーパーマリオメーカー」を買った人の大半が最初にやってますよね?

そこでふと思い出したのですが、そういえば、ファミコン時代の「スーパーマリオ」シリーズって、こういう敵がずらっと並ぶ無茶なコースはなかったですよね。もちろん、ゲームバランスを考えた結果だとは思いますが、ひょっとしてファミコンの場合、"ゲーム機としての性能的にできなかったコト"っていうのもいろいろあるんじゃないでしょうか。

そこで今回、初代「スーパーマリオブラザーズ」が発売された当時のドット技術についていろいろ調べてみました。30年前に時計の針を巻き戻し、ドット表現の知られざる裏側をご紹介します。

※今回の記事について、書籍『ファミコンの驚くべき発想力』(技術評論社・刊)を参考にしています。

○マリオがキノコを取ったとき、縦にだけ伸びる理由

マリオシリーズでおなじみのパワーアップアイテムといえばスーパーキノコ。これを取ることでマリオがググッと一回り大きくなるのは、シリーズではもうおなじみの光景となっています。

初代「スーパーマリオブラザーズ」からすでにこの表現は登場しているわけですが、実はキノコを取ったときマリオが大きくなるのは縦にだけで、横には大きくなりません。なぜマリオは横に大きくならないのでしょうか。実はその理由、思わぬところにありました。

それを知るために、まずファミコンというハードに課せられた制限と、「スーパーマリオブラザーズ」というゲームがどのように構成されているのかを見ていきましょう。

「スーパーマリオブラザーズ」の構成を簡単に説明します。このゲーム、大きく分けると3つの画面が重なって作られています。「背景色」「背景グラフィック」「スプライト」です。スプライトとはマリオやクリボーなど、背景とは別に独立して動くキャラクターのこと。「スーパーマリオブラザーズ」に限らず、当時のファミコンソフトはたいていこの3つで構成されていました。

画像編集ソフトなどを使ったことがある人であれば、「レイヤー」の概念を思い浮かべてもらうとわかりやすいと思います。まず単色の「背景色」があり、その上に「背景グラフィック」が敷かれ、一番上のレイヤーに「スプライト」が載っているというイメージです。「スーパーマリオブラザーズ」では、マリオやキノコ、クリボー、パタパタ、クッパなど動く物がこの「スプライト」にあたります。

マリオをググッと拡大して見てみましょう。すると、キャラクターが描かれているブロックが、16×16のピクセルで構成されていることがわかります。ファミコンでは8×8ピクセルの四角形が最小のブロックとなり、これを縦に2つ、横に2つ並べた16×16ピクセルを1キャラ分の大きさとして使うのがポピュラーな作り方でした。なぜ16かというと、8×8ピクセルでは小さすぎてキャラクターが描けないからです。通常時のマリオやクリボー、パタパタなどは、すべてこの16×16ピクセルに収まる大きさとなります。ちなみにシューティングゲームの弾などは小さいので、8×8ピクセルで描かれていました。

さて、マリオはキノコを取ることでパワーアップし、巨大化するわけですが、ここで問題が発生します。

というのは、ファミコンのグラフィックはハードとしての仕様上、スプライトを横に64ピクセル分までしか同時表示できないのです。16ピクセルが1キャラ分ですから、64ピクセルだと4キャラ分。つまり、8×8のスプライトを8個しか並べることができませんでした。 よって、「スーパーマリオブラザーズ」では横に4キャラ(スプライト8個分)並んでしまうと、5キャラ目が表示できなくなってしまうというわけです(表示には優先順位が付けられるので、必ず右端のキャラクターが表示できないわけではありません)。

縦にずれていれば問題ないのですが、「スーパーマリオブラザーズ」では平坦なコースが多いため、キャラクターが横に並ぶ場面が多々発生します。この状況でマリオがキノコを取って横に大きくなってしまうと、ただでさえ少ない64ピクセルをさらに消費してしまい、敵キャラを表示する余裕がなくなります。これがマリオがキノコを取っても縦にしか伸びない理由の一つなのと考えられます(もちろん、ゲームバランス的な理由もあるでしょう)。

そうはいっても、どうしても5キャラ分、横に並んでしまうこともあります。そういう場合、4キャラ目と5キャラ目を交互に表示したり消したりして、擬似的に両方が見えるようにしていました。よく言われていたファミコンのちらつきは、これが原因です。

この方法が特に生かされているのはクッパが吐く炎です。炎は32ピクセルで構成されており、さらに横に向かって進んできます。そのまま表示すると同列2キャラ分ものピクセルを消費してしまいますが、実は炎の先端と後端を交互に表示することでピクセル数を減らしているのです。

そうはいっても、ちらつきはなるべく少ない方がいいに決まっていますから、「スーパーマリオブラザーズ」ではなるべく横一直線にスプライトが並ばないような工夫がなされています。たとえばハンマーブロスのハンマーは放物線を描きますし、火の海から出現する炎も縦に動きます。「スーパーマリオブラザーズ」のすごいところは、こうした制約による動きを逆に利用して、絶妙なゲームバランスを作り上げたところにあります。

●マリオのトレードマークに隠された「理由」
○マリオのトレードマークに隠された「理由」

マリオといえば赤い帽子やヒゲ、そしてオーバーオールなどがトレードマークとして定着しています。初代から変わらないマリオのデザインですが、なぜあの見た目になったのでしょうか。実はここにもドット絵とファミコンの制約による理由が隠されていたのです。

一つには「色」の問題があります。先ほどキャラクターは8×8を4つ重ねた64ピクセルで構成されていると書きましたが、ファミコンではこの8×8の中で色を4つしか使えないという制限があるのです。さらに、キャラクターのドットの周囲の色は「透明」にしないと背景グラフィックに溶け込まないため、4色のうちの一つは必ず透過色を選ぶ必要があり、実質使える色数は3つとなります。

マリオを構成する色は赤(帽子や服)、肌色(肌とオーバーオールのボタン)、緑がかったグレー(ヒゲなど)の3色で、オーバーオールのボタンは肌と同じ色が使われています。かなりシンプルですが、しっかりとマリオになっているところはさすがです。

ヒゲや帽子といったルックスにも理由があります。これは任天堂公式コンテンツ「社長が訊く」に詳しく載っています。

岩田:
圧倒的にドットが足りないんですよね。

宮本:
足りないんです。すぐ8×8ドットになっちゃうんです。
それで、鼻を描いてヒゲを描いたら口かヒゲかわからないので、そこでドットは稼げると。

岩田:
ヒゲを描けば、口は描かなくていいんですよね。

宮本:
描かなくていい、これは大きいです。あごは1ドットあればいいですし。
それに目は、縦に2ドットで描くとかわいいかなと(笑)。
で、髪の毛を描ききれないので、帽子をかぶせたら
帽子は2ドットで抑えられる。
(中略)
でも、残りのドット数でカラダを描こうとすると限界があるんです。
しかも、ちゃんと走らせたいので
アニメーションにする必要があったんですけど、
当時は3パターンしかできなくて。
そこで、走るとき、腕を振りますけど、
動きをわかりやすくするために
腕と体の色も違っていたほうがいいと思ったんです。
そんな服はあるのかというと・・・。

岩田:
オーバーオールですね(笑)。

そう、マリオのグラフィックは、64ピクセルという制約の中でキャラクターを表現するための苦肉の策だったのです。

そんなマリオ、初代から3年後の1988年に発売された「スーパーマリオブラザーズ3」で、グラフィックが一新されます。

もっとも、ハードは同じファミコンですから、グラフィックに関しての制約は同じです。そんな中、しっぽマリオの立体感あるデザインは、当時のゲーム業界関係者を驚かせました。これ、実はよくみると、8×8の中で実質3色までしか使えないという条件はしっかりと守られています。がらりと変わったように見えるのは、使っている色が変わったことや、ドット絵の描き方が巧みになったからなのです。

今や世界的なキャラクターとなったマリオ。その誕生の裏には、ファミコンに課せられた厳しい制約と戦ったクリエイターたちのアイデアと工夫があったのでした。

【参考資料】
松浦健一郎・著「ファミコンの驚くべき発想力〜限界を突破する技術に学べ〜」技術評論社

(山田井ユウキ)