https://github.com/azurite-engine/azurite
Azurite Game Engine is a 2D Java game engine built on top of LWJGL.
https://github.com/azurite-engine/azurite
2d-game-engine azurite azurite-engine engine game game-engine gradle java java-game-engine lwjgl
Last synced: 15 days ago
JSON representation
Azurite Game Engine is a 2D Java game engine built on top of LWJGL.
- Host: GitHub
- URL: https://github.com/azurite-engine/azurite
- Owner: azurite-engine
- License: mit
- Created: 2021-02-20T19:05:27.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-08-29T17:29:42.000Z (over 1 year ago)
- Last Synced: 2025-03-28T16:11:49.590Z (about 1 month ago)
- Topics: 2d-game-engine, azurite, azurite-engine, engine, game, game-engine, gradle, java, java-game-engine, lwjgl
- Language: Java
- Homepage: https://azurite-engine.github.io
- Size: 39.8 MB
- Stars: 44
- Watchers: 7
- Forks: 20
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Azurite
Azurite is a 2D Java game engine built by the Games with Gabe Discord/YouTube community.
Explore the docs
··
Watch the introduction video
··
Check the Project Board
![]()
![]()
![]()
![]()
## Table of Contents
* [Features](#features)
* [Built With](#built-with)
* [Code samples](#code-samples)
* [Getting Started](#getting-started)
* [Prerequisites](#prerequisites)
* [Project Setup](#project-setup)
* [Documentation](#documentation)
* [Issues](https://github.com/Games-With-Gabe-Community/Azurite/issues)
* [License](#license)
* [Contact](#contact)# Features
* Modern OpenGL through the LWJGL 3 library for fast GPU rendering.
* Entity Component System| Name | Support | Render Context |
|------|:------:|:--------------:|
| Windows | Working | OpenGL 330 |
| macOS | Working | OpenGL 3.3 Core |
| Debian / Ubuntu | Working | OpenGL 330 |
| Arch / Manjaro | Working | OpenGL 330 |
| Other Distros | Planned | OpenGL 330 |
| FreeBSD | Planned | - |
| Android | Planned | OpenGL ES |
| IOS | Not Planned | - |### Built With
* [LWJGL 3](https://www.lwjgl.org/)### Code Samples
#### BoilerPlate Code:
```java
public class Main extends Scene {
public static void main(String[] args) {
Engine.init(1920, 1080, "Azurite Engine Demo In Comment", 1.0f);
Engine.scenes().switchScene(new Main());
Engine.showWindow();
}public void awake() {
Graphics.setDefaultBackground(Color.BLACK);
camera = new Camera();
...
}public void update() {
...
}
}
```#### Simple example with sprites:
```java
public class Main extends Scene {
GameObject player;
Sprite s;public static void main(String[] args) {
Engine.init(1920, 1080, "Azurite Engine Demo In Comment", 1.0f);
Engine.scenes().switchScene(new Main());
Engine.showWindow();
}public void awake() {
Graphics.setDefaultBackground(Color.BLACK);
camera = new Camera();player = new GameObject();
s = new Sprite("src/assets/sprite.png");
player.addComponent(new SpriteRenderer(s, new Vector2f(100)));
}public void update() {
if (Keyboard.getKeyDown(GLFW.GLFW_KEY_SPACE))
player.transform.add(new Vector2f(1, 0));
}
}
```
# Getting Started### Prerequisites
* OpenGL capable graphics card (minimum `core 330`)
* OpenGL capable graphics driver
* Java 11
### 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](https://azurite-engine.github.io/Azurite-Docs/tutorials/set-a-project.html) for tutorials on cloning and importing to either Intellj or Eclipse.### Documentation
* [Documentation](https://azurite-engine.github.io/Azurite-Docs/) (Heavy WIP)
* [Javadocs](https://azurite-engine.github.io/azurite-javadocs/)
* [Contributing guidelines](https://azurite-engine.github.io/Azurite-Docs/docs/contributing.html)
* [Azurite Code style](https://azurite-engine.github.io/Azurite-Docs/docs/azurite-style.html)### License
Copyright (c) 2023 MIT License### Contact
[Discord Server](https://discord.gg/dhyV3BXkRZ) in the #azurite-development channel