In the first Semester of MSc. Games Technology in the course Game Programming we were given an assignment to make a simple game using the Simple Render Engine (SRE) in C++ with the focus on efficient programming without memory leaks. Our group decided to create a basic Minecraft-clone, with the main focus on a proper voxel data structure together with chunk management.
The final result is a simple game with similar mechanics as Minecraft: You can mine different blocks and place them. Furthermore, we added some extra small features such as flying and no clip mode. Through various iterations and optimisations we have achieved a stable 60FPS gameplay with over a million voxels loaded.
The primary challenges of in this project were the various optimisations we had to implement. Furthermore, most of the lecturing had been focused on 2D in SRE, so making a 3D greatly increased the complexity. Furthermore, SRE (at the time) only supported Box2D for physics. Therefore we had to implement Bullet Physics into the project to run 3D physics simulations.