/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 »

Watch the introduction video »

Features · Report Bug · Check the Trello

Table of Contents

Features

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

Built With

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() {

	}
}

Getting Started

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). Follow this link for tutorials on cloning and importing to either Intellj or Eclipse.

Documentation

License

Copyright (c) 2021 MIT License

Contact

Discord Server