@dotey: Halo的引擎已被完整逆向工程,现在你可以在Android、Linux和Windows上玩Halo。借助AI,过去……

X AI KOLs Timeline 新闻

摘要

Halo: Combat Evolved 的引擎已被完整逆向工程并反编译,OpenCE 项目使其可以在 Linux、Windows 和 Android 上运行,并支持局域网及互联网多人游戏。

Halo的引擎已被完整逆向工程,现在你可以在Android、Linux和Windows上玩Halo。借助AI,过去需要大量工作量或极其复杂的事情正在变得可能…… 项目链接:https://github.com/OpenCommunityEdition/OpenCE…
查看原文
查看缓存全文

缓存时间: 2026/10/08 18:21

Halo 的引擎已被完全逆向工程,现在你可以在 Android、Linux 和 Windows 上运行 Halo。借助 AI,那些过去需要大量工作或极其复杂的事情,如今正变得触手可及…… 项目链接:https://github.com/OpenCommunityEdition/OpenCE…


OpenCommunityEdition/OpenCE

来源:https://github.com/OpenCommunityEdition/OpenCE

Halo: Combat Evolved 的 Linux、Windows 和 Android 移植版

加入我们的 Discord(https://discord.gg/9gqcHyr5km)

本项目是将 Halo: Combat Evolved 反编译工程移植到 Linux、Windows 和 Android 平台的成果。反编译基于 Xbox 版本 2342(cachebeta.exe,SHA-256 为 4cc87b45f721270392a96f1674ed2b5cd4a7bb4355faeab4531d1cf1884d9520)。移植工作基于 bnunu/halo-1(https://github.com/bnunu/halo-1)的反编译代码,而该项目是 punpckhdq/halo(https://github.com/punpckhdq/halo)的分支。

下载

GitHub Actions 会为每次提交构建游戏。以下链接下载最新发布版本的构建产物:

平台ReleaseDebug
Linuxhalo-linux-release.zip(https://github.com/OpenCommunityEdition/OpenCE/releases/latest/download/halo-linux-release.zip)halo-linux-debug.zip(https://github.com/OpenCommunityEdition/OpenCE/releases/latest/download/halo-linux-debug.zip)
Windowshalo-windows-release.zip(https://github.com/OpenCommunityEdition/OpenCE/releases/latest/download/halo-windows-release.zip)halo-windows-debug.zip(https://github.com/OpenCommunityEdition/OpenCE/releases/latest/download/halo-windows-debug.zip)
Androidhalo-android-release.zip(https://github.com/OpenCommunityEdition/OpenCE/releases/latest/download/halo-android-release.zip)halo-android-debug.zip(https://github.com/OpenCommunityEdition/OpenCE/releases/latest/download/halo-android-debug.zip)

请使用 release 构建进行游戏。debug 构建会在第一个断言失败时停止运行,并将信息写入日志。请使用 debug 构建来发现和报告问题。

游戏支持自动更新。启动时会检测是否有新版本,并询问是否安装。请参阅 port/linux/README.md 中的“更新“章节。

main 分支上在三个平台均通过测试的每次构建都会成为一个新发布版本。Releases(https://github.com/OpenCommunityEdition/OpenCE/releases)页面保留最近五个发布版本。如果最新构建存在问题,可以从此页面获取旧版本。

游戏数据

本移植版不包含游戏数据。请自行下载 Halo: Combat Evolved 的 Xbox 光盘镜像(.xiso 或 .iso)。所有版本均可正常运行。

欧洲版(PAL)的地图是为较慢的主机制作的。移植版对它们进行了调整,使其表现与北美版(NTSC)一致,以便两个版本的玩家可以联机对战。

  1. 启动游戏。
  2. 首次启动时,游戏会要求选择光盘镜像文件。请选择它。
  3. 游戏会解包 maps/ 文件夹,然后开始运行。

在 Linux 和 Windows 上,游戏会将 maps/ 文件夹放在可执行文件旁边。在 Android 上,请先将光盘镜像复制到手机中,应用会将 maps/ 存放在其数据目录下。请参阅 port/android/README.md。

各平台说明

每个平台都有各自的说明文档:

平台说明
Linux(32 位 x86 可执行文件,OpenGL 4.5,SDL3)port/linux/README.md
Windows(32 位 x86 可执行文件,OpenGL 4.5,SDL3)port/windows/README.md
Android(arm64 应用,OpenGL ES 3,SDL3)port/android/README.md

Linux 的 README 还包含了操作方式、设置和多人游戏功能的说明。这些在所有平台上基本相同。

多人游戏

游戏支持在局域网和互联网上进行系统联机对战:

  • 一场系统联机游戏最多可容纳 128 名玩家,分布在最多 128 台设备上。
  • Linux、Windows 和 Android 设备可以在同一场游戏中对战。
  • 通过邀请链接,玩家可以直接加入互联网上的游戏。无需本项目提供专用服务器。
  • 网络代码为全新编写。每台设备同时控制自己的角色移动,由主机统一做出游戏决策。

请参阅 port/linux/NETCODE.md。

构建游戏

你不需要 Xbox SDK。移植版提供了游戏所需的 SDK 声明。请参阅 port/include/xdk。

构建步骤:

  1. 安装 Python 和 ninja(https://ninja-build.org/)。
  2. 安装对应平台所需的工具链。请参阅对应平台的 README。
  3. 在仓库根目录下执行 python configure.py。
  4. 执行 ninja 并指定对应平台的目标:
目标结果
ninja linuxbuild/linux/halo
ninja windows(在 Windows 上)build/windows/halo.exe 和 SDL3.dll
ninja android_apkport/android/app/build/outputs/apk/debug/app-debug.apk

如果不指定目标直接执行 ninja,ninja 会为当前使用的平台构建游戏。tools/ci_build.py 可以生成与 GitHub Actions 相同的构建产物。例如,执行 python tools/ci_build.py linux release。

构建选项

向 configure.py 传递以下选项:

选项效果
(无)Debug 构建。断言失败会终止游戏。
--releaseRelease 构建。游戏不检查断言,与正式零售版一致。
--portableLinux 和 Windows 构建可在所有 x86-64 处理器上运行。分发给他人时请使用此选项。
--lto=thin,--lto=off减少链接时优化,加快链接速度。
--pgo=off不使用引导式优化。
--pgo=train录制新的优化配置文件。请参阅“优化配置文件“章节。

不使用 --portable 时,Linux 和 Windows 构建会使用构建机处理器的全部指令集(-march=native)。此类构建在其他计算机上不一定能正常启动。

优化配置文件

构建过程中使用游戏配置文件来优化代码:

  • pgo/halo_linux.profdata 用于 Linux 和 Android。
  • pgo/halo_windows.profdata 用于 Windows。

配置文件需要 clang 22 或更高版本。使用旧版 clang 时,构建不会应用配置文件。

录制新配置文件的步骤:

  1. 删除现有配置文件。
  2. 执行 python configure.py --pgo=train。
  3. 执行 ninja linux 或 ninja windows。

构建过程中游戏会自动进入主菜单并游玩每个战役关卡的第一分钟,整个过程持续约 15 分钟。游戏数据必须预先放置在 assets/ 目录中。

相似文章

逆向工程游戏:关于游戏反编译、重编译、VR 与网页/3D 移植的全部新闻

The Verge

The Verge 的这期盘点聚焦于逆向工程游戏的热潮:通过反编译和重编译技术,让《塞尔达》《Halo》《Lego Racers》等经典游戏摆脱专有代码和原始硬件的束缚,移植到新设备,或以彻底改变原作的方式进行改造——包括在 Vision Pro 上运行的 Half-Life: Alyx,同时探讨了 AI 辅助开发及法律灰色地带的问题。

Total Annihilation,为现代计算机重制

Hacker News Top

Nanolathe 是一个 MIT 许可的开源 2.5D RTS 引擎,通过干净室研究重新实现经典游戏《横扫千军》(Total Annihilation),支持现代 GPU 渲染、浏览器演示以及 Windows/Mac/Linux 原生运行。