Generative adversarial networks based level generation for angry birds

Yükleniyor...
Küçük Resim

Tarih

Bölüm / Program

Game and Interaction Technologies Programme

Dergi Başlığı

Dergi ISSN

Cilt Başlığı

Yayıncı

Graduate School

Özet

Recently, content generation has become one of the biggest challenges faced by creators. This process brings with it many conditions such as from the usefulness of the produced content to the environments to be used, to the production process, and to the originality of the content. Content generation has an important role in many fields from science to art, from art to technology. In these days, content generation is customized and used in many areas procedurally. Procedural content generation methods are frequently used in many computer science fields such as computer graphics, artificial intelligence, human-computer interaction. As Togelius described that as a result, PCG can be described as algorithmic game content development with little or indirect user input [1]. In video games, content can correspond to a wide variety of products. There are lots of examples for video game contents such as sound effects, music tracks, textures, materials, object models, world terrain, enemy placement, character development, and more. The most important point in algorithms which are used for PCG, is the implementation of randomness. A wide variety of outputs can be produced through the given parameters and the random functions used in the algorithm. Since this diversity in every game, can provide many benefits from having a rich content of the game to increasing its replayability. PCG methods were frequently used in the past because the resources and processing capabilities were limited. During this period, game manufacturers were also producing game content using PCG methods to run on devices with limited memory. As Joseph stated the game named Rogue, produced in 1980, was one of the remarkable turn-based games created using PCG technique [2]. Because of the memory constraints, Rogue was created using with generation algorithm. As Joel stated that Rogue was so successful, in fact, that it created a new subgenre of video games: the roguelike [3]. PCG was also used by game developers to make games different every time they are played. We can see the best example of this in the game named Diablo, which was developed by the Blizzard game company in 1996. In Diablo, players were procedurally encountering a completely randomly generated game map. In today's games, PCG is used in two different ways, online and offline. In the online method, the game content is created while the game is being played. Games can be more difficult depending on player plays, or game contents can be created differently in online PCG methods. The best example of online PCG games is the video game Spore, published by Electronic Arts. In this game, players can create characters as they wish by combining their characters with other contents they find in the game. Rather than having game designers create hundreds of 3-D models of game contents in preparation and program their behavior, he had his team create algorithms to animate the contents that are created by gamers using procedural generation [4]. In the offline method, the game content is created during the development process of the game and then included in the game. Content produced offline can be included directly in the game, or it can be added to the game after passing through the filters of the designers. No Man's Sky, developed by Hello Games, can be given as an example game whose content is created using the offline PCG method. In an unlimited randomly created galaxy, No Man's Sky is a videogame about discovery and surviving [5]. Different kinds of algorithms are preferred for PCG. As well as rule-based methods, evolutionary algorithms and methods based on machine learning can also be implemented in PCG. We can divide these algorithms into two groups as search-based approaches and constructive approaches [6]. The content produced by constructive algorithms is expected to be suitable for use, and the output is used as it is. Algorithms obtained by creating a set of rules are in this group called constructive. On the other hand, Search-based algorithms have a very different structure. As stated in the naming, they are used to find the most suitable generated content. In this method, the content is generated by the algorithm, tested, and then if it is accepted, it is used. Even if it is not suitable, new content is produced again and again until the most suitable one is found. Machine learning-based algorithms and evolutionary algorithms are good examples of search-based methods. The widespread use of PCG methods has enabled video game contents to be converted into data sets and shared. The creation of game corpuses also helped to use machine learning methods for PCG. In this way, both supervised and unsupervised machine learning methods became available. Along with the developing technology, deep learning methods also started to be used as a PCG method. Today, deep learning methods like Variational Autoencoders and Generative Adversarial Networks, are used for generating content studies. In this thesis, Generative Adversarial Network methods are implemented and examined to generate game content procedurally. Rovio Entertainment's Angry Birds is a popular physics-based game that was published in 2009 for mobile devices [7]. Angry Birds, like other physics games, was also used as a domain in PCG studies [8]. The physics constraints used in such games cause many problems for procedural level generation. These constraints also make it difficult to rate the quality of the generated levels of the game. As Shaker states, one of the most difficult aspects of creating game content is determining the quality of the created artifacts [9]. Due to a large number of situations and large movement areas in physics-based games, it is particularly difficult to verify the playability/solvability of the generated levels. In this thesis, a procedural content generation method is developed for generating levels of the Angry Birds. Since Angry Birds is a commercial video game, source codes are not shared by the Rovio company. Thus, the generated levels were tested and visualized on the clone Angry Birds game named Science Birds, developed by Lucas Ferreira [10]. In order to generate levels, three different Generative Adversarial Network architectures are implemented. The first of these architectures is the main form of Generative Adversarial Networks (GAN) introduced by Goodfellow [11]. The second of the examined architectures is the Deep Convolutional Generative Adversarial Networks (DCGAN) which are derived from Convolutional Neural Networks and were introduced by Alec Radford in 2015 [12]. The last of the architectures applied to generate levels is the Wasserstein Generative Adversarial Networks, which is the specialized version of the GAN [13]. Nowadays, deep learning methods have also become popular for procedural level generation, like as rule-based or evolutionary algorithms. Deep learning provides training using large data sets and provides an easier way to obtain features that are difficult to extract with numerical methods. With the ease of use of artificial neural networks, new Generative Adversarial Network architectures are proposed. In this thesis, the training data required to train GAN, were created using a rule-based Angry Birds level generator called Iratus Aves [14]. After the training levels were generated, optimizations like encoding were implemented on newly generated levels. These optimizations helped to improve the outputs of the GAN. Implementations made within the thesis have shown that GANs can also be used to generate levels procedurally in physics-based games such as Angry Birds. Since the generated levels are used in a physics-based game, the generated levels were evaluated according to performance criteria such as stability, playability, linearity, density, etc. As a consequence of the level expressivity analysis, it has been shown that Deep Convolutional Generative Adversarial Networks can be used successfully to generate levels of Angry Birds.

Tanım

Thesis (M.Sc.) -- İstanbul Technical University, Graduate School, 2022

Dergi veya Seri

ISSN

ISBN

Haklar

Anahtar Kelimeler

Content production, Producer networks, Angry Birds

Alıntı

Onay

Gözden geçir

Tamamlayıcı Bilgiler

Referans Gösteren

3

Views

20

Downloads