Recently I was interested in the game engine architecture, So I studied this book.
The two recommended books are:
1. Game Engine architecture.
2. Game Code complete.
They fully explain the components of a game engine and the basic code implemented by each component.
Of course, I would like to share with you the components of the game engine I know here. I will append a PDF image and you will be surprised to say: Oh, this is the architecture of the game engine. She is so beautiful.
The game engine consists of the following parts.
// ------------------------- Low-level library begin -------------------------------------
A. Utility Library [Called]
1. Lists
2. Map
3. Strings
4. Arrays
5. Hash Tables
6. Smart links
7. Reference counters
8. Graphs and trees
The above tool library is the basic data type and operation of a game engine.
B. System utilities [Called]
1. threads
2. mutexes
3. Locks
4. logging tools [call system variables and system commands]
5. System Variables [call system commands]
6. system commands
These are components of the system tool.
C. Math Library [Called]
1. vectors Vector
2. matrices Matrix
3. quaternions quad-element method (a search method)
4. rgba colors
5. Linear Algebra linear mathematics
6. Polygon utilities
7. Random Numbers
8. bounding volumes
The above is the mathematical computing function that the math library should provide in a game engine.
// ------------------------- Low-level library end -------------------------------------
// ------------------------- Base services begin -------------------------------------
A. Memory Manager [Called] 1. Custom allocator2. debugging tools3. multiple heaps4. small block pools is a part of memory management and the most basic "service" provided by the game engine ".
B. File Manager [Called]
C. Resource Manager 1. Virtual File System 2. Packing utilities 3. caching444. File Manager [means: B] Resource Management
D. Time manager [Called]
E. openddl [Called] Open Source Data Description Language: Open Data Description Language.
These are the basic services provided by a game engine.
// ------------------------- Base services end -------------------------------------
The following sections are familiar to you:
// ------------------------- System managers begin -------------------------------------
A. Display Manager [Called]
B. Rendering core [Called] 1. OpenGL (desktop) 2. Native API (console)
C. Job Manager [Called] 1. multi-core support2. job queue3. batches4444. system utilities
D. Input manager [Called] 1. mouse2. keyboard3. joysticks4. gamepads game input management.
* *************** Very imp ********************** * ****** E. graphics manager [Called] 1. renderables2. texture maps (call Resource Manager) 3. vertex buffers4. shaders 5. camera setup6. light setup7. fog setup8. Post-Processing999. display manager101010. rendering core.
F. Sound Manager [Called] 1. Custom mixer2. 3D audio3. reverb generated ts4. sound flow5. streaming 6. decompression7. audio capture888. Resource Manager
G. Network Manager [Called] 1. UDP sockets2. connections3. fault tolerance4. Packet Encryption
The above is a game system management module, including audio network image input task scheduling rendering core display management module, etc.
// ------------------------- System managers end -------------------------------------
~~~ To be continued
Game Engine Architecture