JacksonHoggard / voodoo2d

👹 2D Java Game Engine built in OpenGL
MIT License
131 stars 50 forks source link
2d 2d-game-engine game game-engine lwjgl openal opengl stb

Voodoo 2D

A lightweight engine to easily build complex cross-platform 2D games in Java.

Build Status MIT License

Main Features

Code:

Mesh mesh = Mesh.loadMesh("textures/player.png", 64); // Create new mesh with size of 64x64 pixels
GameObject gameObject = new GameObject(mesh); // Makes a new gameObject from mesh
Animation run = new Animation(gameObject, 0, 3, 6); // Creates new animation with frames 0 - 3 at 6 fps
run.play(); // Play the animation!
INPUT
if(window.isKeyPressed(GLFW_KEY_D)) { // Checks if "D" key is down
    run.play(); // Plays our animation!
COLLISION
aabb = new AABB(); // Make a new collision box
aabb.setCenter(0.5f, 0.0875f); // Set the center point of the boundary
aabb.setDistance(0.5f, 0.0875f); // Set the distance from the center to the edges of the boundary

Maven Dependency

<dependency>
  <groupId>com.github.jacksonhoggard</groupId>
  <artifactId>voodoo2d</artifactId>
  <version>1.0-DEVBUILD</version>
</dependency>

CONTRIBUTING

If you'd like to make a contribution, please refer to CONTRIBUTING.md or read the wiki page on how to set up the project

TROUBLESHOOTING

A game object is not drawing to the screen!

Animations are not diplaying properly

Something else isn't working properly

Current Version

Areas for improvements / involvement