Checkpoint
Custom Vulkan Engine with Qt-Powered Editor
Checkpoint is a custom game engine designed for creating highly-optimized 3D games. It provides tools and modules for modern and efficient rendering, physics simulation and more. It is a highly-customizable platform that allows users to create their own systems and packages that fit their needs.
It is a project I am working on alone as it is my personal training ground for learning engine development, it is supposed to showcase my skills and improvements and finally I will be presenting it as my final project at Creajeux.
Development started in November 2024
Checkpoint is made using
- C++
- VulkanLow-level Graphics API
- SlangShader Language
QtApplication Framework- CMakeBuild System
- GitVersion Control System
- GitHubCode Hosting Platform
- Visual StudioIntegrated Development Environment (IDE)
Main features

Entity-Component-System Architecture
Checkpoint is built with speed and efficiency in mind, using an Entity-Component-System design was my first thought when architecting the engine. Leveraging the power of multi-threading and data-oriented design, I aimed to create a system that can scale with the complexity of modern games and the players' ever-growing expectations.

Dynamic Material System
Checkpoint features a Dynamic Material System that allows for real-time adjustments to material properties, enabling artists to create stunning visuals and fine-tune their work without the need for recompilation. Thanks to Slang's reflection API, any change made to the shader code is instantly compiled and integrated in the editor, providing a seamless workflow for both artists and developers.
![Package Manager [WIP]](/projects/checkpoint/launcher.jpg)
Package Manager [WIP]
Checkpoint includes a built-in Package Manager that allows developers to easily integrate and manage third-party libraries and tools. "Don't pay for what you don't need" is the credo behind it, Checkpoint aims to provide a fully modular architecture that promotes code reuse and simplifies dependency management. Its second purpose is to speed up the loading and build times of projects by only including the necessary components.
Gallery

What I learned
Hard skills
- Game engine design: architecture, rendering, physics
- Low-level programming: C++, Vulkan, Assembly
- Software architecture and design patterns
- Performance optimization (CPU and GPU): profiling, memory management, SIMD
- Mathematics: matrices, quaternions, ...
- Project and time management: task prioritization
Soft skills
- Performance-focused mindset: constantly seeking ways to improve efficiency and effectiveness
- Attention to detail: ensuring high-quality work and minimizing errors
- Self-motivation: pursuing goals with passion and determination
- Resilience: overcoming challenges and setbacks with a positive attitude
Personal growth
Working on Checkpoint was an unexpected but very welcomed development in my personal and professional growth. I joined Creajeux with the goal of becoming a gameplay programmer, but shifted towards engine development after discussing with another student who was already working on an engine of his own.
This project allowed me to discover a new passion (rendering, engine architecture) while strengthening the interest I already had in low-level programming and performance optimization.
It is, to this day, the most challenging project I have ever worked on, and I am very proud of the progress I have made so far. I cannot wait to see where this project will take me in the future.
Roadmap
Present and Future
2025-Q4
Project Split & Core Refactor (Runtime / Editor / Tools)
Oct 22 - Nov 15MUSTRender Logic Split (Runtime / Editor)
Nov 16 - Dec 5MUSTUpgrade to C++20 Modules
Dec 6 - Dec 20MUSTECS Multithreading & Scheduling
Dec 21, 2025 - Jan 20, 2026MUST
2026-Q1
Editor Scripting System
Jan 21 - Feb 20MUSTPackage Manager System
Feb 21 - Mar 20MUSTSlang Helper Modules
Mar 21 - Mar 31SHOULD
2026-Q2
Final Polish & Presentation Prep
May 1 - May 31MUSTVirtual Geometry Integration
Apr 1 - Apr 20SHOULDEditor QoL & Cleanup
Apr 21 - Apr 30SHOULD
No Date
Sample Tools via Package Manager
COULDMaterial Graph Editor
WISH