Skip to content
An Abstraction of Intercellular Communication
Java Other
  1. Java 99.1%
  2. Other 0.9%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Morphone - a morphogenesis experiment.

"Morphone" is a reference to "morphogenesis through hormone-like
signaling", a term denoting the initial inspiration for this project
and which appears often throughout the code.

The purpose of this experiment is to investigate the properties of an
organism whose cells exchange hormone-like signals, as living cells do.

The organism consists of a cellular automaton in which each cell is
capable of secreting and absorbing hormones to and from its neighbors.
In each cell, morphogenic functions translate absorbed hormones into
changes in orientation, coloring, and subsequent hormone secretions.

Initially, all cells reside in a quiescent state, having the same color,
orientation, and secreting no hormones.  One cell is initially stimulated
by a secretion to begin the morphogenesis, causing the organism
to grow into patterns determined by its morphogenic functions.

All morphogens are extensions of the Morphogen class.
Included morphogens: Ball, Bug, Edge, FractalSpiral, GliderGun, Lsystem,
Spiral, SpiralingGliderGuns, Star, Timer, Transporter, and Turing.

Morphogens may also invoke other morphogens to perform useful functions,
such as transporting (Transport morphogen) and timing (Timer morphogen).
See Turing for an example.

Hormones (signals) for a morphogen are uniquely named by using the
ScopeGenerator and Scope classes. See any morphogen class for an


morphone.base: base classes.
morphone.samples: sample application classes.
morphone.misc: miscellaneous classes.


See doc and javadoc directories.

To build:

To run:

1. Applet:
a. Edit morphone.html to start desired morphogen (argument of Morphogen parameter):
   <applet code="morphone.base.Morphone.class" width=w height=h>
   <param name=Morphogen value="morphone.samples.<Morphogen class name>">
b. Start morphone.html in a browser or with appletviewer.

2. Application:
java -jar morphone.jar [-morphogen morphone.samples.<Morphogen class name>]


Turing, A. M. (1952). "The Chemical Basis of Morphogenesis". Philosophical Transactions
of the Royal Society of London 237 (641): 37–72. doi:10.1098/rstb.1952.0012. JSTOR 92463

You can’t perform that action at this time.