Description
Simbiosis or Simergy was a new A-life simulation game in development by Steve Grand and released MIT Open Source License. He describes it as "a 3D underwater environment in which you can build artificial lifeforms by plugging together ‘cells’".
This source was released with Steve Grand's permission following a conversation with Steve on Biota Live. The source is currently being maintained by Tom Barbalet.
June 24, 2010 10:47:02 AM PDT: "1. I can't see me continuing to develop it - I'm working on something else. 2. I don't have any time to devote to it. I don't want to be inundated with questions about how this or that aspect works, because I really don't have the time. 3. I'm not averse to letting other people continue developing it if they want to, as long as I'm suitably credited.
It's currently a Visual Studio project in C# for .NET, using the now obsolete Managed DirectX. I'd say it is approaching Alpha, in terms of completeness, apart from the MDX issue (it should be converted to XNA, although this isn't trivial because the two libraries use different object representations and Simbiosis (released here as Simergy) is unusual in its needs compared to a conventional game where the objects are predesigned). Apart from that, the main thing that remains to be written is a library of useful cell-types. The physics is also buggy, simplistic and needs work. The code is pretty well documented line by line but the only orientation overviews are at the tops of source files - there's no standalone documentation.
The premise is a lego set for creating artificial life-forms, cell by cell. Each cell type is a sensor, an actuator or some kind of metabolic or computational unit, and the user combines cells into circuits to create higher-level behavior. New cell types can be added without recompilation. Cells interact through channels that can be configured to conduct one of several chemical signals. Choosing the chemical affinities for the various input and output channels defines the circuit (e.g. an oscillator cell producing chemical 1 as its output could be connected to a bioluminescent cell. The bioluminescent cell might have two inputs: one controls brightness, the other color. Whichever channel is given an affinity for chemical 1 will determine which parameter the oscillator affects. "Bypass channels" allow signals to be sent to cells further downstream, and thus arbitrary circuits can be constructed.
The scenario is underwater. The user has a little yellow submarine for exploring the world and tracking/observing creatures. There's also a research ship, with a laboratory in the hull. This is where creatures are constructed and edited/debugged."
