搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

gamboozino/ng2recomp

游戏

把《忍者龙剑传 II》静态重编译为 Linux 和 Windows 原生版本,自带 Vulkan 渲染器。

107
0
C++
GPL-3.0
创建于 7 天前

项目介绍

这是《忍者龙剑传 II》(Xbox 360,2008)的 Linux 和 Windows 原生移植。做法是把游戏自身的 PowerPC 代码静态重编译成 PC 可直接运行的代码,而不是走模拟器;项目基于 ReXGlue SDK,用自研 Vulkan 渲染器接管游戏的 Direct3D 调用,而不模拟 Xbox 360 GPU README lines 3–20。

项目不包含任何游戏数据。首次启动时,它会要求你提供自己的游戏副本——光盘镜像、Games on Demand 包,或包含 default.xex 的解压目录——以及必需的 Title Update 3 README lines 84–103。任务模式和服装 DLC 可选。它面向世界版(title ID 544307D5)。

除还原游戏外,移植版在游戏自带菜单里提供了 PC 选项:1x 到 8x 渲染倍率、最高 8x MSAA、各向异性过滤、16:9 到 32:9 及 4:3 比例、键鼠操作与对应按键提示、输入延迟和帧同步选项、作弊项、跳过过场、mods 文件夹,以及参考 alicenotmech Master Edition 的一组选项 README lines 21–40。着色器在构建时转为 SPIR-V;渲染管线在后台预生成并缓存到 ng2-pipelines.bin,以减少首次出现特效时的卡顿 README lines 64–81。

作者给出 Steam Deck LCD 第一章首场战斗的测量:移植版平均 60.0 fps、1% low 57.4 fps、整机功耗 10 W;Xenia Edge 默认设置平均 55.4 fps、1% low 20.3 fps、功耗 22 W README lines 41–63。这是作者在单一设备上的测量,并非独立测试。

快速使用

Linux / Steam Deck:从 Releases 下载 NinjaGaiden2-x86_64.AppImage,赋予执行权限后运行。首次启动会询问是否启用便携模式,然后依次要求游戏、Title Update 3,以及可选的 DLC 文件夹。在 Steam Deck 上把它添加为非 Steam 游戏,并在游戏内 RECOMP SETTINGS → Display 里选 16:10 README lines 104–121。

Windows:从 Releases 下载 NinjaGaiden2-windows-x64.zip,解压后运行 ng2.exe,首次启动流程与 Linux 相同 README lines 122–132。

两个包都包含 SSE4.2 和 AVX2 版本,自动选用更快的一个;设 NG2_NO_AVX2=1 可强制使用 SSE4.2 版本。复制进来的游戏、存档和 ng2.log 在 Linux 下位于 ~/.local/share/ng2-recomp,Windows 下位于 %LOCALAPPDATA%\NinjaGaiden2;ng2.toml、游戏目录和 ng2-pipelines.bin 在 Linux 下位于 ~/.config/ng2-recomp,Windows 下位于同一目录。在二进制旁放 portable.txt 可把全部数据切到旁边的 userdata 文件夹 README lines 133–146。

从源码构建需要 clang 20+、CMake 3.25+、Ninja、Python 3、Vulkan 头文件和加载器,以及 FFmpeg 库。流程是:克隆 ReXGlue SDK 并检出 v0.10.0、应用移植补丁;对 XenosRecomp 和 plume 做同样处理;用 tools/xdvdfs_extract.py 解出光盘,用 tools/stfs_extract.py 解出 Title Update 3;然后构建并运行 out/build/linux-amd64-release/ng2 --game_data_root=game_files README lines 264–329。

使用约束

  • 必须自备世界版游戏和 Title Update 3;日版的 Title Update 3 会被拒绝 README lines 84–103。
  • 需要支持 SSE4.2 的 64 位 CPU 和支持 Vulkan 1.3 驱动的 GPU。
  • Linux 需要 glibc 2.35+ 和 Python 3;首次启动对话框依赖 kdialog、qarma 或 zenity,都没有时退回到终端 README lines 104–121。
  • Windows 需要 64 位 Windows 10/11。
  • 帧同步 Auto 和输入延迟 Low 需要 VK_KHR_present_wait,不支持时分别按 Timer 和 Standard 运行。在 Steam Deck 的 Game Mode 下,Auto 和 Low 也分别按 Timer 和 Standard 运行 README lines 147–193。
  • mods 以 mods 文件夹下的子目录组织,按目录名顺序读取;两个 mod 替换同一文件时使用第一个目录中的文件 README lines 194–222。
  • 项目代码采用 GPL-3.0-or-later,随附的第三方组件保留各自许可证 README lines 353–359。
  • 已知问题包括部分过场有轻微音频延迟;测试覆盖 Linux 桌面、Steam Deck、Proton 和 Windows 11 虚拟机,真实 Windows 硬件上的覆盖较少 README lines 246–255。

HotRepo 点评

HotRepo 只记录到该项目 2026-11-06 在 C++ 新项目榜的一次快照:107 Star、两小时观察窗口内新增 7 个,Fork 为 0;Star 曲线显示同一小时内从 100 涨到 107。没有记录到 GitHub 全部语言日榜名次,观察窗口又很短,这些数据只能说明当天的情况,不足以判断趋势。值得注意的是它同时给出了可执行的技术说明、与 Xenia Edge 的对比测量、源码构建步骤和多份配套文档,读者可以依据项目自身的主张来判断移植质量,而不必依赖星数。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。