Exploration of 2D Collisions

ALGORITHIM: Separating Axis Theorem | LANGUAGE: C++

JULY 2021 – AUGUST 2021

This project was something I pursued on my own during the summer after my freshman year at DigiPen – I consider it a key part of my growth as an engineer because it introduced me to new mathematical and logical ways of thinking. I never saw the dot and cross product the same way again after this.

When I was making my first games as a middle schooler, I always wondered how it could be possible to detect and resolve collisions between 2D boxes that could be rotated at any angle, instead of only boxes that were axis aligned. Consequently, after my first year of school, I decided to research an implement a method that could do so – the Seperating Axis Theorem.

– This project developed my debugging skills because alot of the information that I’d need to fix a collision issue would be available only in split-second moments. It pushed me to find creative ways to find the issue, such as knowing exactly what data to print to a log. I am an avid user of data logging to this day, because there’s some things you just can’t catch by only placing breakpoints.

– I also added the ability to stack multiple 2D Objects onto each other.

– I learned how to simulate linear and rotational momentum