This is a game I irregularly work on during my spare time. It started as a project for learning/practicing game development with SDL and OpenGL and somehow turned into a Minecraft clone looking thing. Still, I enjoy working on it very much and just implement into it whatever I feel like at the moment. It is written in C++ with the SDL2 library and OpenGL and works only on Windows (for now).
Currently, the game has the following features:
A “voxel” world that is stored and rendered as chunks of cubes of size 32x32x32
Terrain generation with the use of 3D Simplex noise
Blinn-Phong shading with the sole light source being the sun
Ambient occlusion (that takes advantage of voxel geometry)
Robust collision handling for the player – world interaction using axis aligned bounding boxes (AABBs)
3D cubic particle effects, because I like big cubes crumbling into smaller cubes
Frustum culling (only drawing visible chunks) and occlusion culling (only drawing surface/visible vertices of the chunks)
Both keyboard+mouse and gamepad support (although I didn’t really test it with a gamepad)
Basic serialization for saving and loading of world and player state
Block shadows via shadow mapping
Day/night cycle with sky and lighting changes
Infinite world, no build limits in any direction!
Automatic saving and loading
Picking up and throwing blocks, which causes variable destruction depending on how fast you throw
If you wish to try the game for yourself, simply download it from this link and extract it somewhere before running.