Platform: PC
Language: C++
Tools: Custom made library
Duration: 7 months
Completion: 2015
Team Size: 1
This is a 2D collision library made in C++. The library is designed to handle collisions between objects and a small amount of basic physics on the objects, since physics are important in achieving realistic looking collisions. The main focus of the collision library was to create a small library that can produce realistic looking collisions with some freedom to create different kinds of collisions. It is not meant as a fully featured collision engine but more of a learning experience into collisions and collision libraries.
The library uses Separating Axis Theorem and Impulse Resolution for the collision detection and the collision resolution. Separating Axis Theorem simply states that if a line can be drawn between two convex shapes then those shapes are not colliding. The Impulse Resolution applies an impulse to the shapes involved in the collision at the moment the collision is determined.
To see some of the collision library functionality in action or look at some of the source code, download a small demo HERE or look at some of the example scenes below.