Game Engine Architecture

(Ben Green) #1

30 1. Introduction


What follows is a brief overview of the components shown in the diagram
in Figure 1.11. The rest of this book will be spent investigating each of these
components in a great deal more depth and learning how these components
are usually integrated into a functional whole.

1.6.1. Target Hardware
The target hardware layer, shown in isolation in Figure 1.12, represents the
computer system or console on which the game will run. Typical platforms
include Microsoft Windows- and Linux-based PCs, the Apple iPhone and
Macintosh, Microsoft ’s Xbox and Xbox 360, Sony’s PlayStation, PlayStation 2,
PlayStation Portable (PSP), and PLAYSTATION 3, and Nintendo’s DS, Game-
Cube, and Wii. Most of the topics in this book are platform-agnostic, but we’ll
also touch on some of the design considerations peculiar to PC or console
development, where the distinctions are relevant.

Hardware (PC, XBOX360, PS3, etc.)
Figure 1.12. Hardware layer.

Drivers

Figure 1.13. Device driver layer.

1.6.2. Device Drivers
As depicted in Figure 1.13, device drivers are low-level soft ware components
provided by the operating system or hardware vendor. Drivers manage hard-
ware resources and shield the operating system and upper engine layers from
the details of communicating with the myriad variants of hardware devices
available.

1.6.3. Operating System
On a PC, the operating system (OS) is running all the time. It orchestrates the
execution of multiple programs on a single computer, one of which is your
game. The OS layer is shown in Figure 1.14. Operating systems like Microsoft
Windows employ a time-sliced approach to sharing the hardware with mul-
tiple running programs, known as pre-emptive multitasking. This means that
a PC game can never assume it has full control of the hardware—it must “play
nice” with other programs in the system.
Free download pdf