This live stream provides an in-depth update on the development of the Hazel game engine. The speaker, Ch, outlines his revised content management strategy for live streams, clarifies Hazel's unique, perpetual $10 access model, and delves into the technical complexities of the ongoing "Renderer 2025" rewrite. A significant portion of the discussion focuses on integrating the IMGUI user interface framework with the new NVHI (NVIDIA Render Hardware Interface) abstraction layer, highlighting challenges in managing multiple windows, graphics API backends, texture resource states, and ensuring cross-platform support.
Summarizing the Development Journey of the Hazel Game Engine
0:00 Setting the Stage: The speaker, Ch, welcomes viewers and discusses his new live stream schedule (morning and evening sessions, twice weekly) to better accommodate different time zones and balance work with family time.
2:30 Stream Management Strategy: To streamline content management, future live streams will be directly exported from Twitch to the "Chenno Unplugged" YouTube channel, possibly with initial trimming, to reduce overhead and allow more focus on core Hazel development.
3:50 Hazel Engine Roadmap: An overview of the Hazel Engine roadmap (hazelengine.com/roadmap) highlights the current priority: the "Renderer 2025" overhaul, with multiplayer considered "done" but needing refinement.
5:25 Unique Licensing Model: A key clarification is made regarding Hazel's $10 monthly Patreon support: it acts as a one-time payment for perpetual access to that specific version of the engine, unlike typical subscriptions that revoke access if payments cease.
6:51 Flexible Development Workflow: The project uses a flexible Git branching strategy (dev for main development, feature branches for major tasks, staging for QA, and release branches like 2024.1). This casual approach is chosen to encourage volunteer contributions by minimizing bureaucratic overhead.
13:28 "Master" vs. "Main" Branch Naming: The speaker expresses neutrality on the "master" vs. "main" branch naming debate, preferring "dev" as the central working branch for Hazel.
22:12 Immediate Development Goal: The primary immediate goal is to get the Hazel editor, which uses the IMGUI (Immediate Mode GUI) framework, to successfully compile and run without the main 3D viewport. This step aims to validate core windowing, rendering context, and data systems.
23:59 IMGUI Viewport Complexities: IMGUI's ability to create independent, draggable UI viewports requires dynamic creation of new swap chains (e.g., Vulkan swap chains) for each window, adding significant complexity to the rendering backend.
25:25 Rendering Backend Strategy: The initial plan is to directly use IMGUI's existing Vulkan, DirectX11, and DirectX12 backends for UI rendering. Full integration with NVHI (NVIDIA's render hardware interface) for IMGUI's rendering logic will be considered later, due to the complexities of mixing abstraction layers with low-level windowing/swap chain management.
28:29 Multi-Platform Support: Hazel aims to support Mac OS, currently leveraging MoltenVK (Vulkan to Metal translation layer) and potentially a native Metal backend in the future. Steam hardware survey data indicates Linux has recently surpassed Mac in gaming market share.
32:20 Technical Challenges: The speaker delves into the technical hurdles of building multiple IMGUI backends and integrating them with NVHI for texture and sampler management. This involves complex handling of NVHI resource states, leading to the realization that deeper rewriting might be necessary.
53:09 NVHI Framebuffer Issue: A specific challenge with NVHI's framebuffer operations is noted, as it currently appears to lack explicit support for load/store operations (e.g., clearing or loading existing data).
1:49:09 Conclusion on Integration: The combination of IMGUI's existing Vulkan backend and NVHI's texture management is proving more difficult than expected, suggesting that parts of the rendering pipeline may need to be rewritten sooner rather than later.
2:22:53 Path Forward: The next steps involve continued porting of the renderer code and focusing on getting the IMGUI editor running as a stable foundation before proceeding with more advanced rendering features.