Git Product home page Git Product logo

jazz2's Introduction

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 5.0 build can be compiled in a similar way (use Jazz2.NET5.sln solution instead).

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.

jazz2's People

Contributors

chewi avatar deathkiller avatar rosalie241 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    šŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. šŸ“ŠšŸ“ˆšŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ā¤ļø Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.