Abstract
In recent years, the increasing popularity of casual games for mobile and web has promoted the development of new editors to make video games easier to create. The development of these interactive applications is on its way to becoming democratized, so that anyone who is interested, without any advanced knowledge of programming, can create them for devices such as mobile phones or consoles. Nevertheless, most game development environments rely on the traditional way of programming and need advanced technical skills, even despite today’s improvements. This paper presents a new 2D game engine that reduces the complexity of video game development processes. The game specification has been simplified, decreasing the complexity of the engine architecture and introducing a very easy-to-use editing environment for game creation. The engine presented here allows the behaviour of the game objects to be defined using a very small set of conditions and actions, without the need to use complex data structures. Some experiments have been designed in order to validate its ease of use and its capacity in the creation of a wide variety of games. To test it, users with little experience in programming have developed arcade games using the presented environment as a proof of its easiness with respect to other comparable software. Results obtained endorse the concept and the hypothesis of its easiness of use and demonstrate the engine potential.
Similar content being viewed by others
References
Ampatzoglou A, Stamelos I (2010) Software engineering research for computer games: a systematic review. Inf Softw Technol 52(9):888–901
Anderson EF, Engel S, McLoughlin L, Comninos P (2008) The case for research in game engine architecture:228–231
Bácsi S, Mezei G (2019) Towards a classification to facilitate the design of domain-specific visual languages. Acta Cybernetica 24(1):5–16
Biswas PK (2008) Towards an agent-oriented approach to conceptualization. Appl Soft Comput 8(1):127–139
Blackwell AF (1996, September). Metacognitive theories of visual programming: what do we think we are doing? In: Proceedings 1996 IEEE symposium on visual languages, pp 240–246. IEEE
Catto E (2011) Box2D: a 2D physics engine for games
Chang SE (2005) Computer anxiety and perception of task complexity in learning programming-related skills. Comput Hum Behav 21(5):713–728
Chao PY (2016) Exploring students’ computational practice, design and performance of problem-solving through a visual programming environment. Comput Educ 95:202–215
Chen C, Leung L (2016) Are you addicted to candy crush saga? An exploratory study linking psychological factors to mobile social game addiction. Telemat Inf 33(4):1155–1166
Chen WK, Cheng YC (2007) Teaching object-oriented programming laboratory with computer game programming. IEEE Trans Educ 50(3):197–203
Correa JDC (2015). Digitopolis II: creation of video games GDevelop. In: Correa JDC (ed) Bogotá
Davis FD (1989) Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Q 13(3):319–340
Davis FD, Venkatesh V (2004) Toward pre-prototype user acceptance testing of new information systems: implications for software project management. IEEE Trans Eng Manag 51:31–46
Dekhane S, Xu X (2012) Engaging students in computing using GameSalad: a pilot study. J Comput Sci Coll 28(2):117–123
Deloura M (2000) Game programming gems. Charles River Media, Inc., Rockland
Flowlab. https://flowlab.io/ [Online; Last accessed: 2019-1-8] (January 2019)
Folmer E (2007) Component-based game development – a solution to escalating costs and expanding deadlines? In: Schmidt HW (ed) Component-based software engineering. Springer, Berlin/Heidelberg, pp 66–73
Furtado AW, Santos AL (2006) Using domain-specific modelling towards computer games development industrialization. In: The 6th OOPSL. A workshop on domain-specific modelling
Furtado AWB, Santos ALM, Ramalho GL, de Almeida ES (2011) Improving digital game development with software product lines. IEEE Softw 28(5):30–37
Game Maker. YoYo Games. http://www.yoyogames.com [Online; Last accessed: 2019-1-8] (January 2019)
Gilchrist VJ (1992) Key informant interviews. In: Crabtree BF, Miller WL (eds) Research methods for primary care, vol 3. Sage Publications, Inc, Thousand Oaks, pp 70–89
Google Design. https://design.google [Online; Last accessed: 2019-1-8] (January 2019)
Gregory J (2014) Game engine architecture, 2nd edn. A. K. Peters, Ltd., Natick
Guo B, Fujimura R, Zhang D, Imai M (2012) Design-in-play: improving the variability of indoor pervasive games. Multimed Tools Appl 59(1):259–277
Hanks K, Odom W, Roedl D, Blevis E (2008) Sustainable millennials: attitudes towards sustainability and the material effects of interactive technologies. In: Conference on human factors in computing systems – proceedings, pp 333–342
Kamadi VV, Allam AR, Thummala SM (2016) A computational intelligence technique for the effective diagnosis of diabetic patients using principal component analysis (PCA) and modified fuzzy SLIQ decision tree approach. Appl Soft Comput 49:137–145
Kiper JD, Howard E, Ames C (1997) Criteria for evaluation of visual programming languages. J Vis Lang Comput 8(2):175–192
Koulouri T, Lauria S, Macredie RD (2015) Teaching introductory programming: a quantitative evaluation of different approaches. ACM Trans Comput Educ (TOCE) 14(4):26
Lazar J, Feng J. H, Hochheiser H (2010) Research methods in human-computer interaction, Wiley
Liu C-H, Lin J, Wilson D, Hemmenway E, Hasson Z, Barnett Y (2014) Making games a “snap” with stencyl: a summer computing workshop for k-12 teachers. In: Proceedings of the 45th ACM technical symposium on computer science education. ACM, New York
Maloney J, Resnick M, Rusk N, Silverman B, Eastmond E (2010) The scratch programming language and environment. ACM Trans Comput Educ (TOCE) 10(4):16
Matter.js. http://brm.io/matter-js [Online; Last accessed: 2019-8-24] (August 2019).
Menard M (2011) Game development with Unity, 1st edn. Course Technology Press, Boston
Messaoudi F, Simon G, Ksentini A (2015, December). Dissecting games engines: the case of Unity3D. In 2015 international workshop on network and systems support for games (NetGames), pp 1–6. IEEE
Millington I (2010) How to build a robust commercial-grade physics engine for your game, in: game physics engine development, 2nd edn. Morgan Kaufmann Publishers Inc., San Francisco
Millington I, Funge J (2009) Artificial intelligence for games, 2nd edn. Morgan Kaufmann Publishers Inc., San Francisco
Milne I, Rowe G (2002) Difficulties in learning and teaching programming—views of students and tutors. Educ Inf Technol 7(1):55–66
Nuñez-Valdez ER, Sanjuan-Martinez O, Bustelo CPG, Lovelle JMC, Infante-Hernández G (2013) Gade4all: developing multi-platform video games based on domain specific languages and model driven engineering. Int J Interact Multimedia Artif Intell 2(2):33–42
Ouahbi I, Kaddari F, Darhmaoui H, Elachqar A, Lahmine S (2015) Learning basic programming concepts by creating games with scratch programming environment. Procedia Soc Behav Sci 191:1479–1482
Powers K, Gross P, Cooper S, McNally M, Goldman KJ, Proulx V, Carlisle M (2006, March). Tools for teaching introductory programming: what works? In: ACM SIGCSE bulletin, vol 38, no. 1, pp 560–561. ACM
Reyno EM, Cubel JAC (2008) Model-driven game development: 2d platform game prototyping. In: GAMEON
Robins A, Rountree J, Rountree N (2003) Learning and teaching programming: a review and discussion. Comput Sci Educ 13(2):137–172
Roy K, Rousse WC, DeMeritt DB (2012, October) Comparing the mobile novice programming environments: app inventor for android vs. GameSalad. In: 2012 Frontiers in education conference proceedings, pp 1–6. IEEE
RPG Maker. https://www.rpgmakerweb.com [Online; Last accessed: 2019-1-8] (January 2019)
Salen K, Zimmerman E (2006) The game design reader: a rules of play anthology. MIT Press, Cambridge
Stemkoski L, Leider E (2017) Game development with construct 2: from design to realization, Apress
Stencyl. http://www.stencyl.com [Online; Last accessed: 2019-1-8] (January 2019)
Treglia D (2002) Game programming gems 3. Game Programming Gems Series, Charles River Media
Tufte ER (2006) The cognitive style of powerPoint: pitching out corrupts within, 2nd ed
Unity 3D Engine. Unity. http://www.unity3d.com [Online; Last accessed: 2019-1-8] (January 2019)
Unreal Engine, Epic games. http://www.unrealengine.com [Online; Last accessed: 2019-1-8] (January 2019)
Valcasara N (2005) Unreal engine game development blueprints. Packt Publishing
Van der Spuy R (2015) Learn Pixi. js. Apress
Williams D (2002) Structure and competition in the u.s. home video game industry. Int J Media Manag 4(1):41–54
Wing JM (2008) Computational thinking and thinking about computing. Philos Trans R Soc A Math Phys Eng Sci 366(1881):3717–3725
Wing JM (2006) Computational thinking. Commun ACM 49(3):33–35
Wooldridge M, Jennings NR (1995) Intelligent agents: theory and practice. Knowl Eng Rev 10(2):115–152
Yao J, Pan Y, Yang S, Chen Y, Li Y (2019) Detecting fraudulent financial statements for the sustainable development of the socio-economy in China: a multi-analytic approach. Sustainability 11(6):1579
Zarraonandia T, Diaz P, Aedo I (2017) Using combinatorial creativity to support end-user design of digital games. Multimed Tools Appl 76(6):9073–9098
Zarraonandia T, Diaz P, Aedo I, Ruiz MR (2015) Designing educational games through a conceptual model based on rules and scenarios. Multimed Tools Appl 74(13):4535–4559
Acknowledgements
This work has been supported by the Ministry of Science and Technology (TIN2016- 75866-C3-1-R) and the Universitat Jaume I research project (UJI-B2018-56). Furthermore, this work has been made possible thanks to the graphics resources created by Kenney from Kenney.nl.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Chover, M., Marín, C., Rebollo, C. et al. A game engine designed to simplify 2D video game development. Multimed Tools Appl 79, 12307–12328 (2020). https://doi.org/10.1007/s11042-019-08433-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11042-019-08433-z