Fizz is a lightweight collision library in Lua. It's designed specifically for old-school platformers and overhead action games. Fizz is licensed under the MIT License.
- Three different shape types: circles, rectangles and line segments.
- Line segments can be used for making slopes and possibly "one-sided" platforms. They handle collision differently based on direction and "push" other intersecting shapes at 90 degrees counter-clockwise of the segment slope.
- Static shapes - static shapes are immobile and do not respond to collisions or gravity.
- Kinematic shapes - kinematic shapes do not respond to collisions or gravity, but can be moved by manually changing their velocity. Kinematic shapes can be used to simulate moving platforms and doors.
- Dynamic shapes respond to collisions and gravity. Dynamic shapes can be used to simulate the moving objects in your game.
- Quadtree space partitioning to reduce the number of collision tests. It can can be disabled, although this is not recommended especially if your simulation contains a large number of dynamic shapes.
- Original forum thread: https://love2d.org/forums/viewtopic.php?f=5&t=7844
- Code repository: https://bitbucket.org/itraykov/fizzx
- Official support forums: http://2dengine.com/forum/