Hero image for Episode 0: Introduction to the Game Engine Series

Episode 0: Introduction to the Game Engine Series


Welcome to the introduction to the Serval Game Engine Series! This intro article will discuss what we will cover in this series. I hope you can join me on this amazing journey to learn and create your own 3D engine.

Building Serval Engine: A Vulkan Game Engine from Scratch

This YouTube series takes you on a journey from an empty project to a fully-featured 3D game engine with an editor—all built from scratch using modern C++20 and Vulkan.

What We’re Building:

A complete game engine called Serval Engine, built incrementally across 50+ episodes. Each 15-20 minute episode delivers visible progress, making complex graphics programming accessible to intermediate C++ developers.

The Journey:

  • Season 1 (Foundation): Start with a window and work up to loading 3D GLTF models—covering Vulkan setup, the rendering pipeline, shaders, vertex/index buffers, textures, and camera controls.
  • Season 2 (Lighting & PBR): Implement physically-based rendering with metallic/roughness workflows, multiple light types, HDR, tone mapping, and bloom effects.
  • Season 3 (Shadows): Master shadow mapping from basic hard shadows to production-quality cascaded shadow maps.
  • Season 4 (ECS & Scenes): Build a proper scene architecture using EnTT for entity-component-system design, with full serialization support.
  • Season 5 (Editor): Create a dockable editor with Dear ImGui featuring viewport rendering, hierarchy/inspector panels, transform gizmos, undo/redo, and asset browsing.
  • Season 6 (Advanced Rendering): Implement deferred rendering with a render graph, plus image-based lighting for realistic environment reflections.

Tech Stack: C++20, Vulkan, GLFW, GLM, EnTT, Dear ImGui, VMA, spdlog, and Catch2.

I hope you can join me on this incredible learning experience!