Project Sulphur

Project Sulphur is a cross platform game engine, supporting multiple rendering and physics backends. In the first 3 months of the project a technical design document was created. This document was then used by the team to create the engine in the following 9 months. In this project I was one of the engine programmers, my main responsibilities where to implement the windows platform, job system, and serialization.

The video below shows an example game created using project Sulphur by Hilze Vonck.

What did I do?

  • Collaborate with the team to create a technical design document detailing the engine we planned to build.
  • Create a job system which automatically checks for data contention based on the destiny engine. Backed by a task system to take care of the run time execution and avoid the overhead of the job system.
  • Setup the main loop of the engine and create an application abstraction. This is done to allow for multiple test projects to be created while reusing as much code as possible.
  • Implement the windows platform, initially this was done using glfw to get the engine up and running as fast as possible. Later this was replaced with an implementation using the windows API
  • Implement input on windows (DirectInput) and the Playstation 4
  • Created a serialization system, providing a pipeline to access and modify all component data. Specifically designed to integrate as cleanly as possible into the engine. Providing a way to save and load the game state and allow the editor to query data for the inspector.

Project details

Role(s): Engine programmer
Year: 2017 - 2018
Team size: 15
Duration: 40 weeks
Engine: Custom
Languages: C++
Technology: GLFW, Windows API, Cereal, Playstation 4