Procedural Level Generation of Serious Games for Computational Thinking Development
Computational thinking is a grouping of techniques to organize problems and their respective solutions so that a computer can put them into practice, being an important skill for different areas beyond computer science. Serious games are games created with a purpose that goes beyond pure entertainment, for example, the development of computational thinking. Content is an essential component for serious games and one of the most laborious and time-consuming tasks for the development team, especially if such content requires adaptability to different types of players. Procedural generation methods solve part of the problem of creating content for games. However, when the objective is the development of player's skills, in addition to entertainment, greater control over the game being produced is required. A possible solution to this problem is to include the domain expert in this process so that he can define the required configurations and restrictions. In this context, this master’s dissertation aims to propose a mixed-initiative solution, which includes a procedural content generation algorithm and an artificial intelligence agent for the design of levels in a serious game of computational thinking development, of the puzzle genre, based on programming by blocks, with different degrees of complexity. For this, a literature review of the features of a serious game of computational thinking and the most used algorithms to create game levels under similar specificities was carried out. Then, the requirements were specified and a mixed-initiative system was built using reinforcement learning algorithms, accompanied by a game prototype. The system was tested and analyzed from its use and its implications were evaluated based on the tests carried out. As a result, a proof of concept solution was developed, formed by the mixed-initiative system and the game prototype, designed to receive the generated level representations. By evaluating the solution based on the tested aspects from its use, it was possible to identify scientific and computational contributions (a mixed-initiative technological solution containing a level generator, implemented with a reinforcement learning algorithm and a programming puzzle game prototype) and social (it is expected that the use of the game, with different levels generated by the solution, will enable the development of computational thinking).