freeplanet is a 3D engine for exploring randomly generated worlds, written in C++.
I've worked on this spare-time project to experiment with different areas of game programming. Some features currently implemented include:
- 3D rendering with OpenGL.
- An architecture for large game worlds which supports loading/unloading parts of them on the fly.
- Basic 3D object collisions.
- Randomly generated spherical planets.
- Creation and destruction of smooth 3D volumetric terrain.
- Randomly generated and spawned trees.
- Particle effects.
- A 2D user interface.
- Keyboard and mouse controls, config files, an in game console, 3D and 2D debug displays, etc. etc.
The main libraries currently used are OpenGL, SFML for windowing and 2D rendering, and GLM for 3D maths.