graphic representation of the structure and the simu-
lation of the falling motion. If we have to evaluate
every single individual in the population, we will not
be able to cover enough of the free-form search space
to find a good enough solution. So we must minimize
the actual number of structures that are simulated by
applying heuristics to the data structure and assigning
it a fitness even before the simulation. Additionally,
we will try to improve the design of the fitness func-
tion so that it does not focus only on creating stable
structures, but also structures that have a better ap-
pearance and aesthetics.
This paper is organized as follows: in the next sec-
tion, we present the state of the art in this type of
level generation, as well as its relation to the prob-
lem of generating structurally sound structures. Our
proposed method for generating Angry Birds levels
is described next in Section 3. The new experiments
performed for this paper and its results are presented
next in section 4. We present our conclusions in 5.
2 BACKGROUND AND STATE OF
THE ART
PCG used for video game levels is relevant in inter-
national artificial intelligence competitions, such as
Super Mario Level Generation (Shaker et al., 2012),
General Video Games (Khalifa, 2018; Khalifa et al.,
2016), or recently, for Angry Birds (Stephenson et al.,
2018). This work is related to works presented in pre-
vious editions of the competition. The focus of the
latest edition (Stephenson et al., 2018) was on find-
ing entertaining levels. Fun was the main factor in
the evaluation of proposals; secondary factors were
creativity and difficulty. Six entries participated, of
which J. Yuxuan et al., were able to generate random
quotations with different components of a level; J. Xu
et al. generated levels that look like pixel images. A
third approach (by C. Kocaogullar) translated music
patterns to generate structures. The winner was Iratus
Aves, a new iteration of the work by M. Stephenson
and J. Renz (Stephenson and Renz, 2017; Stephen-
son and Renz, 2016), which follows a constructive
method. In this work, the likelihood of selecting a
certain block is given by a probability table, which
was tuned using an optimization method. Blocks are
then stacked following a tree structure.
A constructive method ensures local stability, but
not global stability, which must be evaluated once the
whole structure is completed. One problem with this
and other constructive approaches is that the variety
of structures created is going to be relatively small;
monotony leads to boredom, decreasing playability.
On the other hand, generated structures are guaran-
teed to be structurally sound, and constructive ap-
proaches are generally faster than search-based pro-
cedures.
An alternative to deal with these limitations is to
follow a Search-based approach. Thus, Lucas Fer-
reira and Claudio Toledo (Ferreira and Toledo, 2014a;
Ferreira and Toledo, 2014b) presented a solution us-
ing a Genetic Algorithm (GA) and a clone of Angry
Birds named Science Birds developed to evaluate the
levels. In this GA, levels correspond to individuals in
a population, each individual has a chromosome rep-
resented by an array of lists. Each list is a sequence
of blocks, pigs and predefined compound blocks, us-
ing an identification number. Each list is then placed
as a stack of elements in the game. A level has sev-
eral such stacks. This representation also includes the
distances between stacks. The population is initial-
ized randomly following a probability table defining
the likelihood of a certain element being placed in a
certain position within a stack. This implies that a col-
umn or stack shape is chosen beforehand, once again
ensuring stability, but decreasing playability by gen-
erating structures whose only differences are which
blocks are placed on top of which.
Levels are evaluated executing them in the sim-
ulator and checking their average stability, consider-
ing the speed of every block when erected – which
must tend to be zero when having a stable structure –.
The authors designed specialized crossover and muta-
tion operators, aiming to maintain the consistency of
newly generated solutions.
The approach proposed by Stephenson et al.
(Stephenson and Renz, 2019) is based on agents, and
is focused on offering custom experience for specific
players. This approach builds on the previous paper
(Stephenson and Renz, 2018), which tries to create
deceptive levels that are able to minimize damages to
the structure in sequences of shots. Although the fo-
cus of this paper is in another different direction, our
constructive approach to design levels could be com-
plemented with different fitness scores, such as the
ones presented in Stephenson’s papers.
However, this work proposes a different approach:
free-form evolution. If we look outside the domain of
game development and focus on structural optimiza-
tion in architecture, there are several proposals using
search-based algorithms. We can find a metaheuristic
called Cuckoo Search (Gandomi et al., 2013) which
performance was tested with structural optimization.
However, this optimization is heavily parametrized
and we are looking for the evolution of structures that
do not follow a predefined pattern. Another approach
for structure design is using Generative Grammati-
ECTA 2019 - 11th International Conference on Evolutionary Computation Theory and Applications
238