Physics Editor using Box2D & SDL2


I am creating a physics-based level editor using Box2D & SDL2. Box2D is the physics engine while SDL2 is my choice of a rendering API. The project contains an angry birds-like game to allow the user to play their levels. The main section of the project however, is the Difficulty Estimation. I run a simulation that tests each possible shot a player could make and assigns score to each shot. The better the shot, the higher the score. The purpose of this is to deduce the estimated difficulty of a level created by someone and give that difficulty rating as feedback to the level creator. This would allow level creator to see how difficult/easy the level is.

GitHub Repo Link:

Videos Link:



I always wanted to try out Box2D and create something physics based. Box2D is a sophisticated 2D physics engine that simulates different shapes and other objects such as wheels, ropes, chains, etc.


I picked up SDL2 over the summer break and I wanted to improve my ability to write low level code using C since SDL2 is a C-based rendering API. SDL2 (Simple Direct Media Layer) is a library that allows the user to draw images and other primitive shapes to the screen, in addition to the usage of audio, and keyboard, mouse, and joystick events.

Research Question

“Is it possible to create an intelligent level editor that deduces the difficulty of the level being created at runtime?”

I want to figure out if it is possible to create a level difficulty estimation program without delving into Artificial Intelligence.