Nerve Garden: face to face with life in VRML 2.0 worlds

Bruce Damer
DigitalSpace Corporation
343 Soquel Avenue, Suite 70
Santa Cruz, CA 95062 USA
Tel:
E-mail: our Webmaster

Tim Riley
dFORM
457 Bryant Street
San Francisco, CA 94107 USA
Tel: +1-415 357-1555
E-mail: ryefish@dform.com


Abstract

Nerve Garden is a work in progress designed to bring the experience of life processes to a wide Internet audience and demonstrate the power and utility of version 2.0 of the Virtual Reality Modeling Language (VRML). Nerve Garden will combine several key technologies to create a compelling experience of a growing digital garden: VRML 2.0, L-Systems, neural networks, the World Wide Web and genetic coding techniques. Nerve Garden is a project of Biota.org, the Digital Biology Project, a collaboration between several companies (including the author's), universities and individuals. Nerve Garden borrows from the work of many other digital biology projects. This paper will take readers on an exploration of digital biology on the Internet, describe Nerve Garden and its benefits to the development of VRML 2.0, and call for participation in the project.


Figure 1: Eye level view of Nerve Garden in VRML 2.0


Introduction

Our fascination with creating new forms of life is very deep. For some of the alchemists of old Europe, the quest was not to transform lead into gold but to animate matter. More recently, genetic engineering has fueled Hollywood's depiction of godlike masters of both new and old life forms in such films as Jurassic Park.

The quest to emulate life also runs deeply through Computer Science. From the first stored program computer, the digital spaces manifested by software have presented a very inviting primordial soup. Today's computer viruses, which some claim is a form of digital proto-life, trace their origins to Conway's game of Life and back even further to Von Neumann's concept of automata. Recently, the new specialties of Artificial Life, Genetic Algorithms, Agents, and Object Oriented Programming have provided us algorithms and approaches to simulate simple ecologies [1]. We use the term "digital biota" to characterize software designed to emulate biological forms or behaviors.

The arrival of ubiquitous graphical computing systems connected by the Internet has given us the possibility that a vast interstitial space inhabited by autonomous, evolving digital biota might emerge within Cyberspace. A debate over the merits and perils of the unleashing of this "digital Cambrian explosion" is beyond the scope of this paper. Several forms of digital biota are now available on the Internet. We are developing Nerve Garden to extend the phenomenon of digital biota into the space of version 2.0 of the Virtual Reality Modeling Language (VRML).

Nerve Garden will combine several key technologies to create a compelling experience of a growing virtual garden: VRML 2.0, L-Systems, neural networks, the World Wide Web and genetic coding techniques. Nerve Garden is a project of Biota.org, the Digital Biology Project, a collaboration between several companies (including the author's), universities and individuals.

As Nerve Garden owes much of its conception and design to prior digital biota experiments, it is appropriate to now take a journey through digital jungle, circa 1996.

I. A Journey Through the Digital Jungle

In recent years, a number of distributed experiential digital biota environments have been developed for distribution on the Internet. We will tour a representative sample, including:

Discrete Dynamics Lab

Find the DDLab Homepage.


Figure 2: Visual output from DDLab


Discrete Dynamics Lab (DDLab) represents a class of programs which model Cellular Automata (CA). Christopher Langton [2] has been instrumental in stimulating the recent computer simulation of CA. These are simple finite state automata reading from a neighborhood of pixels or values. DDLab was developed at the Santa Fe Institute for research into complexity, emergent phenomena, neural networks, and aspects of theoretical biology including gene regulatory networks. Iterations of the network create visual displays like the one shown in Figure 2.

CAPOW from Rudy Rucker

Find the Boids homepage.


Figure 3: CAPOW running


CAPOW (figure 3) is another program for evolving one-dimensional CA systems. It is being developed by Rudy Rucker and students at San Jose State University for simulation of electric power grids and to find optimal solutions for problems within these grids. A commercial version of CAPOW, called "Boppers" has been distributed. The distinguishing feature of Boppers is that the CA objects move through the scene.

Boids

Find the Boids homepage.


Figure 4: Boids powered by Java


Craig W. Reynolds of the Silicon Studio at Silicon Graphics Incorporated developed "boids" to model coordinated animal motion, like the flocking behavior of birds or schools of fish. Figure 4 above shows a version of Boids running based on a Java applet. Boids is another demonstration the simple local rules (in this case, the reaction of close flockmates) can give rise to complex global behavior. Boids is also a potent demonstration of biological simulation within a three dimensional scene driven over the Internet. See [11] for a more in-depth treatment of flocking behavior and evolution in boid-class environments.

Live Artificial Life

Find the Live Alife homepage.


Figure 5: Live Artificial Life Swarm


Robert Silverman developed another collective animal behavior simulation called "Live Artificial Life Swarm" (figure 5) which runs over the Internet driven by server-side C programs and server push to deliver GIF images on the fly to users running web browsers. Swarm has an interface to allow users to change the seed populations and other factors and produces images like those shown in figure 4.

The Organic Art of William Latham

Find the Artworks homepage.


Figure 6: Organisms from the Virtual Garden


Computer artist William Latham working with Mark Atkinson developed a real-time 3D evolutionary image generator, which uses genetic programming to create compelling "organic sculptures". Several commercial and shareware products from Computer Artworks, including Virtual Garden (figure 6), Mutator (figure 7) and innovative, evolving screen savers.


Figure 7: Mutator growth sequences


Mutator emulates biological techniques such as cross-fertilization and mutation. Users are in control of the "natural" selection process and can evolve a whole genus of fascinating forms.

Tom Ray's Tierra

Find the: Tierra homepage.


Figure 8: Tierra in Operation


The Tierra Synthetic Life program developed by Tom Ray and the Artificial Life Monitor (ALmond) program developed by Marc Cygnus simulate creatures in digital primordial soup. Each Tierra virtual machine is a memory space filled by strings representing genomes, which seek to copy themselves, mutating in the process. Figure 8 shows a slice of this space, with each creature represented as a colored bar. In this scene, immune hosts battle with parasites, driving them into the top of the memory space.


Figure 9: Tierra represented in VRML


Tierra was brought to the Internet and to VRML when Dr. Ray distributed Tierra to run in as a distributed background process on thousands of machines, creating a "digital preserve". The goal of this project was to create a large environment for digital biota to evolve diverse and complex forms. Construct Internet Design of San Francisco (a participant in Biota.org) generated VRML 1.0 visualizations of the digital preserve (figure 9).

II. Nerve Garden and its Benefits to VRML

See the garden at: Biota.org homepage.

The application

Why are we developing the Nerve Garden? Our first goals for the project are to demonstrate the power of VRML 2.0 and provide a novel environment for people to learn about biology. The final application will allow users of the Internet to visit a website, choose one or more "seeds" and then enter a VRML 2.0 scene and "plant" those seeds in a plot, near other plantings. As we are using a standard for plant models, the L-System, there are thousands of interesting models in the literature. Users can develop new L-Systems and share their organic creations. Using the Nerves neural network engine, plants and whole gardens can be linked together and communicate over the Internet. As NerveScript is an open ASCII coding language, users will also be able to modify the behavior of plants or whole gardens and share behaviors.

Nerve Garden borrows from the prior art in the following ways:

The long view: a protoplasm for Cyberspace

A longer term goal is to institute a fundamental new infrastructure for shared virtual environments. VRML 2.0 and other scene description languages can describe the appearance of a world. In nature, the outer appearance of plants and animals hides the more fundamental processes within. The protoplasm of plants and animals flows unseen, carrying control information, memory, fuel and other stimuli. A dense web of communication binds together all organisms, especially social animals.

Facilities for the communication of stimulus and the accumulation of memory exist in VRML 2.0 and other environments but these are fairly rudimentary or are proprietary. Through extensions like plug-ins and extern PROTOs, the richness of behavior will increase. We are using Nerve Garden to test drive the Nerves engine and NerveScript. A successful proof of distributed neural network message processing within VRML 2.0 could enable Nerves to become a significant part of the protoplasm of Cyberspace.


Figure 10: Nerve Garden prototype growth sequence with four species



Figure 11: Nerve Garden prototype growth sequence



Nerve Garden Parts

Two growth sequences of the first prototype Nerve Garden can be seen in Figures 10 and 11. Four distinct species (L-system models) of plants were placed into a VRML 2.0 scenegraph. The broadleaf plants in the upper right were key framed to simulate the growing garden. The Nerves engine captured signals from mouse movements and generated the VRML nodes through a geometry exporter tied to the L-system models. Thus, proximate mouse movement could be used to stimulate plant growth. The entire Nerve Garden prototype is viewable, with its key frame animation in Cosmo Player beta 2 from SGI.

L-systems


Figure 12: Airhorse grown in VRML from L-Systems, 3000 polygons


The first building blocks of Nerve Garden are Lindenmayer systems, or L-systems for short. These are mathematical formalisms that consist of string rewriting rules. Rules define how one set of characters is replaced by another set. Assigning geometries to be generated for a given character in the changing string can yield realistic models of plants. This is a fractal process and is well suited for generating branches upon branches, or the radial geometries of flowers. L-systems have been used for years in computer graphics and are well developed. L-systems are well described in the context of virtual environments in [6, 7, 8, and 9].

Figure 12 above shows that animal forms can also be generated. The Airhorse shown here was exported into VRML from the Lparser engine from Laurens Lapre, a contributor to our efforts. Several lines from the L-system rewriting rules for Airhorse are shown in Code Sample 1 below. L-systems can grow very large so one challenge of the Nerve Garden was to select low polygon count models for plants.

V=[cc!!!&&&&&&&&&[Zp]|[Zp]]

p=h>>>>>>>>>>>>h>>>>>>>>>>>>h

h=[++++!F'''p]

#-------------------------------------- Head

H=[cccci[>>>>>dcFFF][<<<<

d=Z!&Z!&:'d # left

e=Z!^Z!^:'e # right

i=-:"i

#-------------------------------------- Wing

W=[%[!!cb][<<>>!!cb]]

Code Sample 1: L-System rewriting rules for Airhorse

Nerves neural network engine and NerveScript

The next building block of Nerve Garden is the Nerves neural network engine and its NerveScript coding language. Figure 13 shows the Nerves client "Amoeba" running under Windows 95. Nerves is a store and forward token network ingesting and processing arbitrary messages, such as events in VRML. From the figure above we can see nerve channels with messages, color coded in red and blue, flowing from one storage point to the next. Heuristic or other logical filters can be defined for branches and messages can themselves consist of whole Nerves networks (called "bundles").


Figure 13: Amoeba Client running NerveScript


Code Sample 2 below shows a sample of NerveScript, the encoding language which defines the neural networks for the Nerves engine. The sample below is exerpted from the behavioral control to drive a swimming fish. The sample defined 9 spinal cord segments stitched together with a brain stem bundle, defined elsewhere. For more information on NerveScript and Nerves, please see [3] below and visit the website address in the On-line References section below. The role of neural networks in artificial life systems is also document in [5].

# Second bundle: taking all tokens into a pool called spinalTap and letting the functions

# leftSwim, rightSwim and stopSwim test for them and set exposedFields bodyMotion[]

# to permit other nodes to display the fish in an undulating motion. The tokens are all

# passed on down the spinal cord to the next segment bundle through spinalTap.

DEF spinalCordSeg Bundle {

spinalTap=leftSwim-bodyMotion[]

spinalTap=rightSwim-bodyMotion[]

spinalTap=stopSwim-bodyMotion[]

# If this the last stitch in a repeating sequence, dump remaining messages

lastStitch-forgetAboutIt

}


# Now we use the Stitch keyword to connect the two Bundles and create a larger nerve net.

# Nine instances of the spinalCordSeg Bundle are stitched onto the frontEnd at the brainStem

# to simulate a fish with a long backbone.

DEF fishNerves Stitch {

frontEnd.brainStem TO 9[spinalCordSeg.spinalTap]

}

Code Sample 2: NerveScript sample encoding

Exercising VRML 2.0 features

New features within VRML 2.0 that we are using include key framing to stage the plant growth shown in figures 9 and 10. The next version of the garden will incorporate the use of proximity sensors to allow users to interact with the plant models as they grow and die. We are designing the ability of users to "water" and "prune" plants, using proximity and contact to interact with their organic creations. Event messages will be passed along using ROUTE statements to the client-side Nerves engine, which will process all stimuli through a neural network created for each plant. The overall scene will be controlled through other Nerves channels, routing messages to script nodes or a server side application.

The Future of Nerve Garden

Ultimately we hope to include multi-user avatars into Nerve Gardens to allow shared tending of garden plots. Working within bandwidth and polygon count constraints we hope to add moving artificial life forms similar to Craig Reynolds' Boids described above. These could be akin to birds or insects which will take advantage of the existing ecology of gardens and add a very compelling mix of new biota.

As both the NerveScript and L-System rules are represented as ASCII text files, they can be edited by hand to change the way a Nerve Garden runs or to modify the appearance and growth sequences of plants. We are hoping that this spawns an exchange of plant forms and the basic protoplasm within them.

Benefits to the VRML effort

We hope that Nerve Garden will serve as a powerful demonstration of the use of VRML 2.0 in science and education. With compelling scenes with low polygon count, interactivity, natural metaphors accessible to a wide audience, and the ease of propagating gardens and new plant forms we hope that Nerve Garden will also be a truly appropriate and refreshing new use of the Internet.

III. Call for Participation

The Nerve Garden project and its sponsor, Biota.org, invites your participation, as a contributor to basic software development, in the creative aspects of plant part design or in overall propagation of the approach. We plan to develop Nerve Garden to a level that it could be offered to schools and give students, young and old, a whole new way to experience and respect the processes of life on Earth. Feel free to contact the author at the email address at the beginning of this paper or reach us through our websites in the On-line References below.

Contributors and Acknowledgments

We would like to acknowledge and list the ongoing contributions of participating companies and individuals within Biota.org and its Nerve Garden project.

DigitalSpace Corporation, Santa Cruz CA, USA: for conception of the project and creation of the Nerves engine and NerveScript encoding, basic research and project coordination including the Biota.org website. See their website at: http://www.digitalspace.com.

Construct Internet Design, San Francisco CA, USA: for integration of the VRML 2.0 components of the early prototype garden, key framing models generated by Lparser. See their website at: http://www.construct.net.

Charles Ostman, Berkeley CA USA: for overall vision and direction of the project, and innovative synthetic organism design. See his website at: http://www.nanothinc.com/FractalWorld/nworld1.html.

Czech Technical University, Prague, Czech Republic: Dr. Pavel Slavik and Ales Holecek of Metatools for Nerves plug-in source code from their L-System generator. See their website at: http://sgi.felk.cvut.cz/~benes/.

Laurens Lapre, CMG, Den Haag, the Netherlands: for their contribution of the initial Lparser. See their website at: http://www.xs4all.nl/~ljlapre/.

Peter Hughes, Live Picture, Soquel CA USA: for his guidance on the state of the art in VRML 2.0 and initial work on his own digital forest.

Contact Consortium, Scotts Valley CA, USA: for contacts with many users and providers of virtual worlds as possible homes for Nerve Garden or similar approaches. See their website at: http://www.ccon.org.

On-line References

In addition to the web links of the contributors above, the following online references should prove useful for any further investigation of digital biology on the Internet including some VRML implementations.

The Biota.org Homepage at http://www.biota.org.

Nerves Homepage at http://www.digitalspace.com/nerves/.

The L-Systems Software Homepage at http://www.cpsc.ucalgary.ca/projects/bmv/software.html.

Biological Modeling and Visualization at the University of Calgary, the URL is: http://www.cpsc.ucalgary.ca/projects/bmv/.

Laurens Lapre's Lparser Links at http://www.xs4all.nl/~ljlapre.

The Live Alife Page at http://www.fusebox.com/cb/alife.html.

The Santa Fe Institute Artificial Life Online at http://alife.santafe.edu.

The DDLab at http://www.santafe.edu/~wuensch/ddlab.html.

The Artworks Home page at http://www.artworks.co.uk/.

Tom Ray's Tierra Home Page at http://www.hip.atr.co.jp/~ray/tierra/tierra.html.

Network Tierra Homepage with VRML at http://www.construct.net/tierra/.

VRML Objects by VerteX at http://www.vrml.com/models/vertex/>.

Nerve Garden VRML files:

VRML 1.0

VRML 2.0


Bibliographic References

[1] Ray, T. S. 1994. Netlife - Creating a jungle on the internet. In: Nonlocated online: digital territories, incorporations and the matrix, Knowbotic Research (Ed.), Medien Kunst Passagen 3/94, Passagen Verlag, Koeln-Wien 95, ISSN 1019-419-4193.

[2] Langton, C. 1992. Life at the Edge of Chaos. In: Artificial Life II. Addison-Wesley, Redwood City CA. Pp 41-91.

[3] Damer, B. F., Amoeba: a Simulator for Molecular Nanotechnology, as presented at The Fourth Foresight Conference on Molecular Nanotechnology (Palo Alto, November 1995). Available on-line at:

http://www.digitalspace.com/papers/nanopap1.htm and http://nano.xerox.com/nanotech/nano4/damerAbstract.html.

[5] Ray, T. S. 1994. Neural networks, genetic algorithms and artificial life: adaptive computation. Proceedings of the 1994 ALife, Genetic Algorithm and Neural Networks Seminar; Institute of Systems, Control and Information Engineers. Pp. 1-14.

[6] Radomir Mech and Przemyslaw Prusinkiewicz. Visual Models of Plants Interacting with Their Environment. Proceedings of SIGGRAPH 96 (New Orleans, Louisiana, August 4-9, 1996). In Computer Graphics Proceedings, Annual Conference Series, 1996, ACM SIGGRAPH, pp. 397-410.

[7] Przemyslaw Prusinkiewicz, Mark Hammel, Jim Hanan, and Radomir Mech. Visual models of plant development. In G. Rozenberg and A. Salomaa, editors, Handbook of formal languages. Springer-Verlag, 1996. To appear.

[8] Przemyslaw Prusinkiewicz, Mark Hammel, Radomir Mech, and Jim Hanan. The artificial life of plants. In Artificial life for graphics, animation, and virtual reality, volume 7 of SIGGRAPH '95 Course Notes, pages 1-1 - 1-38. ACM SIGGRAPH, 1995.

[9] L. Mercer, P. Prusinkiewicz, J. Hanan. The concept and design of a Virtual Laboratory. In Graphics Interface '90 Conference proceedings, pages 149-155. Canadian Information Processing Society, 1990.

[10] Ray, T. S. 1995. Artificial Life and the Evolution of Distributed Processes. Journal of Japanese Society for Artificial Intelligence 10(2): 213-221.

[11] Reynolds, C. W. (1994) Competition, Coevolution and the Game of Tag, in the proceedings of Artificial Life IV, R. Brooks and P. Maes, Editors, MIT Press, Cambridge, Massachusetts, pages 59-69.

End.