『NFS Underground 2』PC版をブラウザで動かす有志移植が話題、最大48台が街を走る
ネオン街の交差点に、数十台のチューンドカーが一度に突っ込んでくる。2004年の『Need for Speed: Underground 2』には、本来こんな光景は存在しなかったにゃ。
いま話題になっているのは、このPC版をブラウザで動くように作り直した有志のプロジェクト「Underground 2 Revived」。ChromeやFirefoxで開くとそのまま遊べて、オンラインのフリーロームでは大勢のプレイヤーが同じ街を走り回る。ほかのプレイヤーの車がぶつかり合う動画がSNSで広まり、一気に知られるようになった。
SPEED2.EXEをC言語経由でWebAssemblyへ
これはエミュレーターではない。ソースコードを公開しているGitHubのリポジトリによると、PC版の実行ファイル「SPEED2.EXE」に入っているx86の命令を、遊ぶ前の段階でまとめてC言語に変換し、それをWebAssemblyにコンパイルしているそうだよ。こういうやり方は「静的リコンパイル」と呼ばれる。
ゲームが前提にしているWindowsの仕組みも、ブラウザの機能で置き換えている。
- 描画: Direct3D 9 → WebGPU
- サウンド: DirectSound → Web Audio(AudioWorklet)
- 入力: DirectInput → ゲームパッド、ハンドルコントローラー、タッチ操作に対応
- 処理の分担: ゲームの各スレッドを、メモリを共有するワーカーとして動かす
公式のページは、ワイドスクリーンで最大120fps、フリーローム、友だちとのオンラインレースを売りにしている。メニューやHUDを4倍の解像度で描き直すテクスチャパックも入っていて、20年前の画面がそのまま出てくるわけではないみたいだね。動作環境は最新のGoogle Chromeか、WebGPUが使えるFirefox(Windows、macOS)。
土台になったのは、Talha Müderrisoğlu氏が作ったNFSU2用の静的リコンパイラ「NFSU2Recomp」。Revivedは、そのMITライセンス版をフォークして作られている。N64のゲームを移植する「N64: Recompiled」、Xbox 360向けの「XenonRecomp」と同じ考え方の仕組みだ。READMEのクレジットには「Claude Codeの助けを借りて作った」とも書かれていて、AIのコーディングツールが開発に使われたことを作者自身が明かしているにゃ。
作者は動機をこう書いている。約20年前に兄弟と一緒に遊んだゲームで、また一緒に遊べるようにブラウザへ移植してみた、という話だ。
1サーバー最大14000人のフリーロームに
もとの『Underground 2』にもオンライン対戦はあったけど、街を自由に走り回るフリーロームはひとりで遊ぶものだった。Revivedではそこに他のプレイヤーが入ってくる。操作説明のPLAYING.mdに書かれている仕様を拾うと、こうなる。
| 項目 | 内容 |
|---|---|
| サーバーの収容人数 | 同梱のDocker構成なら最大14000人(手動で立てたサーバーは128人) |
| 画面に出る他プレイヤーの車 | 16/24/32/40/48台から選択(PCは32台、タブレットは24台、スマホは16台が初期値) |
| レースのロビー | 最大6人 |
| クルー | 1人につき4つまで所属できる |
| 当たり判定(ゴーストモード) | 初期設定はオフ=他のプレイヤーの車とぶつかる |
話題になった玉突き事故のような映像は、ゴーストモードがオフ、つまりぶつかるのが初期設定だから生まれるわけだね。
ただし、フリーロームに人が出てくるかどうかは自分で選べる。フリーロームのオンライン機能は初期設定ではオフで、そのままなら誰にも見られずに、もとのゲームと同じようにひとりで走れる。同じクルー名を入れたプレイヤー同士は街の中で必ず互いの車が見え、名前とマップ上の矢印がクルーの色で表示される。友だちの「ルーム」に入ると、そのルームのプレイヤーだけが見えるようになる。
レースはゲームにもともとあるオンラインメニューをそのまま使い、このサーバーにつないで走る。順位に応じて400ドルから100ドルの賞金が入るけど、キャリアの進み具合はほかに変わらない。

CHANGELOGを見ると、10月26日から11月3日までの間に7回分の更新が並んでいる。人が急に増えたことに合わせて、仕様が次々に変わっているにゃ。
- フリーロームに表示できる他プレイヤーの車を最大32台に
- ルームとクルーへの招待リンクを追加
- フレンド機能とメッセージを追加
- 表示できる車の上限を48台に引き上げ、ゴーストモードを「オフ/プレイヤー/すべて」の3段階に
- 16台以上が1分間停まっていると「カーミート」が開かれるように(以前は24台)
- クイックチャットにカウントダウン(5、4、3、2、1、GO!)を追加
(公式のCHANGELOGより・主な項目を日本語訳)
カウントダウンのフレーズが足されたのは、フリーロームで勝手にスタートをそろえて走り出すプレイヤーが多いからだろう。最初はひとりでも遊べる移植だったものが、遊ぶ人に合わせて街ぐるみの集会所に作り替えられている途中という印象だね。
リポジトリもサイトも「Electronic Artsとは無関係で、承認も受けていない」とはっきり書いている。リポジトリにはゲームのコードもデータも入っていない。自分でサーバーを立てるなら、北米版v1.2にパッチを当てたPC版を自分で用意する必要があり、それ以外のバージョンの実行ファイルでは動かない。
一方で、公開されているサーバーのほうは事情が違う。PLAYING.mdによると、サーバーがゲームのファイルを持っていて、それをブラウザへ配信する作りになっている。プレイヤーが最初に受け取るのは約7MBのゲームコードとデータで、ムービー以外をまとめて先に読み込むと約2GBになる。サイトには権利者向けの連絡先も載っているけど、EAがこの配信を認めたという発表は出ていない。
『Underground 2』の名前と街並みを使った、いちばん人の多いフリーロームは、メーカーの外で20年越しに生まれたことになる。
関連記事
ゼルダ×ドルアーガの無料ファンゲーム『The Tower of Zeldaga』がブラウザで公開
囚われたのはガノンドロフ王子、さらったのは魔女王ゼルダガ。NES版ゼルダの見た目でドルアーガの塔を上る無料のファンゲームが、ブラウザで遊べるようになったにゃ。どの部屋にも隠された謎がある。
『ドラゴンエイジ』新作の望みは薄いのか―元EPの発言と、公式に残る事実を並べてみる
シリーズを長く率いた元エグゼクティブプロデューサーが「復活は難しい」と語ったにゃ。その見立てを、EA自身が出した数字とBioWareの公式発表と突き合わせて整理する。
生まれる国は選べない人生シミュ『80億分の1』、141か国の統計で一生を生き切る
1秒に4人ほど生まれる赤ちゃんのひとりになって、一生を最後まで見届けるブラウザの人生シミュレーション『80億分の1』。どこに生まれるかは出生数の割合で決まり、寿命も死因も実際の統計どおりに進んでいくにゃ。

コメント (0)
最初のひとことをどうぞ🐈
感想でも「わかる」の一言でも大歓迎。あなたのコメントがこのページの一番乗りです。