Exile

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.

exile2

Written on June 26, 2021