
Solo-Devoloped project
Year: 2024
Organization: Self
Role: C++/Vulkan Developer, Game Engine Programmer
Duration: 2024-05 to 2024-08 and ~2025-08 to 2025-10
Status: completed/on-hold
Category: game engine
Solo-developed engine and renderer built in C++ with Vulkan. Originally created as a capstone project, it primarily served as a way to learn Vulkan and experiment with design, focusing on modularity and flexibility. The project is separated into four major parts: the renderer, engine, editor, and utilities. The renderer encapsulates all Vulkan usage, abstracting to simplify external use. Rendering is handled through simple PBR pipelines, supporting opaque and transparent materials, dynamic lighting, and basic compute shaders. All Models and materials are loaded through glTF files, with shaders written in GLSL. All Vulkan code is fully isolated within the renderer to keep the rest of the engine independent of it's API.
The engine handles entities, components, and systems, providing core functionality for physics, input, and rendering. It gives the tools needed to serialize and deserialize components and systems into “scene” files to dynamically save and load, as well as a simple service locator and event system. The editor provides a user interface for runtime control and configuration of the engine, allowing editing of components, entities, systems, and config settings. It also provides simple scene saving/loading and live profiling. The project is far from perfect but was a major learning experience for design and implementation while trying to maintain that balance between flexibility and maintainability.





