Software Architectures and the Creative Processes in Game Development

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9353)


Game development is different from traditional software engineering in that there are no real functional requirements and the customers buy and use the software only because it is engaging and fun. This article investigates how game developers think about and use software architecture in the development of games. Further, it looks at how creative development processes are managed and supported. The results presented in this article come from responses to a questionnaire and a survey among thirteen game developers. The research questions answered in this study are: what role does the software architecture play in game development, how do game developers manage changes to the software architecture, how are creative development processes managed and supported, and how has game development evolved the last couple of years. Some of our findings are that software architectures play a central role in game development where the focus is mainly on achieving software with good performance and high modifiability, creative processes are supported through flexible game engines and tools, use of scripting and dynamic loading of assets, and feature-based teams with both creative and technical professions represented, and game developers are incrementally using more game-specific engines, tools and middleware in their development now compared to earlier.


Game development Creative software development Software architecture 


  1. 1.
    Zyda, M.: From visual simulation to virtual reality to games. Computer 38(9), 25–32 (2005)CrossRefGoogle Scholar
  2. 2.
    Blow, J.: Game Development: Harder Than You Think. Queue 1(10), 28–37 (2004)CrossRefGoogle Scholar
  3. 3.
    Crooks, C.E.: Awesome 3D Game Development: No Programming Required, Cengage Learning (2004)Google Scholar
  4. 4.
    Callele, D., et al.: Emotional Requirements. IEEE Softw. 25(1), 43–45 (2008)CrossRefGoogle Scholar
  5. 5.
    Ampatzoglou, A., Stamelos, I.: Software engineering research for computer games: A systematic review. Info. and Software Technology 52(9), 888–901 (2010)CrossRefGoogle Scholar
  6. 6.
    Kanode, C.M., Haddad, H.M.: Software engineering challenges in game development. In: Sixth International Conference on Proc. Information Technology: New Generations, ITNG 2009, pp. 260–265. IEEE (2009)Google Scholar
  7. 7.
    Callele, D., et al.: Requirements engineering and the creative process in the video game industry. In: Proceedings of the 13th IEEE International Conference on Requirements Engineering, pp. 240-250. IEEE (2005)Google Scholar
  8. 8.
    Bishop, L., et al.: Designing a PC Game Engine. IEEE Comput. Graph. Appl. 18(1), 46–53 (1998)CrossRefGoogle Scholar
  9. 9.
    Cheah, T.C., Ng, K.-W.: A practical implementation of a 3D game engine. In: Proc. of the International Conference on Computer Graphics, Imaging and Vision: New Trends, pp. 351–358. IEEE (2005)Google Scholar
  10. 10.
    Darken, R., et al.: The Delta3D Open Source Game Engine. IEEE Comput. Graph. Appl. 25(3), 10–12 (2005)CrossRefGoogle Scholar
  11. 11.
    Folmer, E.: Component Based Game Development–A Solution to Escalating Costs and Expanding Deadlines? Component-Based Software Engineering, pp. 66–73 (2007)Google Scholar
  12. 12.
    Antonio, C.A.M., et al.: Using a Game Engine for VR Simulations in Evacuation Planning. IEEE Comput. Graph. Appl. 28(3), 6–12 (2008)CrossRefGoogle Scholar
  13. 13.
    Bouras, C., et al.: Networking Aspects for Gaming Systems (2008)Google Scholar
  14. 14.
    Smed, J., et al.: A review on networking and multiplayer computer games. Citeseer (2002)Google Scholar
  15. 15.
    Hampel, T., et al.: A peer-to-peer architecture for massive multiplayer online games. ACM (2006)Google Scholar
  16. 16.
    Triebel, T., et al.: Peer-to-peer infrastructures for games. ACM (2008)Google Scholar
  17. 17.
    Cai, W., et al.: A scalable architecture for supporting interactive games on the internet. In: Proceedings of the Sixteenth Workshop on Parallel and Distributed Simulation, pp. 60–67. IEEE Computer Society (2002)Google Scholar
  18. 18.
    Anderson, E.F., et al.: The case for research in game engine architecture. ACM (2008)Google Scholar
  19. 19.
    Caltagirone, S., et al.: Architecture for a massively multiplayer online role playing game engine. J. Comput. Small Coll. 18(2), 105–116 (2002)Google Scholar
  20. 20.
    Plummer, J.: A flexible and expandable architecture for computer games. Arizona State University (2004)Google Scholar
  21. 21.
    Gestwicki, P.V.: Computer games as motivation for design patterns. SIGCSE Bull. 39(1), 233–237 (2007)CrossRefGoogle Scholar
  22. 22.
    Ampatzoglou, A., Chatzigeorgiou, A.: Evaluation of object-oriented design patterns in game development. Info. and Software Technology 49(5), 445–454 (2007)CrossRefGoogle Scholar
  23. 23.
    Nguyen, D., Wong, S.B.: Design patterns for games. ACM (2002)Google Scholar
  24. 24.
    Scacchi, W.: Free and Open Source Development Practices in the Game Community. IEEE Softw. 21(1), 59–66 (2004)CrossRefGoogle Scholar
  25. 25.
    Petrillo, F., et al.: What went wrong? A survey of problems in game development. Computer Entertainment (CIE) 7(1), 1–22 (2009)CrossRefGoogle Scholar
  26. 26.
    Flood, K.: Game unified process. GameDev. net (2003)Google Scholar
  27. 27.
    Petrillo, F., Pimenta, M.: Is agility out there?: agile practices in game development. In: Proceedings of the 28th ACM International Conference on Design of Communication, pp. 9–15. ACM (2010)Google Scholar
  28. 28.
    Schwaber, K., Beedle, M.: Agilè Software Development with Scrum (2002)Google Scholar
  29. 29.
    Basili, V.R.: Software modeling and measurement: the Goal/Question/Metric paradigm. University of Maryland for Advanced Computer Studies (1992)Google Scholar
  30. 30.
    Wohlin, C., et al.: Experimentation in software engineering. Springer (2012)Google Scholar
  31. 31.
    Likert, R.: A technique for the measurement of attitudes. Archives of psychology (1932)Google Scholar
  32. 32.
    Nordmark, N.: Software Architecture and the Creative Process in Game Development, Master Thesis, Norwegian University of Science and Technology (2012)Google Scholar
  33. 33.
    Hsiao, T.-Y., Yuan, S.-M.: Practical Middleware for Massively Multiplayer Online Games. IEEE Internet Computing 9(5), 47–54 (2005)CrossRefGoogle Scholar
  34. 34.
    Bass, L., et al.: Software Architecture in Practice, p. 624. Addision-Wesley (2012)Google Scholar
  35. 35.
    Boehm, B., Basili, V.R.: Software defect reduction top 10 list. Foundations of Empirical Software Engineering: The Legacy of Victor R. Basili, vol. 426 (2005)Google Scholar
  36. 36.
    Bethke, E.: Game Developer’s Guide to Design and Production. Wordware Publ. Inc. (2002)Google Scholar
  37. 37.
    Stacey, P., Nandhakumar, J.: Opening up to agile games development. Communications of the ACM 51(12), 143–146 (2008)CrossRefGoogle Scholar
  38. 38.
    Sweetser, P., Wiles, J.: Scripting versus emergence: issues for game developers and players in game environment design. International Journal of Intelligent Games and Simulations 4(1), 1–9 (2005)Google Scholar
  39. 39.
    White, W., et al.: Better scripts, better games. Communications of the ACM 52(3), 42–47 (2009)CrossRefGoogle Scholar
  40. 40.
    Rollings, A., Morris, D.: Game Architecture and Design - A New Edition. New Riders Publishing (2004)Google Scholar
  41. 41.
    McShaffry, M.: Game coding complete. Cengage Learning (2013)Google Scholar
  42. 42.
    González Sánchez, J.L., Padilla Zea, N., Gutiérrez, F.L.: From usability to playability: Introduction to player-centred video game development process. In: Kurosu, M. (ed.) HCD 2009. LNCS, vol. 5619, pp. 65–74. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  43. 43.
    Desurvire, H., Wiberg, C.: Game usability heuristics (PLAY) for evaluating and designing better games: The next iteration. In: Ozok, A.A., Zaphiris, P. (eds.) OCSC 2009. LNCS, vol. 5621, pp. 557–566. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  44. 44.
    Laitinen, S.: Better games through usability evaluation and testing. Gamasutra (2005),
  45. 45.
    Hayes, J.: The code/art divide: How technical artists bridge the gap. Game Developer Magazine 14(7), 17 (2007)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Norwegian University of Science and TechnologyTrondheimNorway

Personalised recommendations