Daniel Farnham

← Back to Portfolio

Custom C++ Component-Based Game Engine (raylib)

Work in progress

This project explores engine architecture and systems commonly abstracted by modern game engines. I wanted to understand how component systems, rendering pipelines, data flow, and asset ownership actually function beneath the surface.

Built on top of raylib as a lightweight rendering and input layer, the focus was on designing a component-based entity system and a centralised rendering pipeline with material and shader management - rather than low-level graphics API boilerplate.

The project was developed as both an engine and a small gameplay prototype, ensuring systems were tested against real gameplay rather than developed in a vacuum.

Demo

Future Direction

The engine was built around swarm-style gameplay involving large numbers of dynamic enemies and lights. The current architecture provides a solid foundation for exploring more advanced, performance-focused systems, with future work exploring GPU-driven approaches to gameplay simulation and rendering.