A lightweight 2D physics engine built with C++20 and SDL2, focusing on custom collision detection via the Separating Axis Theorem (SAT).
- Open the Developer Command Prompt for VS.
- Run
build.batto compile the engine and sync assets. - Run
.\build\Game.exeto start the application. - Use
test.batto run the automated test suite.
- assets/: Game data, fonts, and textures.
- code/: All source code (
.cpp,.h). - misc/: Debugger configurations.
- notes/: Development logs and performance improvements.
- third_party/: External dependencies (SDL2, OpenGL).
| Script | Purpose |
|---|---|
build.bat |
Compiles the project, generates unique PDBs, and mirrors assets to the build folder. |
debug.bat |
Launches the executable using the raddbg debugger. |
test.bat |
Compiles and executes all_tests.cpp. |
todo.bat |
Lists all // TODO: comments across the source code. |
- Compiler Flags:
-std:c++20 -W4 -WX(strict warnings as errors). - Debug Features: Randomized PDB naming to allow building while the debugger is attached.
- Physics: Supports Circle-Circle, Box-Box, and Circle-Box collision detection and resolution.
Author: Supriyo