Sphere - Vulkan renderer experiment

18 August 2023

Over the summer I decided it was time to let go of Unity due to a variety of reasons, so I picked up the famous Game Engine Architecture book, the Vulkan specification and got to work.

Sphere is an experimental 3D game engine for creating and authoring AR / VR experiences.

Its main innovation goal is in enabling full live editing on the target device (probably at reduced visual quality).

Iterative approach #

Building a game engine is hard, so we employ the software development model of:

Design goals #

Business model #

Because a game engine itself doesn’t initially make for a sustainable income stream we employ the following business model:

This model allows for true dogfooding, which is desirable in determining which features are important and essential.

Why build a custom game engine #

  1. For fun and educational purposes.
  2. Performance. The ability to fully control every single line of code that is being run. On performance constrained devices such as the Quest, you can only go so far with an existing game engine. There’s always overhead. Now the only limiting factor for something not running smoothly is you.
  3. Stability. More stable and well-documented APIs. The lower you go in the technology stack, the more things become an engineering discipline, which should result in better APIs and less breaking changes.
  4. Fuck Unity [1]

Structure #

Follows the Pitchfork specification

[1]: I have grown incredibly discontent with Unity and all of its stupid engineering decisions;