I'm playing around with the software with four simultaneous creatures and the feeling reminds me of when I first saw the creatures run a few years ago. I was dumbfounded, and I am again right now.

I set it up so that it refines motor coordination until there are four creatures which bound almost equally proficiently, and then a kind of earthquake happens and they all grow new tetrahedrons somewhere fairly low on their bodies. They then have to fairly compete with their new attributes until they once again refine to being almost equally proficient runners.

The shock is that you see them grow limbs to accomplish their task!

One main goal of the Fluidiom project, and the Struck project that led up to it, was to keep things as simple as possible. Spatial structure in general was something I wanted to create, but it also had to be space in the common sense interpretation of the word, which includes time.

The simplest thing we can imagine in space is a dot, and we can easily imagine a kind of constellation of dots in space, like a cloud. In order for the cloud to be a structure that has some meaningful behavior in time, there has to be relationships among the dots, and the simplest kind of relationship is pairwise.

So a long time ago I started playing with data structures that carried these numbers and their relationships. I made the pairwise connections among the dots aware of a desired distance called "span", and made them springy by letting the vectors push if actual distance was too small, and pull if actual distance was too large. Hooke's Law, with its linear rigidity factor.

With such constellations of dots (joints) connected with springy things (elastic intervals), the only missing ingredient was time, so the software perpetually iterates through the structure to let the vectors do their work.

  • Visit all intervals, letting them exert outward or inward forces
  • Visit all joints, having them move according to the accumulated forces upon them
  • Repeat

The joints and intervals connected together was called a "fabric". With this simple data structure and iteration algorithm it became possible to build an editing program in which people could build these structures and play with them to see how they behaved.

The funny thing is, it was a number of years before I started to play with the genetic algorithm that was to lead to Darwin@Home.

I hope that I can claim that the Fluidiom software was designed in a relatively intelligent manner, but that's not the reason for the use of this phrase here. It's all about how Fluidiom works, by making a hybrid fitness function: part human, part algorithm. Of course I've also been Touched by His Noodly Appendage.

The version I'm working on starts up by flying you towards a geodesic sphere with many hundreds of hexagonal tiles and twelve pentagonal ones. This is what you might call Planet Fluidiom, and if you do nothing it rotates. At each tile, or "place" lives a fluidiom creature, and when you click your mouse on the planet, the four nearest places rise up, displaying their bodies as you descend to approach them.

Those four bodies then appear in four separate quarters of the screen and they are running (or hopefully struggling to learn how). When one runs quite a bit further than another (not sure how to tune that yet) it is a winner, and may claim the loser's place to introduce a mutation of itself. This takes place without your intervention and you can watch the running behavior gradually improve. That's the Un!

The intelligent part comes when you click your mouse on one of the four, because you have then spoken your judgement and caused your favorite body to claim all three other places for its "offspring". You can click to your heart's content, and keep choosing until you get the shapes and behaviors you like, and then sit back and let the algorithm take over to refine the muscle coordination.

If collaborating with an algorithm is against your religious ethics for some reason, be advised to avoid exposing yourself to this experiment.

Last year I restructured Fluidiom for the Nth time with the goal of making it really easy to login, create a folder, and get down to building and evolving creatures. I also made it easy to snatch a body that somebody else has built and evolve it further, storing it in your own folder for later reference. Everybody also has the option to create a list of their favorites, regardless of which folder they live in.

My hope was that the new version would be picked up by a good number of people and lots would happen, but as it turns out, lots of people drop by and log in, but very few go further to do anything with it.

I expect that the main reason is the challenge that a new user encounters right away: building a body. It is of course possible to browse a bunch of running bodies, and it's easy to grab one and evolve it further, but still... surprisingly few people do that.

So I decide to move onward. There must be a way to involve people on the web in a way that isn't so difficult that they get turned away. I'm deep in the process of building that new version.

While I'm working on the new version, the existing version has been put up under the web application "buildevo" (build-evolve) which reflects the process. First you build, then you evolve.

My new version is going to be easier in some really fundamental ways. It will invove "aesthetic selection" where you the user become part of the fitness function. Sounds dramatic, but it amounts to having people click on the one of four that they like. Four running bodies will be visible on screen at one time. Now this is a kind of interaction that shouldn't be too intimidating.

Fast-forward to my fourth year at UW, and while strolling around a big bookstore I came across Synergetics by Fuller. Now here was an interesting thick book full of diagrams and lots of text. Fuller was extremely obsessive about things, and Synergetics has all of its lines numbered so that future generations could refer to individual passages, sort of like the Bible.

If you ever want to get a mathematician confused, let them have a look at Synergetics. It's got sort of the look of a math book but it's also chock full of very long and often convoluted sentences. I began to shop the book around a bit, showing my fellow math-heads and everybody scoffed at it, saying that it wasn't mathematics. So then I showed it to some artists and their reaction was similar: that's not art! Still the contents were fascinating, and since neither the math people nor the art people could value it I became all the more fascinated.

Before you go off and read Synergetics, I can recommend picking up Amy Edmondson's book A Fuller Explanation, which is a lot shorter and easier to consume.

Fuller was putting spatial geometry at the core of everything, however strange that sounds. The Geometry of Thinking. I found myself always returning to this stuff, because I liked the idea of thinking in terms of structures that could be built and played with. I built all kinds of geometrical structures and had them hanging around the house.

The funniest things was when I got into contact with a group of Bucky Fuller enthusiasts on the internet, because when I finally went to meet a number of them in real life (years later!) they all lived in houses full of geometrical structures.

There were others like me!

Waaay back in 1984, my dorm room at the University of Waterloo (Ontario, Canada) had some double images on graph paper pinned to the bulletin board. I had a little Sharp calculator/computer and I had written a BASIC program to convert 3D coordinates to 2D coordinates assuming the points of view of two eyes in space. I created stereo images by painstakingly inventing objects with 3D coordinates and then plotting them on the graph paper in stereo and later connecting the dots.

I was able to see the stereo images unaided (eyes in parallel gaze, but focus nearby) so I saw depth! Being an enthusiastic first-year student at the Math faculty, I found it exciting to be able to create completely virtual 3D forms, even if it did involve incredibly slow plotting by hand.

Every calculus class where we were expected to sketch 3D shapes (for figuring out how to integrate them to find volume, or whatever) was a fun challenge for me, and I loved drawing the X-Y-Z axes and lightly plotting critical points and then sketching and shading in the rest.

Eventually, since I was studying Combinatorics & Optimization, I encountered Graph Theory and that really caught my attention. Here was a branch of mathematics which was focused on dots-and-lines (and basically nothing else!), with no real use for spatial representations except to avoid getting confused about the dots-and-lines (sometimes, on a good day, arrows). My sensibilities were bothered by this, but fascinated as well. How could it possibly not matter?!