deathkiller / Jazz2
Programming Languages
Labels
Projects that are alternatives of or similar to Jazz2
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.
This project uses parts of Duality - A 2D GameDev Framework.
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 onImport.exe
)- On Linux and macOS, you can run
mono Import.exe "Path to original JJ2"
- On Linux and macOS, you can run
- Run
ā¹Gameāŗ/Jazz2.exe
- On Linux and macOS, you can run
mono Jazz2.exe
- On Linux and macOS, you can run
ā¹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 onImport.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
- Alternatively, you can use
- 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
- Alternatively, build the solution and copy
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
- Copy
-
libopenmpt (included in release)
- Copy
libopenmpt.dll
(x86, and its dependencies) toā¹Gameāŗ
directory
- Copy
Linux
- Mono 5.0 (or newer)
- OpenAL
- Run
sudo apt install openal1
if it's missing
- Run
-
libopenmpt (included in release)
- Copy
libopenmpt.so
(x86, and its dependencies) toā¹Gameāŗ
directory
- Copy
macOS
- Mono 5.0 (or newer)
- OpenAL should be already installed by OS
-
libopenmpt
- Copy
libopenmpt.dylib
(x86, and its dependencies) toā¹Gameāŗ
directory
- Copy
Android
- Xamarin
- OpenAL Soft (included for armeabi-v7a and x86)
- libopenmpt (included for armeabi-v7a and x86)
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
withRelease
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 replaceDebug
withRelease
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
withRelease
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.