Elsevier

Computers & Graphics

Volume 25, Issue 6, December 2001, Pages 1041-1048
Computers & Graphics

Evolving L-systems to generate virtual creatures

https://doi.org/10.1016/S0097-8493(01)00157-1Get rights and content

Abstract

Virtual creatures play an increasingly important role in computer graphics as special effects and background characters. The artificial evolution of such creatures potentially offers some relief from the difficult and time consuming task of specifying morphologies and behaviors. But, while artificial life techniques have been used to create a variety of virtual creatures, previous work has not scaled beyond creatures with 50 components and the most recent work has generated creatures that are unnatural looking. Here we describe a system that uses Lindenmayer systems (L-systems) as the encoding of an evolutionary algorithm (EA) for creating virtual creatures. Creatures evolved by this system have hundreds of parts, and the use of an L-system as the encoding results in creatures with a more natural look.

Introduction

As computers become more powerful it is increasingly our design ability, rather than computing power, that limits the richness of virtual worlds. Evolutionary algorithms (EAs), a technique inspired by biological evolution, have shown much promise in automating the process of producing creatures for virtual environments, yet the most recent work in this area [1], [2] has produced ungainly creatures with less than 50 components. The asymmetries of these creatures is a result of using a direct encoding, an explicit encoding with a one-to-one mapping from genotypic encoding to creature-part. As direct encodings have no re-use, symmetries and regularities do not occur, except by chance, and evolved structures tend to be unnatural looking.

In this we return to the spirit of [3], in which a graph structure was used as a generative encoding for the creatures. A generative encoding is a developmental method for producing a structure using a set of grammatical re-writing rules or a procedural process, not unlike a computer program with re-usable sub-procedures. Designs produced by a generative encoding have fractal-like self-similarities, giving them an organic look, and have been shown to have better scaling properties than direct encodings [4], [5]. Here we use Lindenmayer systems (L-systems) [6] as a more powerful, and general purpose, generative encoding than that of [3] to achieve moving creatures with hundreds of parts whose structure is more natural looking than [1], [2].

More common than co-evolving morphology and controller has been work evolving controllers for pre-specified morphologies. Control systems for these works has included stimulus-response rules [7], [8], neural controllers [9], and genetic programs [10]. The controllers of the creatures in this work are oscillator circuits; each actuated joint is controlled by an oscillator with its own frequency and relative phase offset. To achieve controllers that are reactive to the environment joints can be controlled by recurrent neural networks, as with [1], [2], [3], by including neural-network construction commands into the encoding language [11].

In the following sections, we first outline the design space and describe the components of our generative design system, then we present our results and finally close with a discussion and conclusion of our work.

Section snippets

Methods

The system for producing moving creatures consists of an algorithm for optimizing creature designs, an encoding to represent the creatures for the optimization algorithm, and a method of constructing creatures from their encoding.

Evolutionary algorithms are used as the optimization algorithm for producing the virtual creatures. EAs are a class of stochastic search and optimization techniques inspired by natural evolution, these include genetic algorithms [12], evolutionary strategies [13],

Discussion

For this work, we used parametric L-systems as a way to increase complexity over basic L-systems. Using parameters also has the advantage of allowing one production rule to be used to generate a class of objects, such as by using the parameter to specify the size of an attribute generated by the production rule or number of times to perform a loop. In this way, parameters are analogous to the arguments of a function in a computer program and the evolution of an L-system becomes like the

Conclusion

A system for creating virtual creatures was achieved by using evolutionary techniques to evolve parametric Lindenmayer systems. Using this system, morphologies and controllers were evolved for moving creatures. The evolved creatures consist of an order of magnitude more parts and a higher degree of regularity than [1], [2], [3]. Already our creatures are capable of playing background characters with insect-level behaviors for animations. As we move from simple oscillator circuits to

Acknowledgements

This research was supported in part by the Defense Advanced Research Projects Administration (DARPA) Grant, DASG60-99-1-0004. The authors would like to thank the members of the DEMO Lab: A. Bucci, E. DeJong, S. Ficici, P. Funes, S. Levy, H. Lipson, O. Melnik, E. Sklar, S. Viswanathan and R. Watson.

References (25)

  • M. Komosinski et al.

    From directed to open-ended evolution in a complex simulation model

  • H. Lipson et al.

    Automatic design and manufacture of robotic lifeforms

    Nature

    (2000)
  • Sims K. Evolving virtual creatures. SIGGRAPH 94 Conference Proceedings, Orlando, FL, Annual Conference Series 1994. p....
  • Bentley P, Kumar S. Three ways to grow designs: a comparison of embryogenies of an evolutionary design problem. In:...
  • Hornby GS, Pollack JB. The advantages of generative grammatical encodings for physical design. Congress on Evolutionary...
  • Lindenmayer A. Mathematical models for cellular interaction in development. parts I and II. Journal of Theoretical...
  • Ngo JT, Marks J. Spacetime constraints revisited. SIGGRAPH 93 Conference Proceedings, Anaheim, CA, Annual Conference...
  • van de Panne M, Fiume E. Sensor-actuator networks. SIGGRAPH 93 Conference Proceedings, Anaheim, CA, Annual Conference...
  • Grzeszczuk R, Terzopoulos D. Automated learning of muscle-actuated locomotion through control abstraction. SIGGRAPH 95...
  • L. Gritz et al.

    Genetic programming for articulated figure motion

    Journal of Visualization and Computer Animation

    (1995)
  • Hornby GS, Pollack JB. Body–brain coevolution using L-systems as a generative encoding. Genetic and Evolutionary...
  • J.H. Holland

    Adaptation in natural and artificial systems

    (1975)
  • Cited by (80)

    • Topological evolution for embodied cellular automata

      2016, Theoretical Computer Science
      Citation Excerpt :

      Other methods of self-excitation were explored (such as touch-sensitive sensors that would excite a voxel if it made contact with the ground), but these were not found to provide significantly more interesting behavior in initial studies (as these often excited at a regular pace with the stepping of the creature), and thus will not be the focus of this paper. The notion of a sinusoidal oscillatory input to controller has been used previously in evolutionary robotics [10,17]. The combination of morphology and control in these creatures results in a locomotion behavior inside this simulated physical world, with some creatures able to move more efficiently than others.

    • Jaws 30

      2023, Genetic Programming and Evolvable Machines
    • Efficient automatic design of robots

      2023, Proceedings of the National Academy of Sciences of the United States of America
    View all citing articles on Scopus
    View full text