Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Jazz² Resurrection
Open-source Jazz Jackrabbit 2 reimplementation
Brought to you by @deathkiller

Introduction

🚧 The game was fully rewritten since version 1.0.0, please visit deathkiller/jazz2-native to build it instead. This repository will contain only new Releases. For more information, visit the official website.

Jazz² Resurrection is reimplementation of the game Jazz Jackrabbit 2 released in 1998. Supports various versions of the game (Shareware Demo, Holiday Hare '98, The Secret Files and Christmas Chronicles). Also, it partially supports some features of JJ2+ extension and MLLE. Further information can be found here.

Build Status Latest Release All Downloads Code Quality License Discord

Preview

Preview

Running the application

Windows

  • Install Microsoft Visual C++ Redistributable
  • Download the game
  • Copy contents of original Jazz Jackrabbit 2 directory to ‹Game›\Source\
  • Run ‹Game›\Jazz2.exe, ‹Game›\Jazz2_avx2.exe or ‹Game›\Jazz2_sdl2.exe application

‹Game› denotes path to Jazz² Resurrection. The game requires Windows 7 (or newer) and GPU with OpenGL 3.3 support. Game files should not be copied to Program Files. Cache is recreated during the intro cinematics on the first startup, so it can't be skipped. Also, the sound effects in the intro cinematics require the cache, so they will be missing the first time the game is started up.

Linux

  • Download the game
  • Install dependencies: sudo apt install libcurl4 libglew2.2 libglfw3 libsdl2-2.0-0 libopenal1 libvorbisfile3 libopenmpt0
    • Alternatively, install provided .deb or .rpm package and dependencies should be installed automatically
  • Copy contents of original Jazz Jackrabbit 2 directory to ‹Game›/Source/
    • If packages are used, the files must be copied to ~/.local/share/Jazz² Resurrection/Source/ or /usr/local/share/Jazz² Resurrection/Source/ instead, please follow instructions of specific package
  • Run ‹Game›/jazz2 or ‹Game›/jazz2_sdl2 application
    • If packages are used, the game should be visible in application list

‹Game› denotes path to Jazz² Resurrection. ~ denotes user's home directory. The game requires GPU with OpenGL 3.3 or OpenGL ES 3.0 (ARM) support. Cache is recreated during the intro cinematics on the first startup, so it can't be skipped. Also, the sound effects in the intro cinematics require the cache, so they will be missing the first time the game is started up.

Alternatively, you can use package repository for your Linux distribution:
ArchLinux Debian Flathub Gentoo NixOS OpenSUSE Ubuntu XtraDeb

macOS

  • Download the game and install provided .dmg application bundle
  • Copy contents of original Jazz Jackrabbit 2 directory to ~/Library/Application Support/Jazz² Resurrection/Source/
  • Run the newly installed application

~ denotes user's home directory. Cache is recreated during the intro cinematics on the first startup, so it can't be skipped. Also, the sound effects in the intro cinematics require the cache, so they will be missing the first time the game is started up.

Alternatively, you can install it using Homebrew brew trust deathkiller/jazz2 and brew install deathkiller/jazz2/jazz2

Android

  • Download the game
  • Install Jazz2.apk or Jazz2_x64.apk on the device
  • Copy contents of original Jazz Jackrabbit 2 directory to ‹Storage›/Android/data/jazz2.resurrection/files/Source/
    • On Android 11 or newer, you can Allow access to external storage in main menu, then you can use these additional paths:
      • ‹Storage›/Games/Jazz² Resurrection/Source/
      • ‹Storage›/Download/Jazz² Resurrection/Source/
  • Run the newly installed application

‹Storage› usually denotes internal storage on your device. Content directory is included directly in APK file, no action is needed. The game requires Android 5.0 (or newer) and GPU with OpenGL ES 3.0 support. Cache is recreated during the intro cinematics on the first startup. Also, the sound effects in the intro cinematics require the cache, so they will be missing the first time the game is started up.

Nintendo Switch

  • Download the game
  • Install Jazz2.nro package (custom firmware is needed)
  • Copy contents of original Jazz Jackrabbit 2 directory to /Games/Jazz2/Source/ on SD card
  • Run the newly installed application with enabled full RAM access

Cache is recreated during the intro cinematics on the first startup, so it can't be skipped. It may take more time, so white screen could be shown longer than expected. Also, the sound effects in the intro cinematics require the cache, so they will be missing the first time the game is started up.

Sega Dreamcast

  • The game plays from a disc, which has to carry the game content converted from an original Jazz Jackrabbit 2 installation – such disc image can't be distributed, so it has to be built first, as described in the developer documentation
  • Burn the resulting jazz2.cdi image with a tool that understands the Dreamcast's multi-session layout, or serve it from an optical-drive emulator such as GDEMU/MODE
    • The image also boots directly in Flycast, lxdream or redream
  • Run the disc

The game runs in 640×480 and the disc is read-only, so nothing is ever converted or written on the console – the content has to be complete in the image. The PowerVR has no programmable shading, so there is no post-processing tier and no rescale filters. The port has not been tested on real hardware yet.

Nintendo Wii

  • Download the game
  • Copy contents of the provided sd directory to the root of an SD card or USB storage device
  • Copy contents of original Jazz Jackrabbit 2 directory to sd:/apps/Jazz2/Source/ on the same device
  • Run Jazz² Resurrection from the Homebrew Channel

The game reads its content from sd:/apps/Jazz2/Content/, so the storage device has to stay present – otherwise the game stops at Cannot access the SD card. The Hollywood GPU is fixed-function, so there is no post-processing tier and no rescale filters. The port has not been tested on real hardware yet.

Nintendo GameCube

  • The console can't convert the game data itself, so the content has to be prepared in advance from an original Jazz Jackrabbit 2 installation and can't be distributed – see the developer documentation
  • Copy the resulting sd directory contents to an SD card in an SD Gecko (memory-card slot A) or an SD2SP2 adapter
  • Start Jazz2/Jazz2.dol from Swiss

The game reads its content from carda:/Jazz2/Content/, which is slot A by definition. The console has 24 MB of memory and no second pool, which makes it the tightest of the two PowerPC targets, and only GameCube controllers are read. Everything noted for the Wii applies here as well, including that the port has not been tested on real hardware yet.

PlayStation Portable

  • Download the game
  • Copy the provided PSP/GAME/Jazz2 directory to the memory stick at exactly that path (custom firmware is needed)
    • For PPSSPP, copy it into the emulator's configured memory stick instead
  • Copy contents of original Jazz Jackrabbit 2 directory to ms0:/PSP/GAME/Jazz2/Source/
  • Run the newly installed application

The game runs in the native 480×272 and reads its content from ms0:/PSP/GAME/Jazz2/Content/. Threads are unavailable on this console, so local splitscreen is not available either. The port has not been tested on real hardware yet.

PlayStation 2

  • As on the Dreamcast, the game plays from a disc that has to carry the converted game content, so the jazz2.iso image can't be distributed either and has to be built first – see the developer documentation
  • Burn the resulting image to a disc, or load it in PCSX2

The game runs in NTSC 640×448 and the disc is read-only, so Jazz2.config can't be written and settings aren't preserved. There is no audio backend for this console yet, so the game runs silent, threads are unavailable, so local splitscreen is not available either, and the Graphics Synthesizer is fixed-function, so there are no rescale filters. The port has not been tested on real hardware yet.

PlayStation 3

  • Download the game
  • Install Jazz2.pkg package (custom firmware is needed)
    • Alternatively, run the unsigned Jazz2.self on a CFW console or in RPCS3, which requires the PlayStation 3 firmware installed once
  • Copy contents of original Jazz Jackrabbit 2 directory to Source/ next to EBOOT.BIN of the installed package (/dev_hdd0/game/JAZZ20000/USRDIR/Source/)
  • Run the newly installed application

Cache and save data are written to /dev_hdd0/game/JAZZ20000/USRDIR/. Unlike the older consoles the RSX is a programmable part, so the whole post-processing chain is available – except three of the heavier rescale filters, which are hidden in the options. Threads are unavailable, so local splitscreen is not available either. The port has not been tested on real hardware yet.

PlayStation Vita

  • Download the game
  • Install Jazz2.vpk package with VitaShell or over FTP (custom firmware is needed)
  • Extract libshacccg.suprx from the console firmware to ur0:/data/, shaders are compiled on the console
  • Copy contents of original Jazz Jackrabbit 2 directory to ux0:/data/jazz2/Source/
  • Run the newly installed application

The Content directory is included directly in the VPK file, no action is needed. Cache is recreated in ux0:/data/jazz2/Cache/ during the intro cinematics on the first startup, so it can't be skipped. Also, the sound effects in the intro cinematics require the cache, so they will be missing the first time the game is started up. The port has not been tested on real hardware yet. See the developer documentation for details.

Web (Emscripten)

The game requires browser with WebAssembly and WebGL 2.0 support – usually any modern web browser.

Libretro core (RetroArch)

  • Copy jazz2_libretro.so (and jazz2_libretro.info, if provided) to the frontend's cores directory
  • Copy the Content/ directory next to the game files, then copy contents of original Jazz Jackrabbit 2 directory to Source/ beside it – Cache/ is generated next to them
    • Alternatively, place both in the frontend's system directory as ‹System›/jazz2/Content/ and ‹System›/jazz2/Source/
  • Load any file from Source/ (for example Anims.j2a) as content, or start the core without content if ‹System›/jazz2/Content/ exists

Settings, progress, highscores and the resumable state are written to ‹Saves›/jazz2/ in the frontend's saves directory. The core exposes the RetroPad as a gamepad (up to 4 players, local splitscreen included) and renders at 720×405, the native logical resolution of the game, which the frontend scales to the screen – so its video shaders and scaling options replace the in-game Rescale Mode. Save states use the game's own level-resume snapshot, so they are not frame-exact – netplay, run-ahead, rewind and reset are not supported. Cache is recreated during the intro cinematics on the first startup, so it can't be skipped.

Xbox (Universal Windows Platform)

  • Download the game
  • Install Jazz2.cer certificate if needed (the application is self-signed)
  • Install Jazz2.msixbundle package
  • Run the newly installed application
  • Copy contents of original Jazz Jackrabbit 2 directory to destination shown in the main menu
    • Alternatively, copy the files to \Games\Jazz² Resurrection\Source\ on an external drive to preserve settings across installations, the application must be set to Game type and NTFS is the recommended filesystem

    • On NTFS, the ALL APPLICATION PACKAGES group must be granted full access to that directory, otherwise the application can't read the game files or write its settings there – attach the drive to a Windows PC and run in Command Prompt or PowerShell as administrator:

      icacls "D:\Games\Jazz² Resurrection" /grant "*S-1-15-2-1:(OI)(CI)(F)" /T

      where D: is the external drive. *S-1-15-2-1 is the SID of ALL APPLICATION PACKAGES, so the command works regardless of system language. Filesystems that have no permissions at all, such as exFAT, need no such step

  • Run the application again

Cache is recreated during the intro cinematics on the first startup, so it can't be skipped. It may take more time, so white screen could be shown longer than expected. Also, the sound effects in the intro cinematics require the cache, so they will be missing the first time the game is started up.

Building the solution

The game was fully rewritten since version 1.0.0, please build deathkiller/jazz2-native instead. This repository will contain only new Releases. For more information, visit the official website. There is also the developer documentation, including a guide for the console targets – Sega Dreamcast, Nintendo Wii, Nintendo GameCube, PlayStation Portable, PlayStation 2, PlayStation 3, PlayStation Vita and Nintendo Switch.

License

This project is licensed under the terms of the GNU General Public License v3.0.

About

🎮 · Jazz² Resurrection: Open-source reimplementation of Jazz Jackrabbit 2

Topics

Resources

Stars

570 stars

Watchers

18 watching

Forks

Releases

Used by

Contributors