Introduction
Miaou Engine is a 2D physics engine developed during my second year of the Game Development Bachelor’s program at SAE Geneva. This project was created over a span of two months and showcases the fundamentals of physics simulations and optimization techniques in game programming.
Preview
More Information
The development of Miaou Engine was guided by several key objectives:
- Create a Math Library: Implement custom math utilities to support physics calculations.
- Understand Physics Basics: Explore collision detection, response, and gravitational forces.
- Utilize Tracy: Track and optimize performance using profiling tools.
- Optimize Code: Identify and improve bottlenecks in the physics engine. QuadTree for detection.
Available Demo Scenes
- Planets Scene: This scene visualizes the interaction between celestial bodies, showcasing gravitational forces and planetary motion. A yellow star represents the sun, while other points signify planets orbiting under its influence.
- Trigger Scene: This scene demonstrates trigger collisions and their effects on object properties. Objects change color based on overlap: Red: No overlap. Green: Overlapping.
- Collision Scene: Using a QuadTree for efficiency, this scene highlights collision detection and response between circular objects. Key features include: Colliding circles adopting the same color. Circles adjusting their velocity post-collision.
- Collision Between Circle and Rectangle Scene: This scene showcases interactions between circular and rectangular entities, illustrating collision detection and response. As with the collision scene, colliding objects share a new color.
- Static Scene: This scene focuses on interactions between static and dynamic elements. Dynamic circles adjust their velocity upon contact with static rectangles, with response influenced by the collider’s restitution.
🪐 Download ⚛
You can download the engine samples here.
If you want to learn more about the technical implementation you can read my blogpost about this project. For example, if you want to know what is the grid in the background of collisions scenes.