エリートが22キロバイトで楽しめる最高のゲームになってから40年

Table of Contents

エリートが22キロバイトで楽しめる最高のゲームになってから40年

レトロテックウィーク1984年、あるコンピュータゲームの発売がイギリスの全国ニュースで報じられました。その理由は、あるニュース編集者が昼食後に店に立ち寄ったところ、スタッフ全員がそのゲームをプレイしていたことに気づいたからだそうです。

BBCマイクロモデルB

Eliteを搭載したBBC Micro Model B。写真:リチャード・スピード

そのゲームとは、伝説的な宇宙戦闘&トレーディングシミュレーションゲーム「エリート」でした。プレイヤーが最初に操作できるキャラクターの名前は「コマンダー・ジェイムソン」でした。開発が進むにつれ、何千人ものコマンダー・ジェイムソンが、3Dワイヤーフレームグラフィック、リアルな物理エンジン、そして驚異的なゲームプレイを通して、8つの銀河と2,048個の惑星を探索するために飛び立ちました。コードはわずか22キロバイトのメモリを使用し、プレイヤーは郵送でゲームを入手できました。このゲームが動作していたBBCのコンピューターを設計したソフィー・ウィルソンは、「エリート」を「書けなかったゲーム」と評したことで有名です。

そのデザインは非常に独特でした。第一に、おそらく最初のオープンユニバースシステムであり、第二に、ハイスコアといった従来の目標に依存していなかったことです。プレイヤーは惑星間で貿易を行ったり、賞金稼ぎに挑戦したり、貨物のためにトレーダーを殺害したり、違法アイテムを密輸したり、あるいはゆっくりとした時間を過ごしたいのであれば小惑星の採掘を行ったりすることができました。

イアン・ベルとデイヴィッド・ブレイベンが英国ケンブリッジ大学在学中に執筆した『Elite』は、Acornsoft社によって華々しく発売され、優れたユーザーマニュアルと世界観を解説する短編小説まで同梱されていました。オリジナルの『Elite』は最終的に推定100万台を売り上げました。(今日では取るに足らない数字ですが、1980年代のコンピュータ業界では莫大な数字でした。)

2つの人気続編がリリースされ、2012年にはBraben社がKickstarterを立ち上げ、21世紀にふさわしいEliteのリブートを目指しました。この試みは成功し、『Elite Dangerous』は300万本以上を売り上げ、多くの熱心なファンを獲得しました。ファンの多くは、最初のソフトが発売された当時はまだ生まれていなかった世代です。

そして2021年、ウェブ開発者のマーク・モクソン氏はついにオリジナルのコードをプレイ可能な形式で組み立てることに成功し(COVID-19によるロックダウンのおかげもあり)、オリジナルを試してみたい人のために無料で公開しました。彼はThe Registerに対し、その経緯を詳しく解説しており、記事の後半で読むことができます。

しかしまずは、ゲーム業界からコンピューター支援設計業界へと移ったイアン・ベル氏が、Elite の初期の頃と、この伝説的なゲームがどのようにして生まれたのかについて話してくれました。

The Register:「Elite は共同作業だったので当時としては異例でしたが、実際にはどのように機能したのですか?」

ベル氏:「電子メールなんてありませんでした。5.25インチのフロッピーディスクを郵送で送り合っていました。当時はプリンターもありませんでした。でも、そのうち2人ともプリンターを持つようになりました。それで、彼は私にスプールされた店舗リストやテキストファイル、6502アセンブリを送ってくれて、それを私がインポートしてBBCに変換するんです。そういう感じだったと思います。」

「これは当初、夏休み中に起こっていたのですが、その後、二人ともジーザス・カレッジに戻ってきて、お互いの部屋に行って作業するようになりました。NES版のコーディングの大部分は私が担当しました。デイビッドはオリジナルの宇宙船のプロットを担当し、その後、宇宙の生成とトレードを行いました。こうしてそれらが組み合わさり、最終的にBBCに届きました。」

The Register:「ゲームのオープンエンドな性質は驚きでした。どうやってそれを実現したのですか?」

ベル氏:『Elite』では、プロシージャル生成の宇宙を使用しています。256個の惑星からなる銀河系に落ち着きましたが、当初は8つの銀河系という制限はありませんでした。なぜなら、プロシージャル生成を行えば、通常は制限を設ける必要がないからです。

「これは基本的に、惑星を放出する乱数列に基づいて手続き的に生成されます。そのため、乱数生成器が周期的に変化しない限り、実質的に無限の数の惑星が存在することになります。当初、銀河の数は1から始まり、どんどん増えていきました。」

しかし、デイビッド・ジョンソン・デイヴィス(エイコーンソフトの創業者)は、いや、制限すべきだ、8個だけにすべきだと言いました。そして彼は全く正しかったのです。もし100個も持っていたら、こんなものがコンピューターに保存されているはずがないと人々は気付いたでしょう。

「しかし、もちろんランダム生成でした。つまり、不具合もありました。7光年の燃料許容量を超える惑星もありました。メモリ不足でなければ、燃料タンクを追加することはおそらく実行していたでしょう。」

The Register:「ゲームプレイの面では、プレイヤーが選択できるキャリアパスは多種多様でした。そのインスピレーションは何だったのでしょうか?」

ベル氏:「プレイヤーが自分の道徳的な道を選べるというアイデアが気に入りました。そして、もしあなたが非暴力の道を選び、安全な交易ルートで貿易を行い、反撃するのではなく海賊から逃げるという道を選びたいなら、そうすることもできたのです。」

サーゴイドに関しては、デイビッド(・ブラベン)が他の宇宙船とは見た目が違うようにデザインしました。そこで、エイリアンを登場させようと考え、彼らは本質的に邪悪な存在だとしました。プレイヤーが罪悪感を抱くことなく殺せる人間、というのが彼らの構想でした。

「エリートは人々にインスピレーションを与えるゲームでした。空間の面でも、3次元とオープンなゲームプレイの両方でゲームがどのようなものになるかという面でも。」

The Register:「まだゲームをプレイしていますか?」

ベル:「Elite をプレイしたのはかなり久しぶりです。」

ザ・レジスター:「それで、今は何をしていますか?」

ベル:「レイブでUVボディペイントをするのが趣味だったんですが、もう10年以上レイブに行ってないんです。昔は音楽も大好きだったんですが、もう何年も聴いてないんです。」

「今はコンピュータ支援設計に取り組んでいます。そこには幾何代数が多く含まれていて、結局は回転に帰着します。Elite で私が担当したのは数学的な部分で、今はCADに高次元数学を導入しようとしています。」

21世紀なのに、CADは未だに17世紀の幾何学を使っている。18世紀の幾何学すら使っていないなんて、とんでもない。私はその仕事が楽しいので、今は大型の最新PCでC++でコーディングしている。これは今までとは違うスキルセットだ。数学と最適化は必要だけど、全く違う。

「極めて限られたリソース上での低レベルプログラミングという概念は、ナノテクノロジーの観点からは再び登場するかもしれないが、まだそこまでには至っていない。」

しかしエリートの炎は今も燃えている

開発者のマーク・モクソン氏は、 Acorn User誌の元編集者であり、H2G2 プロジェクトの主要メンバーでもあります。彼は Elite を初めてプレイしたときからこのゲームに夢中になり、最近になってオリジナルのコード ベースからゲームを完全に再現することに成功しました。

モクソン氏にとって、この作品は愛情の結晶でした。彼は1984年にこのゲームに魅了され、その後何年もプレイし続けたと言います。ベル氏は1999年11月にソースコードを公開しましたが、これが共同制作者のブレイベン氏との不和に繋がりました。しかし、数年後にモクソン氏が偶然そのソースコードを見つけた時、それは「全く理解不能」だったと、レジスター紙の長時間インタビューで語っています。

「それを見て、『この言葉の意味が分からない』と思いました」と彼は説明した。「2014年頃、ポール・ブリンクがディスク版の分析をまとめてくれました。これは本当に大きな前進でした。そして、ロックダウンが起こったのです」

ザ・レジスター:「では、ロックダウンによって仕事をする時間ができたということですか?」

モクソン氏:「ええ。それに、あれは、ずっと先延ばしにしてきたプロジェクトにピッタリでした。そういう時間があればいいな、と思っていたんです。でも、突然、政府から『一人で時間を潰して、外出するな』って言われて、そこに座っているんです。だから、オフィスが未完成のプロジェクトでいっぱいの人間にとっては、まさに完璧な状況でした。ずっと、そういうことをできたら素晴らしいなと思っていましたが、まさかその時実現するとは思ってもいませんでした。」

「ロックダウン中に、2017年のGitHubリポジトリに偶然出くわしました。そこでは、Kieran(BBCのビンテージコードハッキンググループBitshifters CollectiveのKieran Connell)という人物がソースコードを入手し、コピープロテクトと暗号化をすべて解決するPythonスクリプトを作成していました。これは単なる魔法だと思いましたが、Macでバージョンを作成し、実際に実行して操作し、コードをいじることができたので、本当に信じられました。」

The Register : 「コードを完全に分析した結果、コードの簡素化と肥大化の削減という観点から、日常的なコーディングに適用できそうなものは見つかりましたか?」

モクソン氏:「それは、ある意味では良いことだということです。しかし、正直に言うと、ビジネスの世界では、決して優先順位は高くありません。組み込みシステムで働いているなら、これらの人たちが用いたアプローチから学ぶことはたくさんあると思います。組み込みシステムでは、はるかにシンプルなマイクロコントローラーが使われていることが多いからです。」

ウェブサイトのバックエンドを開発しているときに、そこまで厳重にロックダウンしろなんて要求する人はいません。それがビジネスの現実です。それに、最近はリリース時に完成している必要もありません。カセットテープで何かを送るような場合は、本当に完璧に仕上げなければなりません。確かにリリース時にはいくつかバグがあり、リコールを余儀なくされましたが、これほど洗練されたコードにしては、本当に素晴らしい出来栄えです。

The Register : 「では、古典的な議論の 1 つを解決するには、コーディングの観点から見ると Elite は正確にはどのくらい大きいのでしょうか?」

モクソン氏:「クラシックEliteでは約22キロバイトです。コードは実際にはメインメモリの21,906バイトしか占めておらず、マシン全体では66バイトが空き領域です。つまり、ほぼこれが上限です。」

「Acorn Electron版では、搭載されている機能の数にも左右されると思います。Thargoidなどのかなり大きな機能は削除せざるを得ませんでした。Acorn Electronに詰め込むために、10%ほど削減しました。」

The Register:「コードを調べたとき、どのような印象を持ちましたか?」

モクソン氏:「人々のコーディングスタイルを比較するのは本当に興味深いです。Eliteは2人の開発者によって書かれたため、どのセクションを誰が書いたかは、変数名の違いからもわかることが多いです。これは、David Braben氏がBBCを入手する前にAcorn Atomでコードを書いたためで、後のコードではそうなります。ですから、厳密には科学的ではありません。」

Eliteは2人の異なる開発者によって書かれ、ある種ぎっしり詰め込まれたような感じでした。そして、重複した大量処理ルーチンなどが大量に存在することが分かります。もし1人で開発していたら、微妙な違いのある10個のルーチンではなく、汎用的な乗算ルーチンを1つ多く書くでしょう。コード内には、重複する箇所がいくつかあるほどでした。

The Register : 「コード ベースにこんなに小さなエラーがあるのですか?」

モクソン:「その通りです。ええ。幸運なことに、その部分を見つけて修正し、そのスペースを使ってEliteにいくつか修正を加えることができました。Eliteはいつも楽しい作業です。その修正はほんの数バイトでしたが、おかげでBBCマスターの後のバージョンに搭載されていたフリッカーフリーアルゴリズムをバックポートすることができました。しかも、それほど多くのバイト数を必要としませんでした。」

The Register : 「ワイヤーフレームの時代では、ある程度の想像力が必要でしたが、驚くほど複雑なゲームでした。」

モクソン氏:「想像力を働かせる必要はありましたが、素晴らしいマニュアルが箱に同梱されていたので、人々は考えるようになりました。」

Eliteには面白い点があり、きっとこの記事のコメント欄で見つかると思います。Eliteにはコードには全く存在しないものに遭遇したと、誰もが断言するでしょう。世代宇宙船を見つけたとか、警察に乗り込まれたとか、そんな記憶がずっとある、なんて話もしますが、実際にはそんなことは起きません。

「このゲームには存在しないものがあまりにも多く、人々はそれが自分に起こったと断言します。『申し訳ありませんが、コードには含まれていません』と言っても、『いや、追加されたバージョンがあったはずだ』と彼らは言うのです。」

The Register : 「そして、たくさんのバージョンがあり、2 つの続編とリブート版の Elite Dangerous もありました。」

Moxon氏:「ええ、その通りです。発売当初は、次の2つのバージョンはPCゲームだったのにMacを使っていたのでプレイしませんでした。何度か試してみたのですが、ニュートン物理エンジンはオリジナルで育った人間にとっては非常に扱いにくかったです。

「Elite Dangerousは素晴らしい作品です。リブート版のKickstarterが始まった時、私も少しだけ協力したので、ゲーム内に私の名前が入ったステーションがあります。本当に驚きました。VRのあの驚きは、なかなか真似できないものです。今でも感動します。本当に。」®

Discover More