Abstract
Game engines support video game development by providing functionalities such as graphics rendering or input/output device management. However, their architectures are often overlooked, which hinders their integration and extension. In this paper, we use an approach for architecture recovery to create architectural models for 10 open-source game engines. We use these models to answer the following questions: Which subsystems more often couple with one another? Do game engines share subsystem coupling patterns? We observe that the Low-Level Renderer, Platform Independence Layer and Resource Manager are frequently coupled to the game engine Core. By identifying the most frequent coupling patterns, we describe an emergent game engine architecture and discuss how it can be used by practitioners to improve system understanding and maintainability.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Multi-User Dungeon, a text-based precursor of MMORPG games.
- 2.
- 3.
- 4.
- 5.
- 6.
References
Agrahari, V., Chimalakonda, S.: What’s inside unreal engine? - A curious gaze! In: 14th Innovations in Software Engineering Conference, Bhubaneswar, Odisha India, pp. 1–5. ACM (2021). https://doi.org/10.1145/3452383.3452404
Badar, K., Hite, J.M., Badir, Y.F.: Examining the relationship of co-authorship network centrality and gender on academic research performance: the case of chemistry researchers in Pakistan. Scientometrics 94(2), 755–775 (2013). https://doi.org/10.1007/s11192-012-0764-z. ISSN 0138-9130
Bishop, L., Eberly, D., Whitted, T., Finch, M., Shantz, M.: Designing a PC game engine. IEEE Comput. Graph. Appl. 18(1), 46–53 (1998). https://doi.org/10.1109/38.637270. ISSN 02721716
Bowman, I.T., Holt, R.C., Brewster, N.V.: Linux as a case study: its extracted software architecture. In: Proceedings of ICSE 1999, Los Angeles, California, USA, pp. 555–563. ACM Press (1999). https://doi.org/10.1145/302405.302691. ISBN 978-1-58113-074-4
Gregory, J.: Game Engine Architecture. Taylor & Francis, CRC Press, Boca Raton (2018). ISBN 978-1-138-03545-4
Hassan, A.E., Holt, R.C.: A reference architecture for web servers. In: Proceedings Seventh Working Conference on Reverse Engineering, Brisbane, QLD, Australia, pp. 150–159 (2000). IEEE Computer Society (2000). https://doi.org/10.1109/WCRE.2000.891462. ISBN 978-0-7695-0881-8
Jaeyong, P., Changhyeon, P.: Development of a multiuser and multimedia game engine based on TCP/IP. In: 1997 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing, PACRIM, 1987–1997, vol. 1, Victoria, BC, Canada, pp. 101–104. IEEE (1997). https://doi.org/10.1109/PACRIM.1997.619911. ISBN 978-0-7803-3905-7
Link, D., Behnamghader, P., Moazeni, R., Boehm, B.: The value of software architecture recovery for maintenance. In: Proceedings of the 12th Innovations on Software Engineering Conference (formerly known as India Software Engineering Conference), Pune, India, pp. 1–10. ACM (2019). https://doi.org/10.1145/3299771.3299787. ISBN 978-1-4503-6215-3
Munro, J., Boldyreff, C., Capiluppi, A.: Architectural studies of games engines - the quake series. In: 2009 International IEEE Consumer Electronics Society’s Games Innovations Conference, London, UK, pp. 246–255. IEEE (2009). https://doi.org/10.1109/ICEGIC.2009.5293600. ISBN 978-1-4244-4459-5
Politowski, C., Petrillo, F., Montandon, J.E., Valente, M.T., Guéhéneuc, Y.: Are game engines software frameworks? A three-perspective study. J. Syst. Softw. 171, 110846 (2021). https://doi.org/10.1016/j.jss.2020.110846
Ullmann, G.C., Guéhéneuc, Y., Petrillo, F., Anquetil, N., Politowski, C.: An exploratory approach for game engine architecture recovery. In: 7th International ICSE Workshop on Games and Software Engineering (2023)
Acknowledgement
The authors were partially supported by the NSERC Discovery Grant and Canada Research Chairs programs.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 IFIP International Federation for Information Processing
About this paper
Cite this paper
C. Ullmann, G., Guéhéneuc, YG., Petrillo, F., Anquetil, N., Politowski, C. (2023). Visualising Game Engine Subsystem Coupling Patterns. In: Ciancarini, P., Di Iorio, A., Hlavacs, H., Poggi, F. (eds) Entertainment Computing – ICEC 2023. ICEC 2023. Lecture Notes in Computer Science, vol 14455. Springer, Singapore. https://doi.org/10.1007/978-981-99-8248-6_22
Download citation
DOI: https://doi.org/10.1007/978-981-99-8248-6_22
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-99-8247-9
Online ISBN: 978-981-99-8248-6
eBook Packages: Computer ScienceComputer Science (R0)