Skip to content

Northern-Lights-Games/Rebel

Repository files navigation

Rebel - 2D Java Game Engine

Image description

Rebel is a WIP 2D Java Game Framework under the MIT License. Join the fun and let's build together!

Features

  • Hardware-Accelerated 2D Batch Rendering via OpenGL 4.6 (Shapes/Textures)
  • Animation API for Spritesheets
  • Text Rendering (System Fonts + Truetype .ttf)
  • Quadratic/Cubic Bezier Curve API
  • Interoperability with Java2D including uploading BufferedImage to Texture and using AWT Fonts with Font2D
  • Input Handling (Keyboard/Mouse)
  • .wav Audio Support (via OpenAL)
  • 2D Physics including Rectangular/Circular RigidBody2Ds
  • Custom GLSL Shader Support (Vertex/Fragment Shaders)
  • Particle System (ParticleSource)
  • Easy to include in your project. Just add the .jar to your Classpath
  • Very basic GLSL Compute Shader API

Get Started

  1. Make sure you have a JDK installed on your system. Rebel was developed using Amazon Coretto 18 (Java 18)

  2. Download the latest release from the GitHub Releases Tab on the right.

  3. Include the .jar in your classpath.

  4. Check out the Welcome to Rebel Series

  5. Make something cool!

Examples

View the demo package. :)

Gallery

Image description

The animated character is Zara, a spritesheet I made for a game but never really used. Maybe she's the mascot of Rebel?

Here's a demo of some GPU Bezier Curves I made using custom GLSL shaders. This isn't part of Rebel just yet, but Rebel can render CPU-calculated Cubic/Quadratic Bezier Curves.

Image description

Rebel's Particle System (ParticleSource):

Image description

demo.png