Software engineering makes games more exciting

Creating good games with interesting game experiences is difficult. Software engineer Riemer van Rozen developed a domain-specific programming language (DSL) for games that allows game designers to design better games, in a faster way.

Publication date
19 Feb 2020

Games affect the lives of billions of players around the world, but creating good games with interesting game experiences is difficult. Software engineer Riemer van Rozen developed a domain-specific programming language (DSL) for games that allows game designers to design better games, in a faster way. Van Rozen, who is employed by the Amsterdam University of Applied Sciences (HvA), did his research at Centrum Wiskunde & Informatyica (CWI) in Amsterdam and defended his PhD thesis ‘Languages of Games and Play: Automating Game Design & Enabling Live Programming’ at the University of Amsterdam (UvA) on 19 February 2020.

Riemer van Rozen says: “Developing good game software is incredibly complicated because game design is intrinsically complex. Games cause experiences that are called gameplay, such as fun, conviction and learning. For this, game designers must continuously explore alternative choices, such as the role of life elixir or gems in new puzzles and strategies. This is part of the ‘internal economy’ of the game, a control system that determines the game experience. Game designers improve the quality step-by-step by constantly forming game hypotheses, making abstract prototypes and testing in interactive sessions how the rules of the game affect players. Unfortunately, the intended and actual gameplay appears to vary often. The maximum number of iterations to improve a game determines the quality you can achieve ”.

He continues: "Game designers can do their job better if they can work more autonomously, faster and in a more focused way. With the visual programming language we have developed, Micro-Machinations, designers can adjust the rules of the game live, receive continuous feedback on the changed rules and use their evolving insight to improve the game". In addition to developing a DSL for games, Van Rozen mapped out more than 100 game languages and related success criteria for interesting gaming experiences.

Van Rozen studies how visual programming languages can help automate game design. He does this by researching how generic language technology can be applied and developed. He offers game developers and game designers abstractions and notations that help increase their productivity, shorten iteration times, and improve the quality of game experiences and the source code of a game. In his PhD research, he linked the fields of software engineering, AI and game studies by relating languages for games.

Van Rozen conducted his research in the CWI research group Software Analysis and Transformation (SWAT). He tested his results together with, among others, indie game developers.

More information
• Supervisor: Prof. P. Klint (UvA and CWI), co-supervisor: Prof. T. van der Storm (CWI and RUG)
SWAT homepage at CWI
• The website of the project: http://livegamedesign.github.io
• HvA department: https://playandcivicmedia.com
• UvA department: https://ivi.uva.nl