jazz2

by deathkiller

deathkiller / jazz2

:video_game: · Jazz² Resurrection: An open-source reimplementation of Jazz Jackrabbit 2

228 Stars 8 Forks Last release: 5 months ago (0.6.4) GNU General Public License v3.0 258 Commits 24 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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

Introduction

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 Code Quality License Discord

This project uses parts of Duality - A 2D GameDev Framework.

Preview

Preview

Running the application

Windows / Linux / macOS

  • Download Desktop release (alternatively, build the solution and copy
    Content
    directory to
    ‹Game›/Content/
    )
  • Run
    ‹Game›/Import.exe "Path to original JJ2"
    (or drag and drop original Jazz Jackrabbit 2 directory on
    Import.exe
    )
    • On Linux and macOS, you can run
      mono Import.exe "Path to original JJ2"
  • Run
    ‹Game›/Jazz2.exe
    • On Linux and macOS, you can run
      mono Jazz2.exe

‹Game›
is path to Jazz² Resurrection. You can run
Import.exe
without parameters to show additional options.

Android

  • Download both Desktop and Android releases (alternatively, build the solution and copy
    Content
    directory to
    ‹Game›/Content/
    )
  • Run
    ‹Game›/Import.exe "Path to original JJ2"
    (or drag and drop original Jazz Jackrabbit 2 directory on
    Import.exe
    )
  • Copy
    ‹Game›/Content/
    directory to
    ‹Storage›/jazz2.android/Content/
    • Alternatively, you can use
      ‹Storage›/Android/Data/jazz2.android/Content/
      instead
    • Create empty file
      .nomedia
      in
      ‹Storage›/jazz2.android/
      to hide files from Android Gallery
  • Install
    Jazz2.apk
    on Android device
  • Run the newly installed application

Requires device with Android 5.0 (or newer) and OpenGL ES 3.0 support.

‹Storage›
could be internal (preferred) or external storage. The application tries to autodetect correct paths.

WebAssembly

  • Go to Jazz² Resurrection page to play Shareware Demo online
    • Alternatively, build the solution and copy
      Content
      directory from Desktop release to build target directory

Requires Google Chrome 57 (or newer), Firefox 53 (or newer) or other browser supporting WebAssembly and WebGL.

Dependencies

Windows

  • .NET Framework 4.5.2 (or newer)
  • OpenAL Soft (included in release)
    • Copy
      x86/openal32.dll
      to
      ‹Game›/Extensions/OpenALSoft.x86.dll
    • Copy
      x64/openal32.dll
      to
      ‹Game›/Extensions/OpenALSoft.x64.dll
  • libopenmpt (included in release)
    • Copy
      libopenmpt.dll
      (x86, and its dependencies) to
      ‹Game›
      directory

Linux

  • Mono 5.0 (or newer)
  • OpenAL
    • Run
      sudo apt install openal1
      if it's missing
  • libopenmpt (included in release)
    • Copy
      libopenmpt.so
      (x86, and its dependencies) to
      ‹Game›
      directory

macOS

  • Mono 5.0 (or newer)
  • OpenAL should be already installed by OS
  • libopenmpt
    • Copy
      libopenmpt.dylib
      (x86, and its dependencies) to
      ‹Game›
      directory

Android

WebAssembly

  • .NET Framework 4.5.2 (or newer) / Mono 5.0 (or newer)
  • Mono.WebAssembly.Sdk
    (included as NuGet)
  • WebGL.NET (included)

Building the solution

Windows

  • Open the solution in Microsoft Visual Studio 2019 (or newer) and build it
  • Copy
    /Packages/AdamsLair.OpenTK.x.y.z/lib/OpenTK.dll.config
    to
    /Jazz2/Bin/Debug/OpenTK.dll.config
  • Copy dependencies to
    /Jazz2/Bin/Debug/
    or
    /Jazz2/Bin/Release/
  • If you build Release configuration, you have to replace
    Debug
    with
    Release
    in paths above

Linux

  • Install Mono 5.0 (or newer)
  • Run
    msbuild
    in directory with the solution file (.sln):
  • Copy
    /Packages/AdamsLair.OpenTK.x.y.z/lib/OpenTK.dll.config
    to
    /Jazz2/Bin/Debug/OpenTK.dll.config
  • Obtain and copy
    libopenmpt.so
    to
    /Jazz2/Bin/Debug/libopenmpt.so
    to enable music playback
  • Then you can rebuild the solution only with
    msbuild
    command
  • Use
    msbuild /p:Configuration=Release
    to build Release configuration, you have to replace
    Debug
    with
    Release
    in paths above

macOS

  • Install Mono 5.0 (or newer)
  • Open the solution in Microsoft Visual Studio for Mac and build it
  • Copy
    /Packages/AdamsLair.OpenTK.x.y.z/lib/OpenTK.dll.config
    to
    /Jazz2/Bin/Debug/OpenTK.dll.config
  • Obtain and copy
    libopenmpt.dylib
    to
    /Jazz2/Bin/Debug/libopenmpt.dylib
    to enable music playback
  • If you build Release configuration, you have to replace
    Debug
    with
    Release
    in paths above

**.NET Core 3.0* build can be compiled in a similar way (use*

Jazz2.DotNetCore
project). Compile errors about
Jazz2.Android
project can be ignored, if the Android build is not needed.

Android

  • Install Mobile development in .NET for Microsoft Visual Studio 2019 (or newer)
  • Open the solution and build
    Jazz2.Android
    project
  • Dependencies are already included for common configurations

WebAssembly

  • Open the solution and build
    Jazz2.Wasm
    project
  • Dependencies are already included for common configurations

Extensions

OpenGL ES 2.0 (Experimental)

Alternative OpenGL ES 2.0 backend can be built separately. It does not contain all features that are available in default OpenGL 2.1 backend, but it should run faster on low-end configurations. Don't use it if you have no reason to do so!

To use it, build

Extensions/Es20Backend
project. The library will be copied to
/Jazz2/Bin/Debug/Extensions/Es20Backend.core.dll
automatically. Then copy all files from
Content/_ES20
directory to
/Jazz2/Bin/Debug/Content
and replace them.

Also, you have to remove

/Jazz2/Bin/Debug/Extensions/GL21Backend.core.dll
file to disable default OpenGL 2.1 backend.

License

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.