/ballEngine

2D physics engine in early development

Primary LanguageC++MIT LicenseMIT

ballEngine

What is ballEngine?

ballEngine is a simple 2D game engine developed as a personal project to learn C++. It uses the SFML graphics library which provides an implementation of the low-level OpenGL library. Development is in very early stages and more features are yet to come.

Features

  • 2D rigid body physics and collision detection for arbitrary convex polygons. Material properties include coefficient of friction and restitution which act realistically.

  • Interactive n-body gravitational physics.

  • Scratch developed Graphical User Interface.

  • Sandbox mode: Can spawn anything and interact with the basic object editor.

  • Fully customisable keybindings for functions which use the JSON format.

  • Resource manager for textures and shaders

  • Graphics engine which makes use of modifiable shaders

Dependencies

  • SFML 2.4.2
  • nlohmann json.hpp
  • InverseKinematicsLibrary

Note: Not included in this repository are the SFML libraries and Nlohmann's json.hpp.