Hazel
Hazel Engine
Hazel is a game engine built live on YouTube by TheCherno, designed as a step-by-step teaching project so developers can follow along and learn how a real game engine is made from scratch in C++.
Hazel is a game engine being built live on YouTube as a teaching project. The creator, known as TheCherno, records every step of development and publishes the videos on his website. The goal is to show viewers exactly how a real game engine is designed and built from scratch, so anyone following along can understand the decisions made at each stage.
The engine runs on Windows and requires Visual Studio 2017 or 2019 to build. Setup involves cloning the repository, running a batch script that downloads required tools, and installing the Vulkan SDK (a graphics library) if it is not already present. After that, another script generates the Visual Studio project files so you can open and compile the engine yourself.
There are two versions of the project. The public one, in this repository, develops at a pace matched to the YouTube series. A more advanced private version called Hazel-dev exists and is available to supporters on Patreon. The public repo generally takes already-working code from Hazel-dev and re-implements it on camera with explanations.
The long-term plan for the engine includes fast 2D rendering, a high-fidelity 3D renderer, support for Mac, Linux, Android, and iOS alongside Windows, native graphics API support for DirectX, Vulkan, and Metal, a visual editor called Hazelnut, physics, scripting, audio, and procedural terrain tools. The short-term goals described in the README centered on building a full 2D workflow so that a game could be designed, tested, and played using the engine's own editor on all desktop platforms.
This repository is primarily useful if you are following TheCherno's YouTube series and want to run or study the code alongside the videos. If you are looking for a production-ready game engine, this is not that. It is a learning resource where the journey is the point.
Where it fits
- Follow TheCherno's YouTube series and build a real game engine in C++ from scratch, learning each design decision as it is made on camera.
- Study how a 2D and 3D rendering pipeline is structured in a real engine codebase, including a visual editor called Hazelnut.
- Use the public repository as a reference codebase for understanding how game engine architecture evolves incrementally.