gameplay-based optimization of a simple 2d side

GAMEPLAY-BASED OPTIMIZATION OF A SIMPLE
2D SIDE-SCROLLING MOBILE GAME USING
ARTIFICIAL EVOLUTION
EU CHUN VUI
FACULTY OF COMPUTING AND INFORMATICS
UNIVERSITY MALAYSIA SABAH
2015
ABSTRACT
Evolutionary Computing (EC) is an optimization approach in which the algorithm is mimicking the
evolution process of a biological creature. It is commonly used in evolving a system especially on
automatically generating contents. EC makes the system able to evolve and allows it to adapt
accordingly. In this research, a general purpose optimization method known as hybridized
Interactive Differential Evolution (IDE) which is an efficient and robust optimizer was used to
optimize the performance space of a 2D side-scrolling game. This research presents the possibilities
of implementing evolutionary algorithm on a mobile platform. A flappy-bird like side scrolling game
is implemented with IDE. The interactive evaluation method is used to replace the standard usage of
fitness functions to examine the extent and possibilities of interactive evolution to produce
favorable outputs based on the user‟s preferences. This study reports how the IDE algorithm
performed on the game developed for real value optimization of automatic content generation
(ACG). The content generation method was used in this research area in terms of effectively
generating favorable game content with by reducing catastrophic failure to improve the playability
based on the player‟s preferences. The efficacy of an optimization method often depends greatly on
the choosing of a number of different control parameters. Experiments were conducted to identify
the possibilities of tuning parameters in IDE. Results include IDE‟s performance of parameter turning
on different population sizes (N), crossover rates (CR) and mutation scale factor (F), which were used
to identify the extent of the evolution outcomes. The inter-relation between the parameters tuned
was also analyzed. This research shows that in the usage of a larger population size (N) to yield a
more favorable evolution state, IDE behaves differently at low and high CR although both extremes
can produce effective searches.
CHAPTER 1
INTRODUCTION
1.1 Introduction
This chapter gives a general overview and background of this project. This project uses Lua
programming to built a side-scrolling game and implement evolutionary algorithm to evolve
the mobile game. In this project, the scope will be focus on evolving game rulesets and
scoring concept.
1.2 Problem Background
Nowadays, serious games are built in many different areas. In this context, serious games
are applications developed with gaming technology and design principles which have
training, simulation or education while entertaining the user as a primary purpose. The
recent achievements of video games, computer graphics, and computer hardware gave a
large support to the development of serious games. A serious game‟s primary goal is not
entertainment, but they can be entertainment games applied in a different manner and in a
different scope. One of it is in the form of mobile application.
Over decades, games have become increasingly realistic in their visual and auditory
presentation. However, some of the game AI which is usually based on non-adaptive
techniques. A major disadvantage of non-adaptive game AI is that once a weakness is
discovered, nothing stops the human player from exploiting discovery. This could be
resolved by implementing a game AI with adaptive behaviour, for example to learnt from
what is wrong or insufficient. By using the idea of machine-learning techniques, for example
evolutionary algorithm, we should be able to improve an agent‟s performance from time to
time. 2
In recent researches, we have seen large number of methods for generating content for
existing games. So, if you already have a game, you could generate everything on it, for
example; maps, terrain, vegetation, dungeons and racing tracks. Some studies have used
content generator in developing even behavior and game rules. Togelius and Schmidhuber
had evolved a pac-man maze game starting from a zero platform, without game rules
(Togelius, Schmidhuber, 2008). By evolving the game rules and scoring, we could make the
game to be more interesting. Based on this idea, we will make a research on how are we
able to improvise this idea on mobile platform using Interactive Differential Evolution (IDE)
to evolve the optimization phases of the game.
1.3 Problem Statement
One of the problem involving content generation is that at times, the game generated can
be too simple to be played nor unplayable. Example, in the game of Super Mario, the hills
are too high for Mario to jump over or the obstacles are too big to be avoided. Besides,in
some cases, the same content could be repeatedly generated. To improve a game‟s
performance, we should know how the agent in the game works and understands how the
environment affects the agent. This is why game rules is important on evaluating how good
or bad a game is. It is to take note that by using automated content generation, the game
should adapted to the user‟s capability in which the game shouldnt be too hard to play. It
should be able to adjust its content to serve player needs. For example, we can make the
game to be focusing on adaptive difficulty in which the game becomes more difficult based
on player‟s experience level.
1.4 Short description of the project
In this project, a side-scrolling mobile game “Space Block” will be evolved by using
Interactive Differential Evolution (IDE) in which every time a game is played, the game‟s
concept (game rules and scoring) is changed according to the player‟s experience. Every
time the game is played, player will be needed to evaluate the game as replacement for
fitness evaluation. In this game, the player would be able to control a character as seen in
the famous mobile game “flappy bird” in a upward
and downward motion to avoid certain moving obstacles which will causes effects on 3
the gameplay such as death.
1.5 Hypothesis
The hypothesis of this project is that it is possible to design and implement an differential
evolution algorithm that will enhance the gameplay‟s performance to a certain positive
extend after the game is subjected to several number of gameplays.
1.6 Objective
The objectives are as follow:
1. Identify suitable encoding mechanism to be able to auto evolve game rules and
scoring system.
2. To implement an interactive gaming interface for evolution in game rules and score.
3. To test and evaluate game-based evolutionary gaming system based on player‟s
feedback who have different level of gaming experiences.
1.7 Scope
1. This project is focused on developing an evolutionary algorithm based on
Differential Evolution which is able to improve the game‟s concept from previous gameplay
experience.
2. This project is focused on evolving the progress of the game based on game rules and
scoring.
3. The game is focused on development of a single player side-scrolling game and not
involving multiplayer control.
4
1.8 Organization of the report
Chapter 1 of the report present about the general information of doing the research work.
Problem statement and problem background is stated to give a clearer understanding why
the work should be done. Hypothesis, objective and scope is also defined to make the vision
clearer.
Chapter 2 of the report discuss about the types of mobile game and the history of where it
comes from. Besides, it will discuss about the taxonomy on bigger scope EA branching to
smaller factors that is relevant in this research work on evolving the mobile game. Other
than that, the reason why the possible EA and Procedural Content Generation (PCG) method
used are explained followed by examples of existing research works being done on evolving
rule sets and scoring in game. Critical Summary and relevant research questions are stated
out to provide a clearer understanding on the works to be done.
Chapter 3 of the report discuss in details about the process model and methods that will be
used throughout this research work. The flow of the standard Evolutionary Algorithm (EA) is
explained and representation used on evolutionary stages are discussed.
Chapter 4 discuss about the structure of the algorithm used in this research work which is
Interactive Differential Evolution (IDE). Each stages of IDE is explained step by step to
provide a better visualize view on how the algorithm is implemented to aids in this project.
Chapter 5 discuss on the implementation works that are done throughout the project.
Anatomy of game is stated. Print screens of the code fragment are on both game and EA
module are shown and further discussed. Functions of codes are explained followed by the
screenshots of the finalized prototype.
Chapter 6 discuss about the setup of all of the experiments done in this project work.
Experiment 1 are done by allocating different population size (N) followed by experiment 2
by using different crossover rate (CR). Experiment 3 are done by tuning the mutation scale
factor (F) in IDE used in this project. Some examples of print 5
screens on player rated game are shown with provided descriptions. After all experiments
were done, final testing is conducted by new different set of evaluators on determining the
favorable of the evolved game.
Chapter 7 discuss about the summary of the research project done. Limitations are identified
followed by further future recommendations that could be done.