Abstract
Nowadays the amount of source code that is freely available inside open-source software repositories offers great reuse opportunities to software developers. Therefore, it is expected that the implementation of several requirements can be facilitated by reusing open source software components. In this paper, we focus on the reuse opportunities that can be offered in one specific application domain, i.e., game development. In particular, we performed an embedded multiple case study on approximately 110 open-source games, exploiting a large-scale repository of OSS components, and investigated: (a) which game genres can benefit from open source reuse, and (b) what types of requirements can the available open-source components map to. The results of the case study suggest that: (a) game genres with complex game logic, e.g., First Person Shooter, Strategy, Role-Playing, and Sport games offer the most reuse opportunities, and (b) the most common requirement types that can be developed by reusing OSS components are related to scenarios and characters.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
A very small number of classes has been related to sound requirements, but due to its negligible number has not been included in the pie chart.
References
9126-2001: ISO/IEC, Software engineering - Product quality (Part 1: Quality model), Geneva, Switzerland (2001)
Ajila, S.A., Wu, D.: Empirical study of the effects of open source adoption on software development economics. J. Syst. Softw. Elsevier 80(9), 1517–1529 (2007)
Ampatzoglou, A., Stamelos, I.: Software engineering research for computer games: A systematic review. Inf. Softw. Technol. Elsevier 52(9), 888–901 (2010)
Ampatzoglou, A., Stamelos, I., Gkortzis, A., Deligiannis, I.: Methodology on extracting reusable software candidate components from open source games. In: Proceeding of the 16th International Academic MindTrek Conference, pp. 93–100. ACM, Finland (2012)
Ampatzoglou, A., Michou, O., Stamelos, I.: Building and mining a repository of design pattern instances: Practical and research benefits. Entertainment Comput. Elsevier 4(2), 131–142 (2013)
Ampatzoglou, A., Gkortzis, A., Charalampidou, S., Avgeriou, P.: An embedded multiple-case study on oss design quality assessment across domains. In: 7th International Symposium on Empirical Software Engineering and Measurement (ESEM 2013), pp. 255–258. ACM/IEEE Computer Society, Baltimore, USA, 10–11 October 2013
Arvanitou, E.M., Ampatzoglou, A., Chatzigeorgiou, A., Avgeriou, P.: Introducing a ripple effect measure: a theoretical and empirical validation. In: 9th International Symposium on Empirical Software Engineering and Measurement (ESEM 2015), ACM/IEEE Computer Society, Beijing, China
Baldassarre, M.T., Bianchi, A., Caivano, D., Visaggio, G.: An industrial case study on reuse oriented development. In: 21st International Conference on Software Maintenance (ICSM 2005), IEEE Computer Society, 283–292, September 2005
Bansiya, J., Davies, C.G.: A hierarchical model for object-oriented design quality assessment. Trans. Softw. Eng. IEEE Comput. Soc. 28(1), 4–17 (2002)
Basili, V.R., Caldiera, G., Rombach, H.D.: Goal question metric paradigm, Encyclopedia of Software Engineering, pp. 528–532. John Wiley & Sons, New York (1994)
Callele, D., Neufeld, E., Schneider, K.: Emotional requirements in video games. In: 14th International Conference on Requirements Engineering, IEEE Computer Society, Minneapolis, USA,11 – 15 September 2006
Cho, H., Yang, J.S.: Architecture patterns for mobile games product lines. In: Proceedings of the 2008 International Conference on Advanced Communication Technology (ICACT 2008), pp. 118–122. IEEE Computer Society Korea, 17 – 20 February 2008
Consumer Electronics Association, “Digital America”, published electronically at. http://www.ce.org
Crnkovic, I., Hnich, B., Johnson, T., Kiziltan, Z.: Specification, implementation, and deployment of components. Commun. Assoc. Comput. Mach. 45(10), 35–40 (2002)
Folmer, E.: Component based game development – a solution to escalating costs and expanding deadlines? In: Schmidt, H.W., Crnković, I., Heineman, G.T., Stafford, J.A. (eds.) CBSE 2007. LNCS, vol. 4608, pp. 66–73. Springer, Heidelberg (2007)
Frakes, W.B., Fox, C.J.: Quality improvement using a software reuse failure modes model. Trans. Softw. Eng. IEEE Comput. Soc. 22(4), 274–279 (1996)
Franch, X., Carvallo, J.P.: Using quality models in software package selection. Softw. IEEE Comput. Soc. 20(1), 34–41 (2003)
Furini, M.: An architecture to easily produce adventure and movie games for the mobile scenario. Comput. Entertainment Assoc. Comput. Mach. 6(2), 1–16 (2008)
Gabow, H.N.: Path-based depth-first search for strong and bi-connected components. Inf. Process. Lett. Elsevier 74(3–4), 107–114 (2000)
Griffith, I., Izurieta, C.: Design pattern decay: the case for class grime. In: 8th International Symposium on Empirical Software Engineering and Measurement (ESEM 2014), ACM/IEEE Computer Society, Torino, Italy, 18–19 September 2014
Haefliger, S., von Krogh, G., Spaeth, S.: Code reuse in open source software. Manage. Sci. PubsOnline 54(1), 180–193 (2007)
Ham, H., Lee, Y.: An empirical study for quantitative evaluation of game satisfaction. In: 2006 International Conference on Hybrid Information Technology, pp. 724–729. ACM, November 2006
Heinemann, L., Deissenboeck, F., Gleirscher, M., Hummel, B., Irlbeck, M.: On the extent and nature of software reuse in open source java projects. In: Schmid, K. (ed.) ICSR 2011. LNCS, vol. 6727, pp. 207–222. Springer, Heidelberg (2011)
Johnson, I., Snook, C., Edmunds, A., Butler, M.: Rigorous development of reusable, domain-specific components, for complex applications. In: 3rd International Workshop on Critical Systems Development with UML (CSDUML 2004), Springer (2004)
Kasurinen, J., Maglyas, A., Smolander, K.: Is requirements engineering useless in game development? In: Salinesi, C., Weerd, I. (eds.) REFSQ 2014. LNCS, vol. 8396, pp. 1–16. Springer, Heidelberg (2014)
Krueger, C.W.: Software reuse. Comput. Surv. ACM 24(2), 131–184 (1992)
Lau, K.K., Wang, Z.: A taxonomy of software component models. In: 31st EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA), pp. 88–95. IEEE (2005)
Lee, W.P., Liu, L.J., Chiou, J.A.: A component-based framework to rapidly prototype online chess games for home entertainment. In: Proceedings of the International Conference on Systems, Man and Cybermetrics (SMC 2006), IEEE Computer Society, Taipei, Taiwan, pp. 4011–4016, 8–11 October 2006
Martin, R.C.: Agile software development: principles, patterns and practices. Prentice Hall, New Jersey (2003)
McShaffry, M.: Game Coding Complete. Paraglyph Press, Arizona, USA (2003)
Mockus, A.: Large-scale code reuse in open source software. In: 1st International Workshop on Emerging Trends in FLOSS Research and Development (FLOSS 2007), IEEE Computer Society (2007)
Morisio, M., Romano, D., Stamelos, I.: Quality, productivity, and learning in framework-based development: an exploratory case study. Trans. Softw. Eng. IEEE Comput. Soc. 28(9), 876–888 (2002)
Paschali, M.E., Ampatzoglou, A., Chatzigeorgiou, A., Stamelos, I.: Non-functional requirements that influence gaming experience: A survey on gamers satisfaction factors. In: 18th Academic MindTREK Conference (MindTREK 2015), ACM, 4–6 November 2014, Tampere, Finland
Passos, E.B., Weslley, J., Walter, E., Clua, G., Montenegro, A., Murta, L.: Smart composition of game objects using dependency injection. Comput. Entertainment, Assoc. Comput. Mach. 7(4), 408–423 (2009)
Reimanis, D.: A research plan to characterize, evaluate, and predict the impacts of behavioral decay in design patterns. In: 13th International Doctoral Symposium on Empirical Software Engineering (IDOSE 2015), Beijing, China
Raemaekers, S., van Deursen, A., Visser, J.: An analysis of dependence on third-party libraries in open source and proprietary systems. In: 6th International Workshop on Software Quality and Maintainability (SQM 2012), March 2012
Runeson, P., Host, M., Rainer, A., Regnell, B.: Case Study Research in Software Engineering: Guidelines and Examples. John Wiley & Sons, Hoboken (2012)
Schwittek, W., Eicker, S.: A study on third party component reuse in java enterprise open source software. In: 16th International Symposium on Component-based Software Engineering (CBSE 2013), pp. 75–80. ACM (2013)
Sojer, M., Henkel, J.: Code Reuse in Open Source Software Development: Quantitative Evidence, Drivers, and Impediments. J. Assoc. Inf. Syst. 11(12), 868–901 (2010)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley International, Massachusetts, USA (1997)
van Lent, M., Swartout, W.: Games: Once more, with Feeling. Comput. IEEE Comput. Soc. 40(8), 98–100 (2007)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Paschali, ME., Ampatzoglou, A., Bibi, S., Chatzigeorgiou, A., Stamelos, I. (2016). A Case Study on the Availability of Open-Source Components for Game Development. In: Kapitsaki, G., Santana de Almeida, E. (eds) Software Reuse: Bridging with Social-Awareness. ICSR 2016. Lecture Notes in Computer Science(), vol 9679. Springer, Cham. https://doi.org/10.1007/978-3-319-35122-3_11
Download citation
DOI: https://doi.org/10.1007/978-3-319-35122-3_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-35121-6
Online ISBN: 978-3-319-35122-3
eBook Packages: Computer ScienceComputer Science (R0)