Case study

Jazz² Resurrection: a native C++ reimplementation of Jazz Jackrabbit 2

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.

Requirements & limits

  • 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; this collection ran nothing.
  • 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. The reviewed sources establish no REA or AI use.

About this entry

Type
Case study
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Targets
Game

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · deathkiller/jazz2-native · Revision c18381c
  2. LICENSE GitHub · deathkiller/jazz2-native · Revision c18381c
  3. CMakeLists.txt GitHub · deathkiller/jazz2-native · Revision c18381c
  4. Docs/ThirdParty.dox GitHub · deathkiller/jazz2-native · Revision c18381c
  5. Docs/AssetPacker.dox GitHub · deathkiller/jazz2-native · Revision c18381c
  6. Docs/Consoles.dox GitHub · deathkiller/jazz2-native · Revision c18381c
  7. Docs/MovementAccuracyReference.dox GitHub · deathkiller/jazz2-native · Revision c18381c
  8. Sources/Jazz2/Tests/README.md GitHub · deathkiller/jazz2-native · Revision c18381c
  9. Sources/Jazz2/Tests/Results/README.md GitHub · deathkiller/jazz2-native · Revision c18381c
  10. Content GitHub · deathkiller/jazz2-native · Revision c18381c
  11. .github/workflows/linux.yml GitHub · deathkiller/jazz2-native · Revision c18381c
  12. .github/workflows/windows.yml GitHub · deathkiller/jazz2-native · Revision c18381c
  13. https://github.com/deathkiller/jazz2/releases/tag/3.9.0

More in Games

All 231 entries in GamesGames case studies (189)