{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,13]],"date-time":"2026-05-13T07:24:17Z","timestamp":1778657057264,"version":"3.51.4"},"reference-count":38,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2025,1,15]],"date-time":"2025-01-15T00:00:00Z","timestamp":1736899200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,1,15]],"date-time":"2025-01-15T00:00:00Z","timestamp":1736899200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100016386","name":"Conselleria de Innovaci\u00f3n, Universidades, Ciencia y Sociedad Digital, Generalitat Valenciana","doi-asserted-by":"publisher","award":["CIAICO\/2021\/037"],"award-info":[{"award-number":["CIAICO\/2021\/037"]}],"id":[{"id":"10.13039\/501100016386","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004837","name":"Ministerio de Ciencia e Innovaci\u00f3n","doi-asserted-by":"publisher","award":["PID2023-149976OB-C21"],"award-info":[{"award-number":["PID2023-149976OB-C21"]}],"id":[{"id":"10.13039\/501100004837","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004834","name":"Universitat Jaume I","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100004834","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Multimedia Systems"],"published-print":{"date-parts":[[2025,2]]},"abstract":"<jats:title>Abstract<\/jats:title>\n          <jats:p>The process of video game development is complex, requiring proficiency in various technologies for design and implementation, including mastery of game engines and associated programming languages. Defining the behaviors of game elements within the necessary subprocesses poses a significant challenge. This challenge arises partly due to the utilization of general-purpose programming languages, which offer a wide range of options and allow tasks to be approached from different angles. This study introduces GameScript, a simplified scripting language designed for video game development. Based on principles of structured programming and inspired by the While language, GameScript focuses on essential game behavior definitions using a limited set of statements, including IF-THEN-ELSE selection and operations related to game elements to create and destroy them, or to modify properties. By using only numeric variables and simple arithmetic and relational operators, GameScript simplifies data handling and allows for the creation of various arcade games with straightforward syntax. Integrated into a multi-agent system game engine, GameScript has been validated through the successful implementation of diverse arcade game mechanics, demonstrating its effectiveness.<\/jats:p>","DOI":"10.1007\/s00530-024-01574-8","type":"journal-article","created":{"date-parts":[[2025,1,15]],"date-time":"2025-01-15T13:54:03Z","timestamp":1736949243000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["GameScript: a simplified scripting language for video game development"],"prefix":"10.1007","volume":"31","author":[{"given":"Carlos","family":"Mar\u00edn-Lora","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Miguel","family":"Chover","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2025,1,15]]},"reference":[{"key":"1574_CR1","doi-asserted-by":"crossref","unstructured":"Toftedahl, M., & Engstr\u00f6m, H. (2019). A taxonomy of game engines and the tools that drive the industry. In DiGRA 2019, The 12th Digital Games Research Association Conference, Kyoto, Japan, August 6-10, 2019. Digital Games Research Association (DiGRA).","DOI":"10.26503\/dl.v2019i1.1077"},{"key":"1574_CR2","doi-asserted-by":"crossref","unstructured":"Gregory, J. (2018). Game engine architecture. crc Press.","DOI":"10.1201\/9781315267845"},{"key":"1574_CR3","doi-asserted-by":"crossref","unstructured":"Anderson, E. F. (2011, May). A classification of scripting systems for entertainment and serious computer games. In 2011 Third International Conference on Games and Virtual Worlds for Serious Applications (pp. 47-54). IEEE.","DOI":"10.1109\/VS-GAMES.2011.13"},{"key":"1574_CR4","unstructured":"Nystrom, R. (2014). Game programming patterns. Genever Benning."},{"issue":"8","key":"1574_CR5","doi-asserted-by":"publisher","first-page":"819","DOI":"10.1002\/(SICI)1097-024X(19980710)28:8<819::AID-SPE184>3.0.CO;2-O","volume":"28","author":"BW Kernighan","year":"1998","unstructured":"Kernighan, B.W., Wyk, C.J.V.: Timing trials, or the trials of timing: experiments with scripting and user-interface languages. Software. Pract. Exp. 28(8), 819\u2013843 (1998)","journal-title":"Software. Pract. Exp."},{"issue":"10","key":"1574_CR6","doi-asserted-by":"publisher","first-page":"46","DOI":"10.1145\/971564.971592","volume":"1","author":"AM Phelps","year":"2004","unstructured":"Phelps, A.M., Parks, D.M.: Fun and Games: Multi-Language Development: Game development can teach us much about the common practice of combining multiple languages in a single project. Queue 1(10), 46\u201356 (2004)","journal-title":"Queue"},{"issue":"5","key":"1574_CR7","doi-asserted-by":"publisher","first-page":"366","DOI":"10.1145\/355592.365646","volume":"9","author":"C B\u00f6hm","year":"1966","unstructured":"B\u00f6hm, C., Jacopini, G.: Flow diagrams, Turing machines and languages with only two formation rules. Commun. ACM 9(5), 366\u2013371 (1966)","journal-title":"Commun. ACM"},{"key":"1574_CR8","volume-title":"Semantics with applications","author":"HR Nielson","year":"1992","unstructured":"Nielson, H.R., Nielson, F.: Semantics with applications, vol. 104. Wiley, Chichester (1992)"},{"key":"1574_CR9","unstructured":"Nielson, F., Nielson, H. R., & Hankin, C. (2004). Principles of program analysis. Springer Science & Business Media."},{"key":"1574_CR10","doi-asserted-by":"publisher","DOI":"10.1016\/j.advengsoft.2019.102732","volume":"140","author":"C Mar\u00edn-Lora","year":"2020","unstructured":"Mar\u00edn-Lora, C., Chover, M., Sotoca, J.M., Garc\u00eda, L.A.: A game engine to make games as multi-agent systems. Adv. Eng. Softw. 140, 102732 (2020)","journal-title":"Adv. Eng. Softw."},{"key":"1574_CR11","doi-asserted-by":"crossref","unstructured":"Mar\u00edn-Lora, C., Cerc\u00f3s, A., Chover, M., & Sotoca, J. M. (2020, April). A First Step to Specify Arcade Games as Multi-agent Systems. In the World Conference on Information Systems and Technologies (pp. 369-379). Springer, Cham.","DOI":"10.1007\/978-3-030-45688-7_38"},{"key":"1574_CR12","unstructured":"Becker, K., & Parker, J. R. (2005). All I ever needed to know about programming, I learned from re-writing classic arcade games. In Future play, the international conference on the future of game design and technology."},{"issue":"1","key":"1574_CR13","first-page":"1","volume":"4","author":"P Sweetser","year":"2005","unstructured":"Sweetser, P., Wiles, J.: Scripting versus emergence: issues for game developers and players in game environment design. Int. J. Intell. Games. Simulat. 4(1), 1\u20139 (2005)","journal-title":"Int. J. Intell. Games. Simulat."},{"key":"1574_CR14","unstructured":"Varanese, A. (2002). Game Scripting Mastery (Premier Press Game Development (Paperback)). Course Technology Press."},{"issue":"2006","key":"1574_CR15","first-page":"323","volume":"6","author":"D Garc\u00e9s","year":"2006","unstructured":"Garc\u00e9s, D.: Scripting language survey. Game. Programm. Gems. 6(2006), 323\u2013340 (2006)","journal-title":"Game. Programm. Gems."},{"key":"1574_CR16","unstructured":"Sewell, B. (2015). Blueprints Visual Scripting for Unreal Engine. Packt Publishing Ltd."},{"key":"1574_CR17","unstructured":"Rebollo, C., Mar\u00edn-Lora, C., Remolar, I., & Chover, M. (2018). Gamesonomy vs Scratch: Two Different Ways to Introduce Programming. International Association for Development of the Information Society."},{"key":"1574_CR18","unstructured":"Wilcox, B. (2007, April 12). Reflections on building three scripting languages. Retrieved January 31, 2024, from https:\/\/www.gamedeveloper.com\/programming\/reflections-on-building-three-scripting-languages"},{"key":"1574_CR19","unstructured":"Dijkstra, E. W. (1970). Notes on structured programming."},{"key":"1574_CR20","unstructured":"Mills, H. D. (1972). Mathematical foundations for structured programming."},{"issue":"2","key":"1574_CR21","doi-asserted-by":"publisher","first-page":"159","DOI":"10.1016\/S0019-9958(77)90344-8","volume":"35","author":"RE Prather","year":"1977","unstructured":"Prather, R.E.: Structured turing machines. Inf. Control. 35(2), 159\u2013171 (1977)","journal-title":"Inf. Control."},{"key":"1574_CR22","unstructured":"Mirkowska, G. (1972). Algorithmic logic and its applications. Doctoral diss., Univ. of Warsaw."},{"key":"1574_CR23","unstructured":"Dahl, O. J., Dijkstra, E. W., & Hoare, C. A. R. (Eds.). (1972). Structured programming. Academic Press Ltd."},{"issue":"7","key":"1574_CR24","doi-asserted-by":"publisher","first-page":"379","DOI":"10.1145\/358886.358892","volume":"23","author":"D Harel","year":"1980","unstructured":"Harel, D.: On folk theorems. Commun. ACM 23(7), 379\u2013389 (1980)","journal-title":"Commun. ACM"},{"key":"1574_CR25","unstructured":"Ashcroft, E., & Manna, Z. (1979). The translation of \u201cgo to\u201dprograms to \u201cwhile\u201d programs. In Classics in software engineering (pp. 49-61)."},{"issue":"3","key":"1574_CR26","doi-asserted-by":"publisher","first-page":"232","DOI":"10.1016\/S0022-0000(74)80043-7","volume":"9","author":"SR Kosaraju","year":"1974","unstructured":"Kosaraju, S.R.: Analysis of structured programs. J. Comput. Syst. Sci. 9(3), 232\u2013255 (1974)","journal-title":"J. Comput. Syst. Sci."},{"key":"1574_CR27","doi-asserted-by":"crossref","unstructured":"Kozen, D., & Tseng, W. L. D. (2008, July). The B\u00f6hm\u2013Jacopini theorem is false, propositionally. In the International Conference on Mathematics of Program Construction (pp. 177-192). Springer, Berlin, Heidelberg.","DOI":"10.1007\/978-3-540-70594-9_11"},{"issue":"6","key":"1574_CR28","doi-asserted-by":"publisher","first-page":"362","DOI":"10.1016\/j.jlap.2011.04.008","volume":"80","author":"K Solin","year":"2011","unstructured":"Solin, K.: Normal forms in total correctness for while programs and action systems. J. Logic Algebraic Program. 80(6), 362\u2013375 (2011)","journal-title":"J. Logic Algebraic Program."},{"key":"1574_CR29","unstructured":"Gurevich, Y., & B\u00f6rger, E. (1995). Evolving algebras 1993: Lipari guide. Evolving Algebras, 40."},{"key":"1574_CR30","doi-asserted-by":"crossref","unstructured":"Dershowitz, N. (2012). The generic model of computation. arXiv preprint arXiv:1208.2585.","DOI":"10.4204\/EPTCS.88.5"},{"issue":"12","key":"1574_CR31","doi-asserted-by":"publisher","first-page":"735","DOI":"10.1145\/355588.365140","volume":"7","author":"DE Knuth","year":"1964","unstructured":"Knuth, D.E.: Backus normal form vs backus naur form. Communicat. ACM. 7(12), 735\u2013736 (1964)","journal-title":"Communicat. ACM."},{"key":"1574_CR32","doi-asserted-by":"crossref","unstructured":"Daissaoui, A. (2010, May). Applying the MDA approach for the automatic generation of an MVC2 web application. In 2010 Fourth International Conference on Research Challenges in Information Science (RCIS) (pp. 681-688). IEEE.","DOI":"10.1109\/RCIS.2010.5507266"},{"key":"1574_CR33","doi-asserted-by":"crossref","unstructured":"Chover, M., Mar\u00edn-Lora, C., Rebollo, C., & Remolar, I. (2020). A game engine designed to simplify 2D video game development. Multimedia Tools and Applications, 1-22.","DOI":"10.1007\/s11042-019-08433-z"},{"key":"1574_CR34","unstructured":"Wooldridge, M. (2009). An introduction to multiagent systems. John Wiley & sons."},{"key":"1574_CR35","unstructured":"Fiedler, G. (2004, June 10). Fix your timestep! Retrieved January 31, 2024, from https:\/\/gafferongames.com\/post\/fix_your_timestep"},{"key":"1574_CR36","unstructured":"Wilensky, U. (2001). NetLogo Tetris model. http:\/\/ccl.northwestern.edu\/netlogo\/models\/Tetris. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL"},{"key":"1574_CR37","doi-asserted-by":"crossref","unstructured":"Mar\u00edn-Lora, C., & Chover, M. (2023, September). A Multi-agent Sudoku Through the Wave Function Collapse. In the European Conference on Multi-Agent Systems (pp. 381-395). Cham: Springer Nature Switzerland.","DOI":"10.1007\/978-3-031-43264-4_24"},{"key":"1574_CR38","doi-asserted-by":"crossref","unstructured":"Mar\u00edn-Lora, C., Chover, M., & Sotoca, J. M. (2022). A Multi-agent Specification for the Tetris Game. In Distributed Computing and Artificial Intelligence, Volume 1: 18th International Conference 18 (pp. 169-178). Springer International Publishing.","DOI":"10.1007\/978-3-030-86261-9_17"}],"updated-by":[{"DOI":"10.1007\/s00530-025-01837-y","type":"correction","label":"Correction","source":"publisher","updated":{"date-parts":[[2025,5,16]],"date-time":"2025-05-16T00:00:00Z","timestamp":1747353600000}}],"container-title":["Multimedia Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00530-024-01574-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s00530-024-01574-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s00530-024-01574-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,5,17]],"date-time":"2025-05-17T05:58:01Z","timestamp":1747461481000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s00530-024-01574-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,1,15]]},"references-count":38,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2025,2]]}},"alternative-id":["1574"],"URL":"https:\/\/doi.org\/10.1007\/s00530-024-01574-8","relation":{},"ISSN":["0942-4962","1432-1882"],"issn-type":[{"value":"0942-4962","type":"print"},{"value":"1432-1882","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,1,15]]},"assertion":[{"value":"1 March 2024","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"7 November 2024","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"15 January 2025","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"16 May 2025","order":4,"name":"change_date","label":"Change Date","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"Correction","order":5,"name":"change_type","label":"Change Type","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"A Correction to this paper has been published:","order":6,"name":"change_details","label":"Change Details","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"https:\/\/doi.org\/10.1007\/s00530-025-01837-y","URL":"https:\/\/doi.org\/10.1007\/s00530-025-01837-y","order":7,"name":"change_details","label":"Change Details","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare no competing interests.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}}],"article-number":"70"}}