Skip to main content

Visualising Game Engine Subsystem Coupling Patterns

  • Conference paper
  • First Online:
Entertainment Computing – ICEC 2023 (ICEC 2023)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Multi-User Dungeon, a text-based precursor of MMORPG games.

  2. 2.

    https://github.com/gamedev-studies/game-engine-analyser.

  3. 3.

    https://github.com/minetest/minetest.

  4. 4.

    https://github.com/moosetechnology.

  5. 5.

    https://pharo.org/.

  6. 6.

    https://gephi.org/.

References

  1. 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

  2. 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

    Article  Google Scholar 

  3. 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

    Article  Google Scholar 

  4. 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

  5. Gregory, J.: Game Engine Architecture. Taylor & Francis, CRC Press, Boca Raton (2018). ISBN 978-1-138-03545-4

    Google Scholar 

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

    Article  Google Scholar 

  11. 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)

    Google Scholar 

Download references

Acknowledgement

The authors were partially supported by the NSERC Discovery Grant and Canada Research Chairs programs.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gabriel C. Ullmann .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics