案例

Kinoko:为精确回放幽灵记录而重新实现 Mario Kart Wii 物理引擎

以 C++ 将 Mario Kart Wii 的物理引擎重新实现为命令行模拟器,延续 stblr/Hanachan 的目标:完全准确地回放计时赛幽灵记录。每个测试用例让引擎重放一条幽灵记录,并逐帧将赛车的位置、旋转、速度向量、速率和检查点状态与从原版游戏采集的轨迹比较。它只在行为层面重新实现物理部分,并非一致性反编译,也没有图形前端。

使用条件与局限

  • README 介绍项目是 Mario Kart Wii 物理引擎的 C++ 重新实现,目标是完全准确地回放幽灵记录。所审提交中,STATUS.md 列出 55 个计时赛幽灵测试用例,全部标为逐帧同步;最新 GitHub 发布版 0.6(2025-09-04)附有模拟器的 x86-64 Linux、macOS 和 Windows 二进制文件。源码注释标明了原版游戏中的地址,但项目不会重新构建游戏可执行文件;README 将这一方向指向独立的 riidefi/mkw 一致性反编译项目。
  • 运行时需要使用者自备 Mario Kart Wii 光盘中的 Race 文件夹(Common 与赛道归档),并按相对可执行文件的路径放置;仓库不附带任何游戏文件,README 也要求贡献的前端不得分发游戏内素材。仓库中的样例是计时赛幽灵文件(.rkg)及逐帧 .krkg 参照轨迹;README 称后者由运行 PAL 版游戏的定制 vabold/mkw-sp 构建生成。这类轨迹是从游戏中采集的验证数据,在重建项目中很常见。
  • README 列出 g++ 13.1(C++23)、ninja 1.3 和 Python 3.6;configure.py 生成 ninja 构建,并把 testCases.json 编译为二进制测试套件文件。CMakeLists.txt 还提供 libkinoko 库目标,可将引擎嵌入其他 C++23 项目。CI 在 Ubuntu 上使用 GCC 14 构建;程序是带测试与回放模式的命令行宿主,README 表示暂无 GUI 计划。
  • kinoko test 以精确相等的方式,将位置、旋转、内部与外部速度、速率、加速度、软速度上限、比赛完成度和检查点数值与每一帧 .krkg 数据比较,并报告第一个失去同步的帧;kinoko replay 检查幽灵记录完赛时间是否与 .rkg 文件头中的时间一致。CI 使用从机密配置 URL 获取的运行文件执行测试套件,并检查 STATUS.md 是否为最新。这些都是项目报告的结果,本合集未构建或运行任何内容。
  • LICENSE 对项目采用 MIT(版权归 vabold,2022–2026);Mario Kart Wii 及其游戏数据仍归 Nintendo 所有,随附的 doxygen-awesome-css 主题另有许可证文件。所审来源未确立 AI 或 REA 使用,也不主张运行复现。

关于此条目

类型
案例
类别
独立重建案例
关联
独立重建项目
目标
游戏

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · vabold/Kinoko · 修订 550c97a
  2. STATUS.md GitHub · vabold/Kinoko · 修订 550c97a
  3. docs/KRKG.md GitHub · vabold/Kinoko · 修订 550c97a
  4. docs/TestCase.md GitHub · vabold/Kinoko · 修订 550c97a
  5. source/host/KTestSystem.cc GitHub · vabold/Kinoko · 修订 550c97a
  6. source/game/system/ResourceManager.cc GitHub · vabold/Kinoko · 修订 550c97a
  7. configure.py GitHub · vabold/Kinoko · 修订 550c97a
  8. CMakeLists.txt GitHub · vabold/Kinoko · 修订 550c97a
  9. .github/workflows/build.yml GitHub · vabold/Kinoko · 修订 550c97a
  10. tools/status_check.py GitHub · vabold/Kinoko · 修订 550c97a
  11. LICENSE GitHub · vabold/Kinoko · 修订 550c97a
  12. https://github.com/vabold/Kinoko/releases/tag/0.6

同分区更多条目:游戏

游戏分区全部 231 项资源游戏案例(189)