GitHubのページ
出典: GitHub

UtsuroがMacで動かすXbox One向けゲーム

Utsuroは、Xbox One向けゲームをMacで実行するための翻訳レイヤーです。Minecraft: Xbox One Edition、Rocket League、Sonic Maniaの3作品が起動し、プレイ可能な状態になっています。ゲーム機のハードウェア全体を再現する従来型のエミュレーターとは異なる方式です。

実行時には、Xbox OneのWindows派生ユーザー環境をx86-64として実行し、FEXCoreで処理します。ゲーム機のハードウェアやシステム領域が担う機能も、翻訳レイヤー側で補います。FEXCoreは、異なるCPU命令セット向けのプログラムを実行する基盤です。

3作品はMac上で描画され、コントローラー、キーボード、マウスで操作できます。MinecraftとSonic Maniaでは音声も再生されますが、Rocket Leagueは現時点で音声がありません。描画にはMetalを使い、ゲーム側のDirect3D 11.X処理を扱う仕組みも含まれます。

作品ごとに異なる動作状況

Minecraft: Xbox One Editionはバージョン1.2.0.0がプレイ可能で、メニュー、ワールド、セーブデータ、音声が動作します。Mac上での動作速度は約36〜60fpsです。ワールドや設定の保存と再読み込みにも対応しています。

Sonic Maniaはバージョン1.0.4.2がプレイ可能で、導入部、メニュー、デモ、ステージが動作し、音声も再生されます。動作速度は約57fpsです。Rocket Leagueもバージョン1.0.4.2で試合の描画とコントローラー入力に対応していますが、照明が暗く、動作は遅めで、音声はありません。

3作品の動作状況はそれぞれ異なります。MinecraftとSonic Maniaはプレイ可能ですが、Rocket Leagueは試合の描画と操作に対応した段階です。

iPhone向けビルドと実行条件

UtsuroにはiOS向けのビルドもありますが、iPhone実機ではまだテストされていません。

ゲームを動かすには、ゲームごとに復号済みのデータが必要です。ゲームデータはプロジェクトに同梱されておらず、ゲームパッケージとXbox Oneのシステムイメージを用意する構成です。対応するOSバージョンを初めて扱う場合は、そのOS向けのテーブル生成も必要になります。

iOS版では、実行に必要なメモリーを利用するためにデバッガーを使います。プロジェクトはStikDebug、iOS 26以降のStikJITヘルパー、TrollStore、または脱獄環境を選択肢として挙げています。ゲームデータはiPhoneの「ファイル」アプリからUtsuroのフォルダーへ置くか、アプリ内のインポート機能で取り込みます。

次に試す候補と残る課題

プロジェクトは、次の候補として2D作品や比較的単純な描画を使うゲームを挙げています。例には『Undertale』『Peggle 2』『Lumines Remastered』『Puyo Puyo Tetris』が含まれます。さらに大きな作品では『Mega Man 11』『Overcooked』『Rayman Legends』なども候補です。

一方、『Forza Motorsport 6/7』『Forza Horizon』『Sonic Forces』『Titanfall』などは、プロジェクトが実現の難しい候補として挙げています。これらでは、コンピュートシェーダーやジオメトリーシェーダーの変換、大容量データの読み込みが課題になるとしています。対応の難易度は、必要な描画機能やデータ量によって異なります。