Giter VIP home page Giter VIP logo

voodoo2d's Introduction

Voodoo 2D

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

Build Status MIT License

Main Features

  • Basic Game Infrastructure (GameLoop, Configuration, ...)
  • 2D Render Engine (GUI Components, Spritesheet Animations, Ambient Lighting, Particle System, ...)
  • 2D Sound Engine (support for .ogg)
  • 2D Physics Engine
  • Support for Tile Maps in .tmx format (e.g. made with Tiled Editor)
  • Player input via Keyboard/Mouse

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!

  • Make sure you placed the game object in the gameObjects list that will be passed into the render method of the renderer.
  • Check to see if the object has been instantiated properly.

Animations are not diplaying properly

  • Ensure that you have given the proper range of sprites to be displayed from the spritesheet (i.e. 0 - 3).
  • Remember that, when playing an animation, all other animations attached to that game object will be stopped.

Something else isn't working properly

  • Open up an issue! Someone will get to it as soon as possible.

Current Version

  • 1.0-DEVBUILD (Development Version)

Areas for improvements / involvement

  • GUI
  • Particle System
  • Scenes
  • Lighting options
  • Batched Rendering

voodoo2d's People

Contributors

tinovasq avatar jacksonhoggard avatar plutone11011 avatar tim-day-387 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.