JohnnyVon

Self-replicating, self-assembling mobile automata in two-dimensional continuous space
SourceForge Logo
purl.org/net/johnnyvon/screenshots
About Publications Screenshots Download Applet Licence

JohnnyVon 2.0

These images show a typical run of JohnnyVon 2.0. The run starts with 54 type-2 codons and a seed chain of 3 type-2 codons.

timestep 0

The initial configuration. Each of the free codons is in a random position, while the seed is in the center.

timestep 477

After 2385 steps, the first replication is complete.

timestep 659

The first child of the seed is folding up, since the seed initially has mesh-seed-parent set. In this image, the seed has already begun a second copy.

timestep 3565
timestep 8847

By time 44235, nearly all of the free codons are now attached to chains. Since there are so few free codons left, most of these chains cannot complete replications. As some incomplete chains fold-counter hits the upper limit, it will fold and release some free codons, allowing some other chains to complete their replicating.

timestep 9268

The first normal shape is folding up. In this image, it has not completely folded, and you can see that the triangle has not closed.

timestep 9556

Just over 3000 timesteps later, the new triangle joins the special mesh seed triangle.

timestep 13390
timestep 17162

Many more triangles have folded and joined to the mesh. One triangle (near the lower left corner) has not yet joined the mesh.

timestep 27287
timestep 34769
timestep 58815

This is a reasonably complete mesh. Near the bottom is a pentagon made up of 5 triangles. This would eventually be corrected (by one of the triangles releasing and unfolding), although the container is just barely large enough to hold a mesh that includes all of the codons, and thus errors may continue to be formed even as they are corrected. (In a situation where the container constrains the mesh, it is possible for a codon to get attached to a mesh in such a way that it can never reach an equilibrium where all of its bonds are in tolerance, since the conditions for accepting new bonds are much looser than the conditions for detecting stress.) Because this simulation is done in the context of a constrained container, certain effects are not obvious. For example, because Brownian motion is strong relative to the size of the container, codons are quickly distributed throughout the container as they are consumed by replicating chains. However, in a larger container, replicating chains will consume the codons in a small area, and then replication slows down as the chains must randomly spread out.

Similarly, the triangles never have far to go to join the mesh, and will quickly be bumped into the right position. However, as a larger mesh is built, some shapes will end up under the mesh and take a long time to move to a correct position.