python3 -m tools.importers world
python3 -m tools.importers ped PLAYER --anims '*' --root-motion inplace --head B_Buzz
tools/ue/run_lighting.sh --variant B_raking_amber
わずか3行のターミナルコマンドを実行するだけで、2006年に登場した名作『Bully: Scholarship Edition』のアカデミーマップと動的ライティングが、Unreal Engine 5.8(UE5.8)上に組み上がった。2026年10月18日、個人開発者の @ashen_one 氏が約3分間の実機プレイ映像を公開。10月15日のリポジトリ作成からオープニング26ステージのタスク完走まで、所要日数はわずか5日。しかも全工程がMac上で稼働し、1080p・45fpsという安定したパフォーマンスを叩き出した。
生成AIによるアセット変換パイプラインとAppleのネイティブグラフィックスAPIの融合は、名作AAAタイトルの現代化ハードルを100人規模のスタジオから個人開発者1人のレベルへと引き下げた。 自動マテリアルマッピングにより数年単位の美術移行作業をスキップし、MetalグラフィックスAPIとユニファイドメモリによって、薄型ノートPCでも次世代ライティングシーンをネイティブに処理できる実用的処理能力が現実のものとなった。
図:『Bully』主人公ジミー・ホプキンス(Jimmy Hopkins)のオリジナル設定画。リメイクプロジェクトでは自動化スクリプトにより、36関節のボーンと4,374本のアニメーションを欠損なくUnreal Engine 5.8へと移行した。出典:Rockstar Games(プロジェクト参考資料)
マルチエージェントが5日で変換基盤を構築、スタジオ規模の単純労力を圧縮
従来のリメイク作業は、旧エンジンの独自フォーマットのリバースエンジニアリングや大量のC++書き直しという人的コストの泥沼にはまりがちだった。オープンソースリポジトリ oh-ashen-one/bully-remake において、人間が担当したのはプロジェクト方針の決定、実機テスト、そして品質の裁定のみである。リポジトリ内のほぼすべてのPython変換ツールとC++連携コードはAIが生成した。Claude Code(Fable 5)が統括エージェントとして振る舞い、Opus 5.5、Sonnet 5.5、Haiku 5.5 の各サブエージェントへビルドやデバッグをタスク分割して割り振った。
このマルチエージェントパイプラインは、リポジトリ作成から最初の4日間で旧Gamebryoエンジンの独自フォーマットの壁を突破した。Pythonインポーターはローカルの製品版ディレクトリから Stream/World.img アーカイブを直接読み込み、独自形式の .nif メッシュ、.txd 圧縮テクスチャ、.ipb 空間座標を glTF 2.0 と JSON 中間形式へと一括変換した。スクリプトは同時に MAINPED.HXD に格納された4,374クリップのアニメーションと、.SEA 音声アーカイブ内のMS-ADPCM音源もデコード。本来であれば複数のエンジニアが数か月かけて取り組むリバースエンジニアリングを、AIエージェント群がわずか96時間で標準的なCLIツールへと集約した。
数式によるPBRマテリアル自動再構築と、5日目のローカル音声LLM統合
旧エンジンのベイク済み頂点カラーをそのまま次世代レンダラーに投入すると、動的シャドウと干渉して不自然な黒つぶれを引き起こす。パイプラインは数式を用いて物理ベースマテリアル(PBR)パラメータの自動マッピングを行った。インポーターが旧テクスチャの _s スペキュラマップの赤チャンネル値を読み取り、Specular = 0.35 + gloss.r * SpecularScale および Roughness = 0.85 - 0.35 * gloss.r の計算式に基づいてUnreal 5のマテリアルインスタンスを動的生成。同時にグローバルパラメータ MPC_Bully.BakedVertexLight を導入してベイク影を打ち消す仕組みを構築した。
プロジェクト開始から5日目(10月19日、コミット 69abe5a)には、メインブランチに学内フリーファイトシステムとAI会話スタックが統合された。任意の生徒に近づいて T キーを押すと会話が始まり、Tab キーを長押しするとローカルの whisper.cpp を介してマイク音声での直接対話が可能になる。バックエンドでは MiniMax M2.7-highspeed と Fish Audio がキャラクターの個性に合わせた音声応答を生成し、対話終了時には内容を要約して Saved/NPCChat/<ped>.json に一人称視点の記憶として永続化。プレイヤーに嫌がらせを受けたNPCは、翌日になってもその遺恨を覚えている。
Metal SM6とユニファイドメモリ:Macで1080p 45fpsの動的ライティングを実現
従来、コミュニティによるリメイクプロジェクトはWindows環境と高消費電力な単体GPUが前提であり、macOSは本格的な3Dゲーム開発の第一線から外れて見なされがちだった。しかし @ashen_one 氏は本プロジェクトのビルドにおいて「PCを一切使わなかった」と明言している。高負荷なアセット変換、ヘッドレステスト、3840×1920の高解像度レンダリングはM3 Ultra搭載Mac Studioで実行し、日々の実機プレイとコードのイテレーションはApple Silicon搭載MacBook上で直接行われた。
図:@ashen_one 氏が公開したMac実機画面。ウィンドウタイトルバーには SF_METAL_SM6 レンダリングバックエンドが明記され、左上HUDには DAY ONE 2 / 26 のタスクノードが表示されている。出典:@ashen_one(X実機デモキャプチャ)
実機ウィンドウ上部に表示された BullyRemake (64-bit Development SF_METAL_SM6) の文字は、本作がUnreal Engine 5.8のMetal Shader Model 6ネイティブシェーダーバックエンドを直接叩いていることを示している。設定ファイル Config/DefaultEngine.ini には r.AllowStaticLighting=False が明記され、旧来の静的ライトマップの事前ベイクを完全撤廃。Lumenによるリアルタイムグローバルイルミネーションと反射を全面稼働させ、黄昏時の大気光エフェクト B_raking_amber を適用している。静的ベイクを排し、フルリアルタイムレイトレーシング処理を行っているにもかかわらず、MacBookは1080p解像度で45fpsのスムーズなフレームレートを維持。Metal SM6パイプラインがモバイルGPUのレイトレーシングとメッシュシェーダー処理能力を存分に引き出している。
さらに、Appleのユニファイドメモリアーキテクチャ(UMA)が、最適化前の初期アセットによる帯域負荷を水面下で吸収した。現在のシーン内のすべての建築物は ensure_complex_collision が有効化されており、簡易なコリジョンボックスではなく描画用の精密なポリゴンをそのまま物理衝突判定として使用している。従来型PCのアーキテクチャでは、何万もの生頂点データを頻繁に読み出すとVRAMバスが逼迫しやすい。しかしMacではCPUの物理演算とGPUのレンダリングが同一の広帯域物理メモリを共有するため、ゼロコピー処理によって初期プロトタイプ段階でもフレームレートの底割れを防ぐことができた。
「正規品自己調達」で法的手続きを回避、だが実用性には課題も残る
RockstarのIPを巡るファンリメイクは常に高い法的リスクに直面しており、過去にも多くのプロジェクトが親会社Take-Twoからの警告状(C&D)を受けて中止に追い込まれてきた。著作権侵害を回避するため、@ashen_one 氏はコードとアセットを物理的に完全分離する手法を採用した。GitHubリポジトリはMITライセンスで自作のPythonパーサーとC++基盤のみを公開し、Rockstarの独自アセットは一切含まれていない。プレイヤーはMac上でCrossOver等を用いてSteamの正規版『Bully: Scholarship Edition』をインストールし、スクリプトがローカルファイルを読み取り専用でスキャンしてUEアセットを構築する。
| 評価軸 | オープンソース支持派の見解 | エンジニアリング慎重派の見解 |
|---|---|---|
| 開発効率 | AIエージェントが5日で26ミッションと4,374のアニメーションを移植。個人開発の生産性を根本から再定義した。 | ヘッドレス環境(-nullrhi)のテスト通過が実機での快適な操作性を保証するわけではない。ダッシュ停止や旋回モーションの違和感は手作業の調整が必要。 |
| プラットフォーム生態系 | ネイティブ SF_METAL_SM6 によりMacで1080p 45fpsを達成。薄型ノートPCではUE5が動かないという固定観念を覆した。 | 起動スクリプトにmacOSのバイナリパスや外部ツール gpu_slot.sh がハードコードされており、WindowsやLinuxではそのまま動作しない。 |
| 法的境界 | 独自アセットの配布を排除し「正規品の持ち込み」に徹することで、MITライセンスの適法性を技術的に担保している。 | 『Bully』の商標を冠し大きな注目を集める限り、Take-Twoからの差し止め請求リスクを完全に払拭することはできない。 |
支持者たちは、この「Bring Your Own Copy(正規品の持ち込み)」方式と、ローカルAIコーディングエージェントに渡すプロンプトの組み合わせを、古典ゲーム保存の新たなエコシステムとして称賛している。しかしプロジェクトの構造を精査すると、AI生成プロトタイプ特有の粗さも散見される。リポジトリ内の tools/ue/_common.sh にはMac用の絶対パスがハードコードされており、リポジトリに含まれない ~/.cache/gpu-slot/bin/gpu_slot.sh への外部依存が存在する。また、Unreal Engine 5.8はXcode 26.1.1を要求し、Xcode 26.4とは互換性問題があるため、一般プレイヤーがワンクリックで動かすのは容易ではない。さらに現在移植されているのは学園内部エリアのみで、外部の街マップの移行、NPCのコリジョンめり込み、近接戦闘の打撃音フィードバックなど、自動化スクリプトでは補えない領域が依然として残されている。
AIエージェントは、個人開発者がエンジンの移植という「0から1」の巨大な壁を5日間で突破するのを強力に支援した。だが、操作感やアニメーションの微調整、クロスプラットフォーム仕様の整合といった「最後の10%」の職人芸を完全に代行することはできない。 この非商用プロジェクトが学外のオープンワールドを完成させられるかは未知数だが、消費テクノロジー領域に明確なマイルストーンを刻んだことは確かだ。LLM自動化アセットパイプラインと洗練されたApple Siliconネイティブ描画の結びつきにより、20年前のAAAクラシックを現代に蘇らせる作業は、もはや巨大ゲームスタジオだけの専売特許ではなくなりつつある。
参考リンク:
- GitHub: oh-ashen-one/bully-remake 公式リポジトリおよび技術ドキュメント
- Tech4Gamers: Fan Is Porting Bully To Unreal Engine 5.8 Using AI
- TweakTown: Bully gets a playable Unreal Engine 5 port nearly 20 years after its release
- IT之家:ファンがAIとUnreal Engine 5.8を用いて『Bully』をリメイク、Mac上で1080p 45fps動作