
CUSTOM PHYSICS ENGINE
INFO
Date Created: 9 March 2022
No. of people involved: Only me
Length of project: 5 weeks
Tools: AIE Bootstrap, C++
For our first assignment of 2022, we had to build a 2D physics engine, with multiple capabilities like gravity, collision between circles, boxes and planes, and velocity. I personally did this using the AIE SDK, called 'AIEBootstrap'.
In the application, there are 2 scenes; one that lets you spawn and move boxes and circles, and another that lets you control a soft-body object. In the first scene, you can spawn objects with [RMB] and drag them around with [LMB]. When clicked on a shape, it creates a spring from your mouse, allowing you to drag that object around the scene. In the other scene, there is a single soft-body, which you can control with the Left and Right arrow keys. The app cycles through each node in the soft-body, and picks the node in the highest and lowest Y position, and rotates pushes them in the correct direction.
PROJECT EXAMPLES

An example of 2D physics between circles, boxes and planes. It also includes the use of linear force and momentum. There's no gravity in this scene.

A soft-body object which you can control, moving it left and right. It molds itself into the grooves of the kinematic circles, which act as a grip for the soft-body to push itself off of. This scene has gravity.