Giter VIP home page Giter VIP logo

cellolution's Introduction

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.

cellolution's People

Contributors

openworld42 avatar

Watchers

 avatar

cellolution's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.