Game Engine Research
Game Engine Research
Game Engine Research
2.5 Best Practice: Are there specific design In this paper we have identified several key aspects that
methods or architectural models that are used, may help to define the problem space of game engine archi-
or should be used, for the creation of a game tecture and design. We have posed a number of questions
that we believe may provide directions for future initiatives
engine? to address. A possible next step would be to set up an ex-
Common sense suggests that top-down design, and bottom- ploratory meeting of interested parties from industry and
up implementation would provide a solution suitable to academia. This could be followed by the setting up of a
the development of game engines. However, this is not committee or working group to coordinate research on this
necessarily how game engines come into being. Empirical topic, a possible end result being the definition of an open
observation suggests that many engines grow and evolve standard for use by all.
over time. The danger with organically grown projects
is that features can spiral out of control, a phenomenon References
known as ‘feature creep’, usually because the original goals Blow, J. 2004. Game development harder than you think.
were poorly defined at the beginning of a project. This ACM Queue 1, 10, 28–37.
has the unfortunate effect that when the implementation
finally meets the original requirements, the goals may have Doherty, M. 2003. A software architecture for games.
changed. The architecture, however, may not be capable University of the Pacific Department of Computer Science
of supporting these new requirements, and workarounds, Research and Project Journal 1, 1.
affectionately called ‘hacks’, must be added. As briefly
mentioned above, a large section of the available literature Eberly, D. H. 2000. 3D Game Engine Design. Morgan
appears to overlook this issue altogether by concentrat- Kaufmann.
ing solely on the implementation of individual engine
Fleming, J., 2007. Down the hyper-spatial tube: Spacewar
components, approaching the subject in terms of micro
and the birth of digital game culture. Available from:
architecture as opposed to macro architecture.
http://www.gamasutra.com.
The question that we ask is whether there is a ‘best prac- Folmer, E. 2007. Component based game development.
tice’ for the development of game engines that can help elim- In Component-Based Software Engineering, vol. 4608 of
inate, or at least reduce, these problems? LNCS, 66–73.
3 Summary of Research Questions Garlan, D., and Shaw, M. 1994. An introduction to
While it is usually simple to attack specific problems, a software architecture. Tech. Rep. CMU/SEI-94-TR-21,
scholarly approach would be to pull back to see the bigger ESC-TR-94-21, Carnegie Mellon University, Pittsburgh,
picture and to identify trends. This abstraction can then PA. CMU Software Engineering Institute.
be used to identify gaps in the knowledge of the field and
to explore ideas that others may have overlooked. Our Lewis, M., and Jacobson, J. 2002. Game engines in
task, as academics, should be to look at designs and find scientific research. Communications of the ACM 45, 1,
commonality, to allow us to try to piece together a ‘better 27–31.
design’. Sawyer, B. 1996. The Ultimate Game Developer’s Source-
book. Coriolis.
The aim of this call for research is to raise academic inter-
est in the field of game engine architecture and design. Our Sherrod, A. 2007. Ultimate 3D Game Engine Design &
research agenda could therefore be defined as: Architecture. Charles River Media.
• The establishment of a unified language of game devel- Simpson, J., 2002. Game engine anatomy 101. Available
opment; from: http://www.extremetech.com.
• The identification of software components that are com- Stephens, N., 2001. “game engine” versus “rendering en-
mon to all types of computer games; gine”. Letters to the Editor, http://www.gamasutra.com.
• The establishment of clear boundaries between game Tulip, J., Bekkema, J., and Nesbitt, K. 2006. Multi-
engine (code) and game code; threaded game engine design. In Proceedings of the 3rd
Australasian Conference on Interactive Entertainment, 9–
• The definition of the role of content creation tools in the 14.
game development process and as part of game engines;