/Azurite

Azurite Game Engine is a 2D Java game engine built on top of LWJGL.

Primary LanguageJavaMIT LicenseMIT



Azurite

Azurite it is a 2D Java game engine built by the Games with Gabe Discord/YouTube community.
Explore the docs »

Features · Report Bug · Check the Trello

Table of Contents

Features

  • Modern OpenGL through the LWJGL 3 library for fast GPU rendering.
  • Entity Component System
  • Dear ImGui bindings

Code Samples

BoilerPlate Code:

public class Main extends Scene {
	
	public void awake() {		
		setDefaultBackground(Color.BLACK);
		camera = new Camera();
	}

	public void update() {

	}
}

Simple example with sprites

public class Main extends Scene {
	
	GameObject greenRectangle = new GameObject(new Transform(600, 230, 50, 50), 1);
	GameObject mario = new GameObject(new Transform(600, 200, 50, 50), 2);
	
	public void awake() {	
		setDefaultBackground(Color.BLACK);
		camera = new Camera();
		
		greenRectangle.addComponent(new SpriteRenderer(new Color(0, 255, 0, 255))); // Creates a new green sprite component
		mario.addComponent(new SpriteRenderer(new Sprite(Assets.getTexture("src/assets/images/marioSprite.png"))));	// Loads the image from the filesystem into a sprite component
	}

	public void update() {

	}
}

Prerequisites

  • OpenGL capable graphics card (minimum core 330)
  • OpenGL capable graphics driver
    • Linux nouveau drivers for nvidia cards do not currently work, you will have to install proprietary drivers.
    • FOSS AMD Drivers for linux do work.
  • Java 1.8

Project Setup

To begin contributing, create a fork of this repository. Using intellj, import this project from existing sources as a gradle project. Build gradle, then run the Main scene (located in the scenes package).

Documentation

License

Copyright (c) 2021 MIT License

Built With

Contact

Discord Server