- 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.
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.
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.
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.
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.