An arcade racing game with an emphasis on environmental physics.
Click the image below for a demo of the physics solver.
This project features a complete collision detection and resolution system using a sequential impulse solver.
In detail, the collisions are handled by
- spatial partitioning all physics entities,
- detecting nearby bodies with an axis aligned bounding box intersection check as the broadphase test,
- detecting colliding bodies with the Gilbert–Johnson–Keerthi distance algorithm (GJK) as the nearphase test,
- finding the minimum resolution vector with the expanding polytope algorithm (EPA),
- finding the contact points of the collision manifold using Sutherland–Hodgman clipping algorithm and finally,
- applying sequential impulses iteratively to separate the colliding bodies.
Click the image below for a demo of the opponent driving AI.

