Giter VIP home page Giter VIP logo

evolve's Introduction

Evolve is an artificial life simulator that I found a few years ago. Since I originally found it, the website has gone offline. I am posting the source and installer here in order to preserve the project for posterity.

Below is the old project homepage, slightly modified to deal with broken links. The website, in it's entirety is available at https://rubberduck203.github.io/Evolve/ thanks to @ilyar. It includes a quickstart and full manual.

Installer available here


EVOLVE

About this Software

Evolve 4.0 is a simulator of evolution using a simplified 2-dimensional universe. This software lets you create new simulations, run them, and visualize the behavior of the evolving creatures.

The first version of this software was created in 1996. Fortunately, it has evolved (just like the creatures that live in the simulator) into an awsome piece of software. The most recent version is a complete windows application with a well designed GUI and lots of features for examining the evolved creatures.


Installation

  1. Download the application by right clicking on this link and saving the ZIP file to your hard disk.

  2. Double click on the ZIP file and extract the file 'setup.exe' to your hard drive.

  3. Run 'setup.exe'.

  4. Follow the instructions from the setup program.

  5. That's it! Now you can run the "Evolve" application from your Start Menu.


Requirements

The GUI software runs on Windows XP. The command line utility (no graphics) runs on both Windows and Linux. This application is written in C/C++ using Visual Studio .NET. Source code is available, as well as executable.

Oh yeah, one more requirement: You will need a complete Bio Hazard Level 4 facility to run this software.


Genre

This program is a simulator of artificial life. A virtual universe is created that supports the basics of evolution: Replicators and cummulative selection. On the Internet, the ALIFE community includes a lot of software all trying to do related things. There are two main categories of ALIFE software:
  1. Primordial Soup simulations: These simulators begin with simple rules and attempt to cause the emergence of replicators. (I.e, Conways Life)

  2. Artifical life: The machinery for replication is the starting point. And the goal is to evolve better and better replicators.

Evolve 4.0 is most definitely an example of (2). Replication and mutations are built into the system. One of its design goals was to partially simulate earth-based life. Evolve tries to emulate the same structure of cells and organisms as one finds in nature.

This simulator is a union of Conway's Game of Life and Core Wars. The game of life presents a very simple two dimenional universe, with some basic rules that cells in the universe follow (Evolve has a slightly more complex set of rules). Core wars is a virtual computer running many programs (written in REDCODE) in a shared memory space (called core). Each program tries to copy itself and crowd out other programs.

Evolve uses a sophisticated forth-like language (called KFORTH) for the control of organisms and cells. This is the analog of our DNA. The size of these programs is unbounded and therefore very complex behaviors can evolve. KFORTH programs do not run in a shared memory space rather, each cell has its own virtual computing machine that includes a data and call stack plus some working registers. An organism can have many cells all executing different parts of the same genetic program. It is therefore possible for cells to specialize their function, and thus achieve even more complex behaviors.

Differences from other ALife software:

Most artifical life simulators use a very restricted genetic layout. One program for example, called "Darwin Pond" has about 8 or 9 genes which are simple floating point numbers. All the logic for reproduction and consumption and movement are hard coded in the simulation. There is very little genetic variation that can occur. The genetic programming language for Evolve is unlimited in size and therefore extremely advanced behavior for organisms can emerge.

Biomorphs also have a limited set of genes, and the selection process is through user interaction. In the Evolve program, the selection process is part of the simulation.

Other ALife simulators run short scenarios with a small handful of organisms, and then after a fixed period of simulation time, the best organisms are retained and the rest are eliminated. Then a new scenario is started. The Evolve simulator is more realistic. In Evolve there is a virtual universe in which thousands of organisms live and reproduce. The simulations you will run are intended to run for billions of simulations steps, with billions of births and deaths.

Evolve has been in development since 1996. Read about the history of Evolve 4.0 here.


License

The Evolve application is completely free. The source code can be used according to this license:

Evolve, Version 4.0
URL: http://www.stauffercom.com/evolve4
E-mail: [email protected]

Copyright (C) 1996-2006 by Ken Stauffer.
All rights reserved.
 Eiffel Forum License, version 2

   1. Permission is hereby granted to use, copy, modify and/or
      distribute this package, provided that:
          * copyright notices are retained unchanged,
          * any distribution of this package, whether modified or not,
      includes this license text.
   2. Permission is hereby also granted to distribute binary programs
      which depend on this package. If the binary program depends on a
      modified version of this package, you are encouraged to publicly
      release the modified version of this package.

***********************

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT WARRANTY. ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE TO ANY PARTY FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THIS PACKAGE.

***********************

evolve's People

Contributors

ilyar avatar rubberduck203 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

evolve's Issues

Thank you!

Not an issue, but this is the only way I know how to leave a note. I created this account to say: Thank you for making an effort to preserve this program. I toyed with it quite a bit years ago, and it still remains one of the best a-life/evolution simulators around. Thought you might want to know someone noticed. :)

Building and compiling

Hello, first of all thank you so much for keeping Evolve alive. I've tinkered with it over the course of a decade now since I was young. Now I was thinking of tweaking the code to output universe properties and the stats of all organisms to practise some bioinformatics techniques, but I'm new to C++ so I had some trouble trying to build and compile the project in Codelite. I have prior hobbyist experience with Python and Java.

Hope you could offer some guidance on this. Thank you again for keeping the project up.

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.