NOTE: This project is not in a working state (without some tweaks) and is included for historical reasons. It is also not indicative of my programming ability as this was created back when I was in high school and just starting to learn how to program.
As part of our work at Multiverse Game Studios we put together a graphics engine from scratch for our inaugural project, Freefall. This engine was built specifically for this game (a game about flipping gravity to solve puzzles).
This engine was built around a voxel model of the world (this also enabled us to more easily develop a level designer later on). Each block is a specific type, some which are affected by gravity, some which aren’t, and some which are dangerous to the player. The engine was built using stock Java (i.e. no 3D rendering library and instead using Java Swing components to render everything) which had the result of it being quite under-performant.