ABSTRACT
This thesis examines the design and implementation of a code-first game engine (without
a graphical editor), developed in C++ using a minimal set of core libraries, namely OpenGL,
GLFW, and GLM. The primary objective is to achieve a deeper understanding of the internal
architecture of game engines through the development of an engine from scratch and the analysis
of the subsystems and architectural patterns that comprise it.
The study begins with a literature review of game engine definitions and their core subsys-
tems, including rendering, resource management, scene representation, physics, input handling,
audio, and development tools. Particular emphasis is placed on the architectural approaches
and design decisions commonly adopted in modern game engines. Based on this theoretical
foundation, the thesis subsequently presents the complete design and development process of
the engine, initially from a conceptual perspective and later through practical implementation.
Throughout this process, the challenges encountered are systematically identified, documented,
and analyzed, while the selected solutions are justified with reference to the relevant literature.
To evaluate the capabilities of the engine, several small-scale games are developed, enabling
a broad range of its features to be utilized and tested in practice. The evaluation focuses on per-
formance, maintainability, and ease of game development. Furthermore, a small game was de-
veloped entirely by AI-generated code, without any manual intervention in the implementation
process, using three different language models. This experiment enabled a further assessment
of both the game engine itself and the capability of modern AI models to understand and operate
within a previously unseen development environment.
The thesis concludes with a discussion of the results, examining the relationship between
the design decisions adopted and the outcomes achieved, while also documenting the major
challenges and obstacles encountered during development. The aim of this work is to serve as a
practical guide for individuals seeking to understand both the operation and implementation of
a game engine, regardless of the programming language or libraries employed.
Keywords: Game Engine, Video Games, Game Engine Architecture
ii