Back to project journal

PROJECT NOTES / C++17 GAME ENGINE

GloomZ C++17 Game Engine Architecture

A native 2D/3D game and graphics engine in C++17 featuring a modular DLL runtime, dual spdlog logging, Premake5 build automation, and Sandbox client application.

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.

GloomZ engine build log and visual project overview
01

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.

02

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.

03

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.

04

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.