/note/tech

なぜ世界中のハッカーが変なデバイスで『DOOM』を動かしているのか~デジカメから妊娠検査キット、ハエの...

要約:

■ 1. DOOM移植ミームの現状

  • ハエの脳でDOOM:
    • Google Researchらがハエの中枢神経系を網羅したデータセットを公開
    • 直後にMaleCNS v1.0コネクトームを使いハエのシミュレーションにDOOMをプレイさせる試みが登場
    • DOOMの各フレームで感覚ニューロンを刺激し、神経活動をゲーム操作に対応させる仕組み
    • ダメージ発生時に2つのPPL101ドーパミン細胞へ刺激を与え強化のシグナルとする
  • ハック界の定番ネタ:
    • DOOMは1993年発売で、FPSというジャンルを世に広めたタイトルとも言われる
    • 電子工作やガジェットハック界隈では、ハードウェアをハックしたときに最初に動かすソフトウェア扱い
    • 「任意のハードウェア名でDOOMを動かす」がド定番ネタとして定着
  • 事例の広がり:
    • セルフレジ、ATM、電子レンジ、関数電卓で動かした例が存在
    • 妊娠検査キットやデジカメ、スマートウォッチなど無数の事例があり、挙げ始めるときりがない
  • 本記事の問い:
    • テトリスでもRogueでもプーさんのホームランダービーでもよかったはず
    • DOOMがこのポジションに収まったのには経緯があるはずであり、その歴史を紐解く
    • 本記事は素人が興味本位で調べたものであり、事実誤認の指摘を歓迎する

■ 2. オリジナル版のリリースと公式移植

  • 1993年のDOOM発売:
    • id Softwareが発売し、オリジナルはMS-DOS向け
  • 公式移植の拡大:
    • 1994年にLinuxとMacへ移植
    • 1995年にPlayStation、その後も各種UNIXやゲーム機へ広がる
  • 当時の位置づけ:
    • この時点では普通の市販ソフトウェアであり、移植はすべてid Software自身や外注先、ライセンス先によるもの
    • だれでも自由に移植する現在とは状況が異なる
    • ただし「いろんなハードで動くゲーム」というイメージが今の状況につながる源流となった可能性はある

■ 3. ソースコード公開

  • 1997年の公開:
    • 発売から4年後の1997年12月23日にid SoftwareがLinux版DOOMのソースコードを公開
    • 公開当日にDOSDoom(MS-DOS版)が作られ、勝手移植の歴史が幕を開ける
  • 公開の動機:
    • John Carmackが古くなったゲームのコードを公開しコミュニティにいじってもらう価値があると考えたため
    • ハッカー精神の表れ
    • ソースコードは現在もGitHubから入手でき、Readmeには「Port it to your favorite operating system.」と書かれている
    • 開発者側も勝手移植に対して「その気」であったとわかる
  • Linux版を公開した理由:
    • MS-DOS版には第三者製のDMXサウンドライブラリが含まれていた
    • ライセンス上問題のないLinux版を選んだ
  • ライセンスの変遷:
    • 公開時点では非営利利用を許す独自ライセンス
    • 1999年にGPLへ変更され、合法的に読み、書き換え、移植できる環境が整う

■ 4. ゲーム機以外で動かす萌芽

  • 最初の事例は不明瞭:
    • PCやゲーム機以外で最初にDOOMを動かしたハードウェアが何かは、意外にもはっきりしない
  • Kodak DC260:
    • 有力候補はデジタルカメラのKodak DC260
    • デジカメ用OS「Digita」を採用し、PowerPC系CPU上で動作して第三者プログラムも実行できた
    • 移植版はDOOMDと命名され、カメラ上で動作させた動画も見つかる
    • 移植年もはっきりしないが、複数資料からの推測でおそらく2000年

■ 5. 「But Can It Run Doom?」

  • 2003年のWIRED記事:
    • 2003年1月1日にWIREDが「But Can It Run Doom?」を公開
    • いろんなデバイスでDOOMを動かすムーブメントをまとめた内容
    • 掲載された小さな年表から、当時すでにWEBブラウザや携帯電話でDOOMが動いていたとわかる
  • 携帯電話版:
    • WEBブラウザ版が何を指すかはあいまい
    • NokiaのSymbian OS上で動くDOOMが当時公開されていた
    • 2001年にPDA寄りの機種Nokia 9210 Communicatorで動作
    • 2002年にはより普通の携帯電話であるNokia 7650でも動作
  • 当時の受け止め方:
    • 「携帯でDOOMが動いておもしろい」より「携帯電話はもうDOOMが動くほどのコンピュータなのか」という驚きが大きかった
    • DOOMのデバイス進出は、DOOMが動くようなコンピューターがいろんなデバイスに搭載され始めたことの裏返し

■ 6. YouTubeによるミーム化

  • 移植版に名前がつく理由:
    • 初期の移植版はDOOMDやCDoomのように個別の名称を持つ
    • 当時は主にソースコードを公開する形で発表されたため、ソフトウェアとしての名称が必要だった
  • 文化の転換:
    • 2005年のYouTube開始と一般化により、コードを公開する文化から変な機械でDOOMが動く映像を見せる文化へ変わる
    • 2006年にアップされたオシロスコープやニンテンドーDSの動画は今でも見られる
    • 2007年にはiPodで動かす動画も上がっており、この時期が映像文化の黎明期と考えられる
  • ミームとしての定着:
    • 動画が界隈で人気を博し、関数電卓や80年代のゲーム機など対象がじわじわ広まる
    • 2013年にTumblrの「It Runs Doom」アカウントで事例収集が始まる、現在は更新停止
    • 2016年にredditで専用のSubredditが開設される
    • ミームとしてメジャー化したのはだいたい2010年代中盤

■ 7. トロフィーとしてのDOOM

  • 脆弱性実証としての側面:
    • 2014年のCanon PIXMAは、プリンタのWebインターフェースの脆弱性を利用しファームウェアを書き換えて動かした例
    • 単なる移植ではなくセキュリティ研究の成果でもある
    • 特定の機器でDOOMを動かすことは、任意コード実行できたというわかりやすい証明になる
  • トラクターのjailbreak:
    • 2022年にSick CodesがJohn Deere製トラクターのディスプレイシステムを解析し、root権限を取得してDOOMを動かす
    • 前年にセキュリティ調査でメーカーに脆弱性を修正させたことについて、Right to Repairの活動家から怒りの声が届いたと語る
    • メーカーのために問題を直したことはRight to Repairに反するという意見を聞き入れた
    • 自分が所有しているハードウェアに侵入し、農家がメーカーの許可なくトラクターをjailbreakできると証明する意図があった
  • ハッキングのゴール:
    • 「修理する権利」の文脈が現れ、DOOMが動くことはデバイスを自分のものにできたことを意味する
    • ネタとしての面白さとは別に、デバイスの制御権を獲得したトロフィーとしてDOOMがとらえられている

■ 8. 「DOOMが動く」のグラデーション

  • 任意コード実行を伴わない例:
    • 妊娠検査キットの事例は、もともと搭載されていた液晶を使わず別の小型OLEDに付け換えている
    • キット上で動いているのは見た目の話であり、ハードウェア的には別物
  • 自作の模倣プログラム:
    • ハードウェアは純正品でも、DOOMのソースコードを使わずそれを模したプログラムを自作する場合がある
    • 電卓などでよくみられる
  • 定義の幅:
    • 「DOOMを動かす」といってもそこにはグラデーションがあると覚えておいてよい

■ 9. 近年の事例と広がり

  • 宇宙のDOOM:
    • 2019年に打ち上げられた人工衛星OPS-SATが最も夢とインパクトのある事例
    • ESAが開発・運用した、軌道上で自由にソフトウェアの実験ができる超小型衛星
    • Ubuntuの動くCortex-A9プロセッサを搭載し、そこでDOOMを動かした
    • ESAの公式記録にも「First satellite to run DOOM in space.」と記載されている
  • ソフトウェア要素で動くDOOM:
    • 2025年にSQLで動くDOOMQLが公開され、PostgreSQL互換のCedarDBでSQLビューと再帰クエリを使いレンダリングする
    • 同じく2025年にPDFで動くDOOMが公開され、アプリケーションではなくドキュメントファイル側にDOOMを持つ珍しい例
    • PDF版は筆者の環境ではうまく動かなかった
  • バイオ分野への拡大:
    • 2024年に大腸菌でDOOMを動かすシミュレーション実験が発表される
    • 遺伝子回路で大腸菌の発光を制御し、ディスプレイに応用するためのシミュレーション
    • DOOMのプログラム自体は外部のコンピューターで動作し、大腸菌はディスプレイの役割を担う
    • 1フレームの表示に約8.3時間かかるため、ゲームとして成立するレベルではない
  • 到達点:
    • 「DOOMを動かす」の世界は、もはや地球上のハードウェアに限定されない時代に突入している

■ 10. 結論

  • 最大の理由は歴史:
    • なぜDOOMなのかという問いへの回答は、ここまで振り返ってきた歴史があるからというのが最大の答え
  • 技術的理由とキャッチーさ:
    • ソースコードが使いやすいライセンスで公開されている
    • 古いソフトウェアなので非力なデバイスでも動く
    • 画面が3Dで派手なので業務用機器に入れるとギャップがあって面白い
    • 画面が個性的なので一目でDOOMを動かしているとわかる
  • 時代性の総括:
    • 身の回りのいろんなデバイスにコンピュータが搭載され始めた時期だった
    • 有名なゲームのソースコードが使いやすいライセンスで公開されていた
    • 移植しやすい構造にもなっていた
    • あの時代ならではという感じがある
  • 移植構造への指摘:
    • 公開後の追記として、ハードウェア依存部分が一箇所に固めてあるという読者の指摘を紹介
    • そこだけ書き換えればプラットフォーム移植できる構造のおかげもあるという内容
  • 文化としての位置づけ:
    • DOOMの移植はここまでくると完全に一つの文化という感じがする
    • 個々の事例はシンプルにおもしろハックとしてもしっかり楽しめる単話完結型
    • どなたにも楽しんでいただけるカルチャーであり、これからも注目していく