2D Game Physics 🔵 Real-time & Open
2D Game Physics
Real-time & Open

IMPACT ENGINE

Real-Time, Newtonian, and Open

* BUILT FOR KNOWLEDGE, NOT RAW PERFORMANCE

Technologies

C++ 17

Impact Engine is built with C++, giving me full control over memory, resources, and performance optimization thanks to its low-level architecture. 

SDL2

For rendering, I use the well-known SDL library, enabling cross-platform compilation on Windows, macOS, Linux, and other Unix-based systems. (cross-platform)

Visual Studio

My IDE of choice. Handles C++ coding, compilation, source control with Git and GitHub, and debugging.

DEMOS

Angry Birds

(Graphics, stable structures, a controllable bird, a bridge built with constraints, triangles, and more.)

(This is a demo that showcases many of the capabilities of the Impact Engine.)

Balls & Boxes

(The ability to create basketballs, bowling balls, and boxes, each with unique properties such as mass, restitution coefficient, and friction.)

(Collision resolution through constraints.)

You can explore a variety of demos highlighting all the features of Impact Engine on its official GitHub repository.

USAGE

Impact Engine is thoroughly documented in the official documentation and the Usage.md file in the GitHub repository.

ABOUT

Impact Engine is an innovative 2D Physics Engine written in C++ that presents a modern simulation of Newtonian Mechanics through a clear exposition of key concepts such as forces, torque, and impulses. The project demonstrates how collision is detected and resolved in real time using precise mathematical formulas. Impact Engine is not created solely for optimal performance but serves as a resource for individuals who are not among the top 1% of programmers yet wish to understand the fundamental principles behind computer-simulated physics—including rigid body dynamics, collision detection, and constraints—through clear explanations and detailed comments.

The Developer

Impact Engine is a personal project created, maintained, and documented by a single developer, Matt. It was built with a passion for learning, understanding, and helping others. Through this project, I aim to expand my knowledge, experiment with new ideas, and provide valuable resources to those who might benefit from them.

Got questions?

Contact Me