- Modern C++17 Engine Core
- DLL-Based Architecture (GloomZ.dll)
- Dual spdlog Engine/Client Logging
- Premake5 Multi-Target Toolchain
GAME ENGINE ARCHITECTURE / C++17 RUNTIME
Systems Architecture, Shared Library Modularization, and Game Engine Foundations
GloomZ is a native 2D/3D game and graphics engine written in modern C++17 for Windows. Built with strict modular separation, GloomZ is structured as a shared engine runtime (GloomZ.dll) linked against client applications such as the included Sandbox project, with automated entry point injection and multi-threaded logging.
DLL architecture & automated entry point
Decouples engine internals from consumer code via a dynamically linked library (DLL). The EntryPoint.h header automatically generates the platform-specific main() function, calling the client-defined CreateApplication() factory function.
Dual-channel spdlog logging subsystem
Integrates spdlog into separate Core and Client log channels with colored console output and custom formatting. Engine and gameplay code utilize dedicated macros (GZ_CORE_INFO, GZ_TRACE, GZ_WARN, GZ_ERROR) for zero-overhead diagnostic logging.
Application base class & run loop
The GloomZ::Application singleton orchestrates window lifetime, frame timing, input polling, and event routing. Client games simply subclass Application, overriding update and render lifecycle hooks to create custom game loops.
Premake5 build automation & configurations
Employs Premake5 lua scripts to generate reproducible Visual Studio solution and project files on demand. Supports three distinct build configurations: Debug (full symbols), Release (optimized), and Dist (distribution binaries with asserts stripped).
Engine Specifications & Core Architecture
- Language / Standard
- Modern C++ (C++17) with strict ISO standards conformance
- Build System
- Premake5 lua automation targeting Microsoft Visual Studio 2019 / 2022
- Binary Structure
- GloomZ.dll (core engine shared library) + Sandbox.exe (client application)
- Logging Framework
- spdlog wrapper with separate Core and Client asynchronous logger sinks
- Target Configurations
- Debug (full diagnostics), Release (optimized), Dist (production stripped)
- Platform
- Windows x64 with platform abstraction hooks for future cross-compilation
Systems Programming & Engine Architecture Impact
Demonstrates advanced C++ software engineering including dynamic library linking, memory safety, build system automation, and scalable foundation design for interactive real-time applications.