Abstract
Video game developers use game engines as a tool to manage complex aspects of game development. While engines play a big role in the success of games, to the best of our knowledge, they are often developed in isolation, in a closed-source manner, without architectural discussions, comparison, and collaboration among projects. In this work in progress, we compare the call graphs of two open-source engines: Godot 3.4.4 and Urho3D 1.8. While static analysis tools could provide us with a general picture without precise call graph paths, the use of a profiler such as Callgrind allows us to also view the call order and frequency. These graphs give us insight into the engines’ designs. We showed that, by using Callgrind, we can obtain a high-level view of an engine’s architecture, which can be used to understand it. In future work, we intend to apply both dynamic and static analysis to other open-source engines to understand architectural patterns and their impact on aspects such as performance and maintenance.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
References
Anderson, E.F., Engel, S., Comninos, P., McLoughlin, L.: The case for research in game engine architecture. In: Proceedings of the 2008 Conference on Future Play: Research, Play, Share, Future Play 2008, New York, USA, pp. 228–231. Association for Computing Machinery. event-place: Toronto, Ontario, Canada (2008)
Christopoulou, E., Xinogalos, S.: Overview and comparative analysis of game engines for desktop and mobile devices. Int. J. Serious Games 4(4), 21–36 (2017)
Dickson, P.E., Block, J.E., Echevarria, G.N., Keenan, K.C.: An experience-based comparison of unity and unreal for a stand-alone 3D game development course. In: Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education, Bologna Italy, pp. 70–75. ACM, June 2017
Eberly, D.H.: 3D game engine design: a practical approach to real-time computer graphics, 2nd edn. Elsevier/Morgan Kaufmann, Amsterdam, Boston (2007)
Gregory, J.: Game engine architecture, third edn . Taylor & Francis, CRC Press, Boca Raton (2018)
Lengyel, E.: Foundations of game engine development. Terathon Software LLC, Lincoln, California (2016)
Maggiorini, D., Ripamonti, L.A., Zanon, E., Bujari, A., Palazzi, C.E.: SMASH: A distributed game engine architecture. In: 2016 IEEE Symposium on Computers and Communication (ISCC), Messina, Italy, pp. 196–201. IEEE, June 2016
Marin, C., Chover, M., Sotoca, J.M.: Prototyping a game engine architecture as a multi-agent system. Západočeská univerzita. In: Computer Science Research Notes (2019)
Pattrasitidecha, A.: Comparison and evaluation of 3D mobile game engines. Master’s thesis, Chalmers University of Technology (2014)
Pavkov, S., Frankovic, I., Hoic-Bozic, N.: Comparison of game engines for serious games. In: 2017 40th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), Opatija, Croatia, pp. 728–733. IEEE, May 2017
Politowski, C., Petrillo, F., Montandon, J.E., Valente, M.T., Guéhéneuc, Y.-G.: Are game engines software frameworks? a three-perspective study. J. Syst. Softw. 171, 110846 (2021)
Sršen, M., Orehovački, T.: Developing a game engine in c# programming language. In: 2021 44th International Convention on Information, Communication and Electronic Technology (MIPRO), pp. 1717–1722 (2021)
Acknowledgements
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
© 2022 IFIP International Federation for Information Processing
About this paper
Cite this paper
Ullmann, G.C., Politowski, C., Guéhéneuc, YG., Petrillo, F. (2022). Game Engine Comparative Anatomy. In: Göbl, B., van der Spek, E., Baalsrud Hauge, J., McCall, R. (eds) Entertainment Computing – ICEC 2022. ICEC 2022. Lecture Notes in Computer Science, vol 13477. Springer, Cham. https://doi.org/10.1007/978-3-031-20212-4_8
Download citation
DOI: https://doi.org/10.1007/978-3-031-20212-4_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-20211-7
Online ISBN: 978-3-031-20212-4
eBook Packages: Computer ScienceComputer Science (R0)