bo2-mac - Black Ops IIをARM64 macOSネイティブで動かす静的リコンパイラ

Show HN: Black Ops II statically recompiled to native ARM64 macOS

bo2-macは、Call of Duty: Black Ops IIの3つのexeをRemillでLLVM IRに変換し、ARM64のネイティブコードへ静的リコンパイルするプロジェクトです。手書きのWin32ランタイムと、Direct3D 11をMetalで描画するレイヤーを組み合わせ、WineもJITも使わずに1プロセスで動作します。自分のSteam版をMac上で変換すれば、キャンペーンは51〜60fps、Zombiesは6マップ、マルチプレイは11モードをボット相手にプレイ可能。ゲームファイルは一切同梱せず、購入した本人だけがアプリをビルドできます。

x86のコード自体が消え、ゲームが始まる前からARM64のマシンコードになっている——WineもRosettaも介さない、完全ネイティブな移植です。
  1. cornedor

    私は同じ手法を使って、MacOS上のAsahi LinuxでFallout: New Vegasを動かしたことがあります。かなりの手間ですが、https://github.com/doitsujin/dxvk のおかげで多くの作業を省略でき、ゲームを一日で動かせるようになります。その後は自由に変更を加えられるので、私はFallout NVをネイティブ解像度のワイドディスプレイで、いくつかのグラフィック改善を施して実行しています。リアルタイムの全世界シャドウマップ、SSAO、トーンマップ+カラーグレーディング、FXAA、Hor+ FOVです。

    ほとんどの場合、安定した60fpsが出ます。時折バグが発生しますが、すぐに修正されることが多いです。幸いにも10分ごとのオートセーブをすぐに追加したので、大きな問題にはなりません。

    このマシンでゲームを動作させる楽しみと、実際にゲームをプレイできる楽しみに加えて、LLMと連携する創造的な方法を見つけるのにも最適です。LLMに適した開発ツールを構築しながら進めています。

  2. klaussilveira

    関連する話題として:https://lwss.github.io/Kisak-Black/

  3. scronkfinkle

    > エミュレータは一切使用していません。Wine、Crossover、Rosettaのいずれも使っていません

    他の二つについてはよくわかりませんが、WINE Is Not an Emulatorです。名前がそうなっていますからね :)

  4. baalimago

    こういうものを見るとAIに本当に感謝します。AAAが欠いている利便性、あるいは意図的に提供しないものを、今は手の届くところで実現できるのです。

  5. cedws

    実際にはどうやって再コンパイルするのでしょうか?既存のツールを使うのですか?エージェントがすべてのルーチンを調べてアセンブリを手作業で翻訳するとは想像できません。

この日のほかの記事

2026-11-11