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.
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.
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).
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.
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.