A handmade-style voxel game engine. Currently working on a re-write.
I worked on the first version of Exile from 2017-2019, which can be found on GitHub. As a learning experience, I implemented everything without using any libraries. It included the following features:
- Custom C-like standard library
- Type reflection and generic serialization through metaprogramming
- OpenGL 4.5 deferred renderer with an optimized voxel mesh pipeline, post-processing, dynamic lighting, and MSAA
- Asynchronous voxel world generation and meshing
- Platform abstraction layer wrapping Win32 or SDL2 and supporting hot code reloading
- CPU and memory usage profiling system
- Asset pipeline
I also wrote several blog posts about the various systems.
Starting in 2022, I’m working on a complete re-write of the project. So far, it includes a new modern C++ standard library and a Vulkan renderer using hardware accelerated ray tracing.