background image

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