Advertisement

A game engine designed to simplify 2D video game development

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.

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

Access options

Buy single article

Instant unlimited access to the full article PDF.

US$ 39.95

Price includes VAT for USA

Subscribe to journal

Immediate online access to all issues from 2019. Subscription will auto renew annually.

US$ 199

This is the net price. Taxes to be calculated in checkout.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

References

  1. 1.

    Ampatzoglou A, Stamelos I (2010) Software engineering research for computer games: a systematic review. Inf Softw Technol 52(9):888–901

  2. 2.

    Anderson EF, Engel S, McLoughlin L, Comninos P (2008) The case for research in game engine architecture:228–231

  3. 3.

    Bácsi S, Mezei G (2019) Towards a classification to facilitate the design of domain-specific visual languages. Acta Cybernetica 24(1):5–16

  4. 4.

    Biswas PK (2008) Towards an agent-oriented approach to conceptualization. Appl Soft Comput 8(1):127–139

  5. 5.

    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

  6. 6.

    Catto E (2011) Box2D: a 2D physics engine for games

  7. 7.

    Chang SE (2005) Computer anxiety and perception of task complexity in learning programming-related skills. Comput Hum Behav 21(5):713–728

  8. 8.

    Chao PY (2016) Exploring students’ computational practice, design and performance of problem-solving through a visual programming environment. Comput Educ 95:202–215

  9. 9.

    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

  10. 10.

    Chen WK, Cheng YC (2007) Teaching object-oriented programming laboratory with computer game programming. IEEE Trans Educ 50(3):197–203

  11. 11.

    Correa JDC (2015). Digitopolis II: creation of video games GDevelop. In: Correa JDC (ed) Bogotá

  12. 12.

    Davis FD (1989) Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Q 13(3):319–340

  13. 13.

    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

  14. 14.

    Dekhane S, Xu X (2012) Engaging students in computing using GameSalad: a pilot study. J Comput Sci Coll 28(2):117–123

  15. 15.

    Deloura M (2000) Game programming gems. Charles River Media, Inc., Rockland

  16. 16.

    Flowlab. https://flowlab.io/ [Online; Last accessed: 2019-1-8] (January 2019)

  17. 17.

    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

  18. 18.

    Furtado AW, Santos AL (2006) Using domain-specific modelling towards computer games development industrialization. In: The 6th OOPSL. A workshop on domain-specific modelling

  19. 19.

    Furtado AWB, Santos ALM, Ramalho GL, de Almeida ES (2011) Improving digital game development with software product lines. IEEE Softw 28(5):30–37

  20. 20.

    Game Maker. YoYo Games. http://www.yoyogames.com [Online; Last accessed: 2019-1-8] (January 2019)

  21. 21.

    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

  22. 22.

    Google Design. https://design.google [Online; Last accessed: 2019-1-8] (January 2019)

  23. 23.

    Gregory J (2014) Game engine architecture, 2nd edn. A. K. Peters, Ltd., Natick

  24. 24.

    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

  25. 25.

    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

  26. 26.

    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

  27. 27.

    Kiper JD, Howard E, Ames C (1997) Criteria for evaluation of visual programming languages. J Vis Lang Comput 8(2):175–192

  28. 28.

    Koulouri T, Lauria S, Macredie RD (2015) Teaching introductory programming: a quantitative evaluation of different approaches. ACM Trans Comput Educ (TOCE) 14(4):26

  29. 29.

    Lazar J, Feng J. H, Hochheiser H (2010) Research methods in human-computer interaction, Wiley

  30. 30.

    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

  31. 31.

    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

  32. 32.

    Matter.js. http://brm.io/matter-js [Online; Last accessed: 2019-8-24] (August 2019).

  33. 33.

    Menard M (2011) Game development with Unity, 1st edn. Course Technology Press, Boston

  34. 34.

    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

  35. 35.

    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

  36. 36.

    Millington I, Funge J (2009) Artificial intelligence for games, 2nd edn. Morgan Kaufmann Publishers Inc., San Francisco

  37. 37.

    Milne I, Rowe G (2002) Difficulties in learning and teaching programming—views of students and tutors. Educ Inf Technol 7(1):55–66

  38. 38.

    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

  39. 39.

    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

  40. 40.

    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

  41. 41.

    Reyno EM, Cubel JAC (2008) Model-driven game development: 2d platform game prototyping. In: GAMEON

  42. 42.

    Robins A, Rountree J, Rountree N (2003) Learning and teaching programming: a review and discussion. Comput Sci Educ 13(2):137–172

  43. 43.

    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

  44. 44.

    RPG Maker. https://www.rpgmakerweb.com [Online; Last accessed: 2019-1-8] (January 2019)

  45. 45.

    Salen K, Zimmerman E (2006) The game design reader: a rules of play anthology. MIT Press, Cambridge

  46. 46.

    Stemkoski L, Leider E (2017) Game development with construct 2: from design to realization, Apress

  47. 47.

    Stencyl. http://www.stencyl.com [Online; Last accessed: 2019-1-8] (January 2019)

  48. 48.

    Treglia D (2002) Game programming gems 3. Game Programming Gems Series, Charles River Media

  49. 49.

    Tufte ER (2006) The cognitive style of powerPoint: pitching out corrupts within, 2nd ed

  50. 50.

    Unity 3D Engine. Unity. http://www.unity3d.com [Online; Last accessed: 2019-1-8] (January 2019)

  51. 51.

    Unreal Engine, Epic games. http://www.unrealengine.com [Online; Last accessed: 2019-1-8] (January 2019)

  52. 52.

    Valcasara N (2005) Unreal engine game development blueprints. Packt Publishing

  53. 53.

    Van der Spuy R (2015) Learn Pixi. js. Apress

  54. 54.

    Williams D (2002) Structure and competition in the u.s. home video game industry. Int J Media Manag 4(1):41–54

  55. 55.

    Wing JM (2008) Computational thinking and thinking about computing. Philos Trans R Soc A Math Phys Eng Sci 366(1881):3717–3725

  56. 56.

    Wing JM (2006) Computational thinking. Commun ACM 49(3):33–35

  57. 57.

    Wooldridge M, Jennings NR (1995) Intelligent agents: theory and practice. Knowl Eng Rev 10(2):115–152

  58. 58.

    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

  59. 59.

    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

  60. 60.

    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

Download references

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

Correspondence to Carlos Marín.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

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 (2020). https://doi.org/10.1007/s11042-019-08433-z

Download citation

Keywords

  • Game Engine
  • 2D video games
  • Game editor
  • Game logic