Free Form Evolution for Angry Birds Level Generation

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11454)


This paper presents an original approach for building structures that are stable under gravity for the physics-based puzzle game Angry Birds, with the ultimate objective of creating levels with the minimum number of constraints. This approach consists of a search-based procedural level generation method that uses evolutionary algorithms. In order to evaluate the stability of the levels, they are executed in an adaptation of an open source version of the game called Science Birds. In the same way, an open source evolutionary computation framework has been implemented to fit the requirements of the problem. The main challenge has been to design a fitness function that, first, avoids if possible the actual execution of the simulator, which is time consuming, and, then, to take into account the different ways in which a structure is not structurally sound and consider them in different ways to provide a smooth landscape that eventually achieves that soundness. Different representations and operators have been considered and studied. In order to test the method four experiments have been carried out, obtaining a variety of stable structures, which is the first path for the generation of levels that are aesthetically pleasing as well as playable.


Search-based Procedural Content Generator Evolutionary algorithm Game development Angry Birds Level generation 



This paper has been supported in part by projects TIN2014-56494-C4-3-P s (Spanish Ministry of Economy and Competitiveness) and DeepBio (TIN2017-85727-C4-2-P).


  1. 1.
    Rovio Entertainment Corporation: Angry Birds official site. Accessed 22 May 2018
  2. 2. AIBIRDS CIG 2018 level generation competition (2018).
  3. 3.
    Togelius, J., Kastbjerg, E., Schedl, D., Yannakakis, G.N.: What is procedural content generation? Mario on the borderline. In: Proceedings of the 2nd International Workshop on Procedural Content Generation in Games, p. 3. ACM (2011)Google Scholar
  4. 4.
    Togelius, J., Shaker, N., Nelson, M.J.: Introduction. In: Shaker, N., et al. (eds.) Procedural Content Generation in Games. CSCS, pp. 1–15. Springer, Cham (2016). Scholar
  5. 5.
    Togelius, J., Yannakakis, G.N., Stanley, K.O., Browne, C.: Search-based procedural content generation. In: Di Chio, C., et al. (eds.) EvoApplications 2010. LNCS, vol. 6024, pp. 141–150. Springer, Heidelberg (2010). Scholar
  6. 6.
    Hastings, E.J., Guha, R.K., Stanley, K.O.: Evolving content in the galactic arms race video game. In: IEEE Symposium on Computational Intelligence and Games, CIG 2009, pp. 241–248. IEEE (2009)Google Scholar
  7. 7.
    Shaker, N., Togelius, J., Yannakakis, G.: Mario AI championship - level generation track (2012). Accessed 05 Nov 2018
  8. 8.
    Khalifa, A.: The general videogame AI competition - level generation track (2018). Accessed 05 Nov 2018
  9. 9.
    Khalifa, A., Perez-Liebana, D., Lucas, S.M., Togelius, J.: General video game level generation. In: Proceedings of the Genetic and Evolutionary Computation Conference, GECCO 2016, pp. 253–259. ACM, New York (2016)Google Scholar
  10. 10.
    Stephenson, M., Renz, J., Ferreira, L., Togelius, J.: 3rd Angry Birds level generation competition (2018). Accessed 05 Nov 2018
  11. 11.
    Stephenson, M., Renz, J.: Generating varied, stable and solvable levels for Angry Birds style physics games. In: IEEE Conference on Computational Intelligence and Games (CIG), pp. 288–295. IEEE (2017)Google Scholar
  12. 12.
    Stephenson, M., Renz, J.: Procedural generation of complex stable structures for Angry Birds levels. In: IEEE Conference on Computational Intelligence and Games (CIG), pp. 1–8. IEEE (2016)Google Scholar
  13. 13.
    Ferreira, L., Toledo, C.: A search-based approach for generating Angry Birds levels. In: IEEE Conference on Computational Intelligence and Games (CIG), pp. 1–8. IEEE (2014)Google Scholar
  14. 14.
    Gandomi, A.H., Yang, X.S., Alavi, A.H.: Cuckoo search algorithm: a metaheuristic approach to solve structural optimization problems. Eng. Comput. 29(1), 17–35 (2013)CrossRefGoogle Scholar
  15. 15.
    Hornby, G.S., Pollack, J.B.: The advantages of generative grammatical encodings for physical design. In: Proceedings of the 2001 Congress on Evolutionary Computation, vol. 1, pp. 600–607. IEEE (2001)Google Scholar
  16. 16.
    Ferreira, L.: Science birds. Accessed 17 June 2018
  17. 17.
    Thor, A.U.: Science birds adaptation.
  18. 18.
    Ericson, C.: Real-Time Collision Detection. CRC Press, Boca Raton (2004)CrossRefGoogle Scholar
  19. 19.
    Runarsson, T.P., Yao, X.: Evolutionary search and constraint violations. In: The 2003 Congress on Evolutionary Computation, CEC 2003, vol. 2, pp. 1414–1419. IEEE (2003)Google Scholar
  20. 20.
    Fortin, F.A., Rainville, F.M.D., Gardner, M.A., Parizeau, M., Gagné, C.: DEAP: evolutionary algorithms made easy. J. Mach. Learn. Res. 13, 2171–2175 (2012)MathSciNetzbMATHGoogle Scholar
  21. 21.
    Perone, C.S.: PyEvolve: a Python open-source framework for genetic algorithms. ACM SIGEVOlution 4(1), 12–20 (2009)CrossRefGoogle Scholar
  22. 22.
    Faris, H., Aljarah, I., Mirjalili, S., Castillo, P.A., Merelo, J.J.: EvoloPy: an open-source nature-inspired optimization framework in Python. In: Guervós, J.J.M., et al. (eds.) Proceedings of the 8th International Joint Conference on Computational Intelligence, IJCCI 2016, Volume 1: ECTA, Porto, Portugal, 9–11 November 2016, pp. 171–177. SciTePress (2016).
  23. 23.
    Calle, L.: Angry Birds level generator GitHub repository. Accessed 30 Oct 2018
  24. 24.
    Blum, M., Griffith, A., Neumann, B.: A stability test for configurations of blocks. Technical report, MIT (1970).

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.CITICUniversidad de GranadaGranadaSpain
  2. 2.Instituto Tecnológico de TijuanaTijuanaMexico

Personalised recommendations