Software Architectures and the Creative Processes in Game Development
- 7 Citations
- 2.6k Downloads
Abstract
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.
Keywords
Game development Creative software development Software architectureReferences
- 1.Zyda, M.: From visual simulation to virtual reality to games. Computer 38(9), 25–32 (2005)CrossRefGoogle Scholar
- 2.Blow, J.: Game Development: Harder Than You Think. Queue 1(10), 28–37 (2004)CrossRefGoogle Scholar
- 3.Crooks, C.E.: Awesome 3D Game Development: No Programming Required, Cengage Learning (2004)Google Scholar
- 4.Callele, D., et al.: Emotional Requirements. IEEE Softw. 25(1), 43–45 (2008)CrossRefGoogle Scholar
- 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.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.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.Bishop, L., et al.: Designing a PC Game Engine. IEEE Comput. Graph. Appl. 18(1), 46–53 (1998)CrossRefGoogle Scholar
- 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.Darken, R., et al.: The Delta3D Open Source Game Engine. IEEE Comput. Graph. Appl. 25(3), 10–12 (2005)CrossRefGoogle Scholar
- 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.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.Bouras, C., et al.: Networking Aspects for Gaming Systems (2008)Google Scholar
- 14.Smed, J., et al.: A review on networking and multiplayer computer games. Citeseer (2002)Google Scholar
- 15.Hampel, T., et al.: A peer-to-peer architecture for massive multiplayer online games. ACM (2006)Google Scholar
- 16.Triebel, T., et al.: Peer-to-peer infrastructures for games. ACM (2008)Google Scholar
- 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.Anderson, E.F., et al.: The case for research in game engine architecture. ACM (2008)Google Scholar
- 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.Plummer, J.: A flexible and expandable architecture for computer games. Arizona State University (2004)Google Scholar
- 21.Gestwicki, P.V.: Computer games as motivation for design patterns. SIGCSE Bull. 39(1), 233–237 (2007)CrossRefGoogle Scholar
- 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.Nguyen, D., Wong, S.B.: Design patterns for games. ACM (2002)Google Scholar
- 24.Scacchi, W.: Free and Open Source Development Practices in the Game Community. IEEE Softw. 21(1), 59–66 (2004)CrossRefGoogle Scholar
- 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.Flood, K.: Game unified process. GameDev. net (2003)Google Scholar
- 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.Schwaber, K., Beedle, M.: Agilè Software Development with Scrum (2002)Google Scholar
- 29.Basili, V.R.: Software modeling and measurement: the Goal/Question/Metric paradigm. University of Maryland for Advanced Computer Studies (1992)Google Scholar
- 30.Wohlin, C., et al.: Experimentation in software engineering. Springer (2012)Google Scholar
- 31.Likert, R.: A technique for the measurement of attitudes. Archives of psychology (1932)Google Scholar
- 32.Nordmark, N.: Software Architecture and the Creative Process in Game Development, Master Thesis, Norwegian University of Science and Technology (2012)Google Scholar
- 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.Bass, L., et al.: Software Architecture in Practice, p. 624. Addision-Wesley (2012)Google Scholar
- 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.Bethke, E.: Game Developer’s Guide to Design and Production. Wordware Publ. Inc. (2002)Google Scholar
- 37.Stacey, P., Nandhakumar, J.: Opening up to agile games development. Communications of the ACM 51(12), 143–146 (2008)CrossRefGoogle Scholar
- 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.White, W., et al.: Better scripts, better games. Communications of the ACM 52(3), 42–47 (2009)CrossRefGoogle Scholar
- 40.Rollings, A., Morris, D.: Game Architecture and Design - A New Edition. New Riders Publishing (2004)Google Scholar
- 41.McShaffry, M.: Game coding complete. Cengage Learning (2013)Google Scholar
- 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.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.Laitinen, S.: Better games through usability evaluation and testing. Gamasutra (2005), http://www.gamasutra.com/features/20050623/laitinen_01.shtml
- 45.Hayes, J.: The code/art divide: How technical artists bridge the gap. Game Developer Magazine 14(7), 17 (2007)Google Scholar