
Chapter
18
Object-Oriented
Infrastructure
A game engine is a large and complicated software system. The principles of object-
oriented software engineering and large library design apply just as they would to
any other large system. This chapter presents a review of some basic issues of object-
oriented infrastructure. In addition, specific issues related directly to implementation
of object-oriented support in the game engine are also addressed, including naming
conventions and namespaces, run-time type information, single and multiple inher-
itance, templates (parameterized data types), shared objects and reference counting,
streaming, and start-up