Hazel is primarily an early-stage interactive application and rendering engine for Windows. Currently not much is implemented, however (almost) everything inside this repository is being created within YouTube videos, found at thecherno.com/engine.
Visual Studio 2017 or 2019 is recommended, Hazel is officially untested on other development environments whilst we focus on a Windows build.
Start by cloning the repository with
git clone --recursive https://github.com/TheCherno/Hazel.
If the repository was cloned non-recursively previously, use
git submodule update --init to clone the necessary submodules.
The plan for Hazel is two-fold: to create a powerful 3D engine, but also to serve as an education tool for teaching game engine design and architecture. Because of this the development inside this repository is rather slow, since everything has to be taught and implemented on-camera. There is a much more advanced version of the engine in a private repository called
Hazel-dev, accessible to supporters on Patreon. The plan for this project is to mostly take already implemented code from the
Hazel-dev repository and integrate it into this one, done within videos and supported by explanations.
Main features to come:
- Fast 2D rendering (UI, particles, sprites, etc.)
- High-fidelity Physically-Based 3D rendering (this will be expanded later, 2D to come first)
- Support for Mac, Linux, Android and iOS
- Native rendering API support (DirectX, Vulkan, Metal)
- Fully featured viewer and editor applications
- Fully scripted interaction and behavior
- Integrated 3rd party 2D and 3D physics engine
- Procedural terrain and world generation
- Artificial Intelligence
- Audio system
Short term goals :
Note: this is subject to change at any time! Follow the roadmap over at hazelengine.com/roadmap.
By the end 2020, we want to make a game using the Hazel game engine. Not like the time I made a game in one hour using the engine, but this time by using the proper tools that would be required to make a game with Hazel. This means we need to add a full 2D workflow:
- Design the game scene by using Hazelnut, the Hazel editor,
- Test the game inside Hazelnut, including the ability to save/load the created game,
- Load and play the game inside Sandbox.
We want everyone to be able to play the game on all desktop platforms (Windows, Mac and Linux). When this is implemented, another attempt at the "Creating a game in one hour using Hazel" will be made to see how far the engine has become.