Skip to content

Cellolution - a simulated evolution of artificial cells in a water world: visible within the "ocean".

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE.integrated
Notifications You must be signed in to change notification settings

openworld42/Cellolution

Repository files navigation

Cellolution






Cellolution

Watch a simulated evolution of cells and organisms in a GUI showing an artificial ocean.

Maintenance Status dependencies License PRs Welcome

What is Cellolution? It's a mélange of a game, a simulation, a screensaver and an evolutionary process in its own small universe: the Ocean.

Within this ocean there are different kinds of single cells and more complex organisms (complex evolving organisms are under construction, some smaller ones available within the next days or weeks).

The ocean has dissolved materials as well as energy (beams of sunlight, organic matter, H2S hydrogen sulfide, and others) to let to organisms grow, starve or die. If the energy and material of an organism reaches a certain level, it splits itself into two of them - sometimes with an evolutionary transformation to another type of species.

Interested? Look at these examples:

"Black Smokers" exists on the ground of the ocean emitting H2S and sometimes H2S consuming cells.


"Algae Cells" like CO2 and sunlight as energy source, therefore live usually close to the surface. All organisms have (at least) a random Brownian motion, like all small particles in a natural environment.


If an organism has accumulated enough energy (and some substances), it may split up into two organisms - sometimes with an evolutionary transformation:

      or close to the surface      


Cells may also starve (color: dark red), lacking of energy and/or substances. If starvation continues, the cell will die. Dead cells (black) are sinking to the ground and their matter disintegrates within the ocean again - until they vanish.


All simulation data are stored in JSON files, therefore several simulations can be maintained.

Needless to say, there are more things to discover. And (about patience): you need to give Cellolution some time to let the organisms do their evolution.

How to run it:

Download the newest Github release cellolution_vx.x.x.jar file into a new directory (suggestion: "Cellolution"), cause it will save its state in JSON files. Call it from the command line within this directory or create a starter/menu item using

java -jar cellolution_vx.x.x.jar

where x.x.x is the current version. You need a Java runtime/JDK installed (at least version 17 - check on command line using java -version).
To get it: Linux: simply use your package manager, Windows/macOS/others: download and install JDK from here.

You may also build it from scratch using Ant and the build.xml file.

Apache 2.0 licensed. Each other license for built-in or integrated repos, projects, resources, icons, pictures, files etc. is found in LICENSE.integrated.

Credits, Kudos and Attribution: Cellolution uses JSON-java with some modifications (no dependencies).

Author: Heinz Silberbauer (You like it? Spend a Github Star to motivate me 🐳)

Contributions (or a request 🙂) from any interested party are welcome - please open an issue with a short description.