PB Email
← Back to projects

Engine

SufferEngine

Custom C++ / OpenGL engine with ECS, editor tooling, resource management and rendering features.

Period

2021

Role

Engine / Graphics Programmer

Status

Technical project

C++OpenGLECSDear ImGuiLuaSoLoudGLFWGLEW

9 mo

engine development

2 devs

custom architecture

Technical snapshot

A custom game engine co-developed from scratch, covering engine architecture, transform hierarchy, component lifecycle, memory structures, runtime/editor integration and OpenGL rendering features.

Real ECS architecture, task scheduler, transform hierarchy and Lua scripting components.
Editor functionality with hierarchy, inspector, component editing and shader controls.
Resource loading, custom memory structures, allocators / pools and runtime/editor integration.
OpenGL rendering contribution including normal mapping and lighting.

Video

Overview

SufferEngine is a custom C++ engine developed to explore lower-level engine architecture and graphics programming beyond standard commercial engine workflows. The project combined runtime systems, editor tooling, resource management and rendering features into a cohesive architecture.

My contribution

  • Implemented systems-level functionality across transforms, parent/child hierarchy and component lifecycle.
  • Worked on resource loading, custom memory structures, allocators / pools and runtime/editor integration.
  • Built editor functionality with Dear ImGui, including hierarchy, inspector, component editing, shader controls, lighting toggles and audio playback controls.
  • Contributed to OpenGL rendering, specifically normal mapping and lighting implementation.
  • Integrated third-party libraries while maintaining a custom architecture.

Technical focus

The project is useful as a technical case study because it demonstrates systems thinking: the code was not just rendering an object, it needed to manage entities, components, resources, editor state and runtime behaviour in a coherent way.

Gallery

SufferEngine screenshot with lighting
SufferEngine editor and scene screenshot