{
  "added_at": "2026-10-30",
  "additional_evidence_urls": [
    "https://github.com/deathkiller/jazz2-native/blob/c18381c246271d76c70af723a8ab5615028e3c6c/LICENSE",
    "https://github.com/deathkiller/jazz2-native/blob/c18381c246271d76c70af723a8ab5615028e3c6c/CMakeLists.txt",
    "https://github.com/deathkiller/jazz2-native/blob/c18381c246271d76c70af723a8ab5615028e3c6c/Docs/ThirdParty.dox",
    "https://github.com/deathkiller/jazz2-native/blob/c18381c246271d76c70af723a8ab5615028e3c6c/Docs/AssetPacker.dox",
    "https://github.com/deathkiller/jazz2-native/blob/c18381c246271d76c70af723a8ab5615028e3c6c/Docs/Consoles.dox",
    "https://github.com/deathkiller/jazz2-native/blob/c18381c246271d76c70af723a8ab5615028e3c6c/Docs/MovementAccuracyReference.dox",
    "https://github.com/deathkiller/jazz2-native/blob/c18381c246271d76c70af723a8ab5615028e3c6c/Sources/Jazz2/Tests/README.md",
    "https://github.com/deathkiller/jazz2-native/blob/c18381c246271d76c70af723a8ab5615028e3c6c/Sources/Jazz2/Tests/Results/README.md",
    "https://github.com/deathkiller/jazz2-native/tree/c18381c246271d76c70af723a8ab5615028e3c6c/Content",
    "https://github.com/deathkiller/jazz2-native/blob/c18381c246271d76c70af723a8ab5615028e3c6c/.github/workflows/linux.yml",
    "https://github.com/deathkiller/jazz2-native/blob/c18381c246271d76c70af723a8ab5615028e3c6c/.github/workflows/windows.yml",
    "https://github.com/deathkiller/jazz2/releases/tag/3.9.0"
  ],
  "category": "reconstruction-cases",
  "description_en": "Reimplements Jazz Jackrabbit 2 (1998) as a native C++ game on an extensively modified nCine engine, converting the user’s original game files into its own cache on first start. It runs on desktop, mobile, web and many homebrew console targets, with multiplayer, an enhanced Reforged mode and partial JJ2+ and MLLE support. A two-sided trajectory probe checks its non-Reforged movement against the original game, and the project reports 376 of 406 scenarios within 25 px/s.",
  "description_zh": "以原生 C++ 在深度修改的 nCine 引擎上重新实现《爵士兔 2》（Jazz Jackrabbit 2，1998），首次启动时把使用者的原版游戏文件转换为自己的缓存。它可在桌面、移动设备、网页和众多自制软件主机平台上运行，支持多人游戏、增强的 Reforged 模式，并部分支持 JJ2+ 与 MLLE。项目用一个双向轨迹探针把非 Reforged 模式的移动与原版游戏对照，报告 406 个场景中有 376 个误差在 25 px/s 以内。",
  "entry_url": "https://awesomerea.org/resources/jazz2-resurrection-engine-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/jazz2-resurrection-engine-case/",
  "evidence_url": "https://github.com/deathkiller/jazz2-native/blob/c18381c246271d76c70af723a8ab5615028e3c6c/README.md",
  "group": "cases",
  "id": "jazz2-resurrection-engine-case",
  "json_url": "https://awesomerea.org/resources/jazz2-resurrection-engine-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/jazz2-resurrection-engine-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/jazz2-resurrection-engine-case/index.md",
  "name": "Jazz² Resurrection: a native C++ reimplementation of Jazz Jackrabbit 2",
  "name_zh": "Jazz² Resurrection：《爵士兔 2》的原生 C++ 重新实现",
  "reconstruction_method": "engine-reimplementation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirements": [
    "Reviewed at the master commit of 2026-10-17, just after release 3.9.0 of the same day, which reworked physics; release packages are published in the older deathkiller/jazz2 repository. README lists the Shareware Demo, Holiday Hare ’98, The Secret Files and Christmas Chronicles as supported, with partial JJ2+ and MLLE features, and marks the Nintendo 64, Dreamcast, Wii, GameCube and PlayStation 3 ports as not yet tested on real hardware. README calls the game fully rewritten in C++ and does not describe decompiling the original executable; the non-Reforged movement constants come from measurements of the original game.",
    "Every build needs the contents of the user’s original Jazz Jackrabbit 2 directory, a retail version or the Shareware Demo, placed in a Source folder and converted into a cache on first start. On Nintendo 64, Dreamcast, PlayStation 2, GameCube and 3DS the content must first be converted with the project’s AssetPacker, and README says the resulting images can’t be distributed. The repository’s Content directory holds the game’s own fonts, extra animations, metadata and translations; the Windows 3.9.0 package contains it with an empty Source placeholder, and README says the Docker server image never contains original files.",
    "README documents Windows, Linux, macOS, iOS, Android, Nintendo Switch, Web (Emscripten), a libretro core, Xbox (UWP), AmigaOS 3.x, AmigaOS 4.1 and MorphOS, Nintendo 64, Dreamcast, Wii, GameCube, 3DS, PSP, PS2, PS3 and Vita, plus a Docker dedicated server; desktop builds need an OpenGL 3.3 or OpenGL ES 3.0 GPU. Builds use CMake 3.15+, which downloads the prebuilt dependency set by default unless system libraries are used. Console builds use their own homebrew SDKs and toolchain files, and several console targets need custom firmware.",
    "The Linux and Windows workflows build and package without running a test suite. An optional physics probe (WITH_PHYSICS_PROBE) drives the same scripted scenarios in this engine and in the original game with JJ2+ and logs every tick; the committed traces and comparison scripts let changes be checked without the original. For the 144 FPS engine capture, Results/README.md reports a median speed-distribution error of 0.1 px/s, 376 of 406 scenarios within 25 px/s and 70 of 397 scenarios whose animation-segment counts differ by over 25%. These are project-reported figures.",
    "LICENSE is GPL-3.0; Docs/ThirdParty.dox lists the third-party components, including parts of nCine (MIT), with their own licenses. Jazz Jackrabbit 2 and its data keep their owners’ rights."
  ],
  "requirements_zh": [
    "审阅版本为 2026-10-17 的 master 提交，紧随同日发布、重做了物理系统的 3.9.0 版；发布包放在较早的 deathkiller/jazz2 仓库中。README 列出支持的版本为 Shareware Demo、Holiday Hare ’98、The Secret Files 和 Christmas Chronicles，并部分支持 JJ2+ 与 MLLE 功能；Nintendo 64、Dreamcast、Wii、GameCube 和 PlayStation 3 移植版标注为尚未在实机上测试。README 称游戏以 C++ 完全重写，没有提到反编译原版可执行文件；非 Reforged 模式的移动常量来自对原版游戏的测量。",
    "所有版本都需要把使用者原版 Jazz Jackrabbit 2 目录的内容（零售版或 Shareware Demo）放入 Source 文件夹，首次启动时转换为缓存。在 Nintendo 64、Dreamcast、PlayStation 2、GameCube 和 3DS 上，内容必须先用项目的 AssetPacker 转换，README 说明由此生成的镜像不能分发。仓库的 Content 目录存放游戏自有的字体、额外动画、元数据和翻译；Windows 3.9.0 发布包包含该目录和一个空的 Source 占位文件夹，README 称 Docker 服务器镜像从不包含原版文件。",
    "README 介绍了 Windows、Linux、macOS、iOS、Android、Nintendo Switch、网页（Emscripten）、libretro 核心、Xbox（UWP）、AmigaOS 3.x、AmigaOS 4.1 与 MorphOS，以及 Nintendo 64、Dreamcast、Wii、GameCube、3DS、PSP、PS2、PS3 和 Vita 版本，另有 Docker 专用服务器；桌面版需要支持 OpenGL 3.3 或 OpenGL ES 3.0 的显卡。构建使用 CMake 3.15+，默认下载预编译的依赖库，也可改用系统库。主机版使用各自的自制软件 SDK 与工具链文件，其中几个主机平台需要自定义固件。",
    "Linux 和 Windows 工作流只构建和打包，不运行测试套件。可选的物理探针（WITH_PHYSICS_PROBE）在本引擎和装有 JJ2+ 的原版游戏中执行相同的脚本化场景，并按 tick 逐一记录位置与速度；仓库提交的轨迹和对比脚本可在没有原版游戏的情况下检查改动。对于 144 FPS 的引擎采集，Results/README.md 报告速度分布误差中位数为 0.1 px/s，406 个场景中有 376 个在 25 px/s 以内，397 个场景中有 70 个的动画片段数相差超过 25%。这些是项目报告的数据。",
    "LICENSE 为 GPL-3.0；Docs/ThirdParty.dox 列出了各第三方组件及其许可证，其中包括部分 nCine 代码（MIT）。Jazz Jackrabbit 2 及其数据仍归权利人所有。"
  ],
  "targets": [
    "game"
  ],
  "url": "https://github.com/deathkiller/jazz2-native",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
