一緒に大きな声で「宇宙で『Doom』!」と言ってみよう。残響が聞こえてくるような気がするだろう。Doomは1993年にリリースされたゲームで、かつては「Windows」よりも多くのコンピューターにインストールされていた。このゲームが有名になった理由は幾つかあり、例えば1人称視点シューティング(FPS)ゲームというジャンルの草分けとなったことや、考えられる限りのあらゆるコンピューティングプラットフォームで動作することなどが挙げられる。芝刈り機から「iPod」、スーパーコンピューターまで、さまざまな機器に移植されたゲームだ。量子コンピューターへの搭載を目指す取り組みまである。

 Doomは先ごろ、最後のフロンティアである宇宙に進出した。

 アイスランド出身のシニアソフトウェア開発者で、現在はノルウェーで働くOlafur Waage氏(自称「プロのキーボードタイピスト」で、ユーモアのある動画を制作している)は、「Ubuntu Summit 25.10」において、ゲーム史上最も奇抜と言えるような移植版を開発したと語った。それは、実際に軌道上にある欧州宇宙機関(ESA)の衛星「OPS-SAT」で動作するDoomだ。もちろん、Waage氏が1人で開発したわけではない。同氏は功労者としてGeorges Labreche氏の名前を挙げた。「私やESAチーム全体の成果であると同時に、Labreche氏の貢献も大きかった」

Doomの移植は簡単

 OPS-SATは、新しいオンボードコンピューティング技術をテストする「空飛ぶ実験室」であり、搭載されていた実験用コンピューターは宇宙船向けの標準的なものより約10倍強力だった。Waage氏は次のように説明している。「OPS-SATは、衛星のオンボードコンピューターの強化によって管制能力が劇的に向上することを実証するために開発された初めての衛星だった。その狙いは、高コストの宇宙船に対して過度にリスク回避的な姿勢をとるという呪縛を打ち破ることにあった」(OPS-SATは2024年に運用が終了した)

 Doomは1997年からオープンソース化されている。筆者はその数週間後に「Linux」でプレーするようになった。C言語で書かれたDoomのコードはシンプルなので、宇宙船への移植は当然の選択だ。

 軌道上でDoomを実行するには、移植性の課題と、宇宙用ハードウェアや管制の制約という課題があった。搭載されたARMのデュアルコアプロセッサー「Cortex-A9」は、宇宙用コンピューティングハードウェア(低消費電力で放射線耐性に優れたものが多い)としては高性能だったが、地球上の基準で見ても動作が遅かった。

 Waage氏が選択したオープンソース版Doomは、人気の「Chocolate Doom 2.3」だった。OPS-SATですでに稼働していた「Ubuntu 18.04 Long Term Support」(LTS)ディストリビューションとの互換性がその理由だ。また、「18.04で利用可能なライブラリーがあるため、Chocolate Doom 2.3を選んだ。これが実際にビルドできる最後のバージョンだった」とWaage氏は指摘する。

 軌道上でのソフトウェアのアップデートは非常に困難であるため、アップロードするコードは比較的少量にする必要があった。「Doomは比較的シンプルなC言語で書かれており、外部依存関係が少ない」とWaage氏は語る。つまり、簡単に移植できるということだ。

 Waage氏はまず、軌道上にあるのと同じハードウェアを使って、宇宙版Doomを地上で実行した。多少の調整は必要だったが、動作は良好だった。そして、2023年のクリスマスの数日後、衛星でのDoomの実行に成功した。宇宙での戦争、デーモンへの攻撃の始まりだ。

宇宙にゲーム機はない

 もちろん、通常のDoom体験から変更が必要な点もあった。まず、衛星にはグラフィックス機能がなかった。つまり、宇宙にはゲーム機がない。そのため、グラフィックス処理は全てソフトウェアで実行する必要があった。最適化しても、フレームレートは満足のいく数値には達しなかった。「SQL」でDoomをプレーするよりは良かったが。

 この実験は、事前に記録されたデモファイルに大きく依存していた。これらのファイルにより、宇宙版Doomで決定論的な入力シーケンスを使用して全ステージを再生できた。そのため、ゲームの出力が期待される結果と一致しない場合に、迷放射線(ビット反転)に起因するそれらの偏差を検出できるようになった。このアプローチには、実際の科学を実験に取り入れられるという利点もあった。「できるだけ多くのデモファイルを実行して、宇宙からの出力と地上からの出力を比較することが目的だった」とWaage氏は振り返る。

 このプロセスについて、Waage氏は次のように説明した。「RNG(乱数)表を巨大にして、1つのイベントがゲームプレーに影響を及ぼすかどうかを検証した。シミュレーションでは影響があったが、残念ながら、宇宙空間ではなかった。しかし、それがこのプロジェクトの実際の計画だった。実験はうまくいかないこともあるが、それこそがOPS-SATの存在理由だ」

 当初、Doomが宇宙で動作していることを示すものは、1件のログエントリーだけだった。そこでチームは衛星のカメラを使用して地球のリアルタイム画像を撮影し、Doomの火星の「Skybox」を実際の衛星写真に置き換えた。Waage氏は「衛星からスクリーンショットを撮影して、それを空として使用し、Doomの256色という限られたパレットを使って全てをソフトウェアでレンダリングした」と説明する。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

Share.

Comments are closed.