Zurück zum Projektjournal

PROJEKTNOTIZEN / C++17 GAME-ENGINE

GloomZ C++17 Game-Engine-Architektur

Native 2D/3D-Spiele- und Grafik-Engine in C++17 mit modularer DLL-Struktur, dualem spdlog-Logging, Premake5-Buildsystem und Sandbox-Clientanwendung.

Moderne C++17-Engine-Architektur
DLL-Basiertes System (GloomZ.dll)
Duales spdlog Core/Client-Logging
Premake5 Multi-Target-Buildsystem

GAME ENGINE ARCHITECTURE / C++17 RUNTIME

Systemarchitektur, DLL-Modularisierung und Grundlagen einer modernen Game-Engine

GloomZ ist eine native 2D/3D-Spiele- und Grafik-Engine in modernem C++17 für Windows. Mit klarer Schichtenarchitektur aufgebaut, trennt GloomZ die Kern-Engine als dynamische Bibliothek (GloomZ.dll) von Client-Anwendungen wie dem mitgelieferten Sandbox-Projekt – inklusive automatischer Entry-Point-Generierung und Multi-Thread-Logging.

GloomZ Engine Build-Log und Projektübersicht
01

DLL-Architektur & automatisierter Einstiegspunkt

Trennt Engine-Interna von Anwendungslogik über eine dynamisch gelinkte Bibliothek (DLL). Der EntryPoint.h-Header stellt die plattformspezifische main()-Funktion automatisch bereit und ruft die vom Client implementierte CreateApplication()-Factory auf.

02

Duales spdlog-Logging-Subsystem

Integriert spdlog in getrennte Core- und Client-Kanäle mit farbiger Konsolenausgabe und einheitlicher Formatierung. Eigene Makros (GZ_CORE_INFO, GZ_TRACE, GZ_WARN, GZ_ERROR) garantieren minimalen Overhead bei der Laufzeitdiagnose.

03

Application-Basisklasse & Hauptschleife

Das GloomZ::Application-Singleton steuert Fensterlebensdauer, Frame-Timing, Eingabeverarbeitung und Ereignisverteilung. Spiele erben einfach von dieser Klasse und überschreiben Aktualisierungs- und Render-Hooks.

04

Premake5-Build-Automatisierung & Konfigurationen

Verwendet Premake5-Lua-Skripte zur reproduzierbaren Generierung von Visual-Studio-Projektdateien auf Knopfdruck. Unterstützt drei Zielkonfigurationen: Debug (Symbole), Release (optimiert) und Dist (Distribution ohne Debug-Overhead).

Engine-Spezifikationen & Kernarchitektur

Programmiersprache
Modernes C++ (C++17) mit strikter ISO-Konformität
Build-System
Premake5-Lua-Automatisierung für Visual Studio 2019 / 2022
Binärstruktur
GloomZ.dll (geteilte Engine-Bibliothek) + Sandbox.exe (Client-Spiel)
Logging-Framework
spdlog-Wrapper mit separaten asynchronen Core- und Client-Sinks
Build-Ziele
Debug (vollständige Diagnose), Release (optimiert), Dist (Produktion)
Plattform
Windows x64 mit Plattformabstraktionen für künftige Cross-Plattform-Portierung

Bedeutung für Systemprogrammierung und Engine-Design

Zeigt fortgeschrittene C++-Softwarearchitektur: dynamisches DLL-Linking, Build-System-Automatisierung und saubere Modulgrenzen für skalierbare Echtzeitanwendungen.