Hazel README

The project's README from github.com/TheCherno/Hazel. As one markdown file: README.md.

Hazel License

Hazel

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.


Getting Started

Visual Studio 2017 or 2019 is recommended, Hazel is officially untested on other development environments whilst we focus on a Windows build.

1. Downloading the repository:

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.

2. Configuring the dependencies:

  1. Run the Setup.bat file found in scripts folder. This will download the required prerequisites for the project if they are not present yet.
  2. One prerequisite is the Vulkan SDK. If it is not installed, the script will execute the VulkanSDK.exe file, and will prompt the user to install the SDK.
  3. After installation, run the Setup.bat file again. If the Vulkan SDK is installed properly, it will then download the Vulkan SDK Debug libraries. (This may take a longer amount of time)
  4. After downloading and unzipping the files, the Win-GenProjects.bat script file will get executed automatically, which will then generate a Visual Studio solution file for user's usage.

If changes are made, or if you want to regenerate project files, rerun the Win-GenProjects.bat script file found in scripts folder.


The Plan

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:

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:

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.

Twitter Instagram Youtube Discord Patreon

Hazel (TheCherno/Hazel)

Searching Database…

13.1K ·GitHub
这是什么?Hazel 是一个处于早期阶段的交互式应用与渲染引擎,面向 Windows,主要作为教学项目:仓库里几乎所有内容都是在 YouTube 视频中现场实现的。
这是一个成熟的游戏引擎,还是一个仍在开发中的学习项目?这是一个仍在开发中的引擎,目前已实现的内容很少;功能完整的版本保存在一个私有的 'Hazel-dev' 仓库中,仅向 Patreon 赞助者开放,代码会逐步移植到这里并附带讲解。
我该怎样让它编译起来?使用 git submodules 递归克隆仓库,然后运行 scripts/Setup.bat,它会安装前置依赖(包括 Vulkan SDK),并通过 Win-GenProjects.bat 生成 Visual Studio 解决方案。
编译前我需要特定的 IDE 或 SDK 吗?需要。推荐使用 Visual Studio 2017 或 2019(其他版本官方未经测试)。Vulkan SDK 及其 Debug 库也是必需的,安装脚本会自动安装它们。
它现在能在 Mac 或 Linux 上运行吗?不能,目前仅支持 Windows。跨平台支持(Mac、Linux、Android、iOS)被列为计划中的未来功能,目前还无法使用。
这个项目到底是给谁用的?它面向想跟着 TheCherno 的 YouTube 系列学习游戏引擎架构的人,而不是寻找可用于生产环境引擎的开发者。
这个会装在我的 iPhone 上还是电脑上?只支持桌面端,目前具体是 Windows,通过 Visual Studio 构建和运行。
路线图中提到的最终目标是什么?团队希望在 2020 年底前使用 Hazel 制作一款完整的游戏:在 Hazelnut 编辑器中设计并测试,然后在 Sandbox 应用中游玩,覆盖 Windows、Mac 和 Linux 平台。
什么是 Hazelnut?Hazelnut 是计划中的 Hazel 编辑器应用,用于设计和测试游戏场景,然后再将其加载到 Sandbox 播放器中。
它计划支持哪些渲染 API?路线图列出了对 DirectX、Vulkan 和 Metal 的原生渲染 API 支持,并包括 2D(UI、粒子、精灵)以及基于物理的 3D 渲染。
在哪里可以观看引擎的开发过程?开发过程直接在 YouTube 视频中现场进行,访问 thecherno.com/engine 即可观看;路线图单独记录在 hazelengine.com/roadmap。
Creator
TheCherno
Size
53.5 MB
Stars
13.1K
Updated
CommitOct 27
Age
7y
Commits · 90 Days