\当サイトではリンク広告を利用しています。広告の閲覧もありがとうございます!/
「こんな動き、当時のマシンでどうやって出せたの!?」
ゲーム史には、そんな“プログラム的にありえない”技術の数々が存在します。
まるで古代遺跡に突然現れた未来の道具――
そんなふうに語られるプログラミングの“オーパーツ”たち。
今回は、ゲームの中に埋もれた謎めいた神業コードたちを5つ紹介!
仕組みが未解明の伝説的迷路生成から、飛行船が爆速で飛ぶRPG、そして時代を先取りした2D表現技術まで。
知れば知るほどゲームって奥が深い!
海外の事例もありますが、基本的に日本で開発されたゲームが多いです。
日本のゲーム業界の盛り上がりが感じられます。
1982年、Atari 2600で発売されたゲーム『Entombed』。
プレイヤーはスクロールしてくる迷路を下へ下へと進んでいく、古典的なアクションパズルです。
しかし、このゲームの何がすごいかというと…
迷路がリアルタイムで自動生成されるという点!
しかも、この迷路を作っているコードの「仕組みが今でもよく分からない」んです。
『Entombed』の迷路生成には、「ルックアップテーブル」と呼ばれる表を使って壁か道かを判断する方法が使われています。
このルールは周囲のマス目の情報を元にしており、5ビットのパターン(周囲の壁の配置)に基づいて、次のマスの状態を決定。
なんとこのテーブル、開発者本人が酔った勢いで作ったとも言われ、
現在のプログラマーたちが解析しても、「どうしてこの結果になるのか説明できない」箇所があるとのこと。
現代でも解明が難しく、まさに“迷路の中にある迷路”のようなコード。
その意味で、『Entombed』はゲームプログラミング界のオーパーツと言えるでしょう。
次に紹介するのは、ゲームプログラミングのオーパーツの代表例としても知られているものです。
それが1990年にファミコン向けに発売された名作RPG、『ファイナルファンタジーIII』。
プレイヤーが物語の中盤で手に入れる「飛空艇」――。
これが、異常なスピードで地上を移動することで、今もってプログラマーたちを驚かせています。
当時のファミコン(NES)の処理能力は極めて限定的で、
マップ描画やキャラクター移動には大きな制約がありました。
しかしFFIIIの飛空艇は、まるで次世代機のような描画速度で地形をスムーズにスクロール。
通常の描画処理では到底実現不可能と言われています。
その謎を実現させたのが、イラン人天才プログラマーナーシャ・ジベリ。
彼は独自の高速スクロールルーチンとキャッシュ処理で、
ファミコンの限界を完全に突破。今でも「ナーシャの魔法」と呼ばれています。
バンダイが1985年にリリースした『スターラスター』は、
ファミコンで3Dの宇宙空間を自由に飛び回れるという衝撃の作品。
ポリゴンもテクスチャも使えない時代に、奥行きのある空間で敵をロックオンし、シューティングが可能という謎。
このゲームは、「ワイヤーフレーム風のスプライト」を使い、
あたかも3D空間にいるように見せる技術を実装。
内部では非常に緻密な座標変換と拡大縮小演算が行われており、
限られた計算能力でリアルな宇宙戦闘を成立させています。
当時の開発者たちは「このコード、ほぼ暗号」「どうやってバグなく動いてるのか意味不明」と語っていたとか。
セガのアーケードレースゲーム『アウトラン』は、
まるで実写のようなスピード感と美麗なドット表現が特徴。
「擬似3Dレーシングゲームの完成形」とも言われ、
多くのゲーム制作者がこれを見て衝撃を受けました。
『アウトラン』では、背景や道路、障害物などすべてがスプライトで構成されています。
遠近感やカーブの再現は、高速スクロールとスプライトのスケーリング処理で実現。
CPUが空気を読んだわけではなく、信じられないほど手作業で調整されたルーチンによって完成されていたのです。
今でもあのクオリティを2Dで出せと言われたら、おそらく誰もが断るレベル。
ナムコの『ゼビウス』は、シューティングゲーム史においても革命的作品。
その背景は、ランダムではなく一見意味のあるパターンで構成されており、
「プレイヤーの行動を学習して変化しているのでは?」とすら囁かれました。
後年の解析で、これは「128バイトの乱数テーブル」と「特定のスクロール関数」による
意図的なパターン生成だったことが判明。
しかしその出来上がりがあまりに“意味ありげ”だったため、当時のゲーマーや開発者ですら本気で騙されました。
2001年に発売された『ファイナルファンタジーX』(PS2)は、グラフィックの美しさでゲーム史に新たな金字塔を打ち立てました。
なかでも「水の表現」は、当時の他社技術者たちが頭を抱えるほど衝撃的だったと言われています。
FFXの水は、ただのテクスチャではありません。
波の揺らぎ、反射、屈折をリアルタイムで計算し、まるで本物の水のように動き続けます。
これを実現したのは、スクウェア(現スクエニ)内のエンジニアが練り上げた特殊なシェーダーとレンダリング技術。
当時のハードの性能を最大限に引き出し、「ここまでやるのか!」と多くの技術者を驚愕させました。
ある他社のグラフィック開発者は、FFXの水面を初めて見たとき、
「このグラフィックと勝負しなければならないのか」と頭を抱えたそうです。
この表現は、以降のゲームの水表現の基準を大きく引き上げ、
リアルな自然描写のスタンダードとなっていきました。
ゲームというのはアートでもあり、サイエンスでもあり、
そして時として「魔法のような技術」のかたまりでもあります。
今回紹介したようなゲームプログラミングの“オーパーツ”は、
限界を超えて遊び心と知恵で作られた、職人たちの結晶。
今の時代、ツールもスペックも桁違いに進化しましたが、
彼らの「限界を楽しむ発想力」こそが、何よりのお手本かもしれませんね。