Darwinbots

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Darwinbots
DarwinBots screenshot

Screenshot from the game.
Developer(s) Carlo Comis, et al.
Version Darwinbots 2.45.01
Platform(s) Windows
Release date(s) 2003-2011
Genre(s) Artificial Life
Mode(s) Single player
Media/distribution PC

DarwinBots is an open source artificial life simulator, originally developed by Carlo Comis, providing a virtual environment in which a number of digital organisms called "bots" interact, fight for resources, and eventually reproduce and evolve.

Contents

[edit] Simulation

Darwinbots simulates genes that control the behavior of an individual "bot". Each gene has a trigger for its activation, a body that dictates gene function, and an end marker. Darwinbots does not simulate intermediate information carriers or effectors (RNA or proteins) and gene interactions are minimal. Individuals with similar DNA recognize each other as relatives.[1]

Each bot has an energy level which increases through feeding, and decreases through activating an encoded action. Metabolism is simulated with this consumption of energy and production of waste. A bot may die if its energy too low or the waste around them is too high. Efficiency of energy and waste management is the main selective mechanism for evolution. In addition, feeding requires a combination of vision, movement, target recognition and attack.[1]

[edit] Development history

Darwinbots is developed in Visual Basic 6. An effort was made to port Darwinbots's code from Visual Basic to C++, but this port has been abandoned and now a C# port is being developed. Progress is somewhat slow, however, and the Visual Basic program is still being updated and new features being added.

The design principles of Darwinbots were:

  • All bots have their own semi-protected address space. Other bots can modify this, but it is an aggressive action to do so, proximity is required, and there are counter measures to protect against it.
  • All bots execute their entire DNA code once per cycle, rather than a single code being activated per cycle.
  • The bots' world is a non discrete flat plane. That is, bots are not segmented into grids as in cellular automata.
  • Every bot is equipped with a set of basic, but high level abilities, addressed through specific memory locations called sysvars, which allow it to interact with the world. These sysvars are things such as "accelerate forward a set amount" or "fire a connective tie".

Darwinbots gives the organisms comparatively high level tools, and sees if they can form even more complex behaviors from these. Darwinbots does not attempt to evaluate the fitness of individual organisms at all, and gives energy uniformly to organisms deemed plants at the start of the simulation and their descendants. Since there is no external fitness function, there is no single metric of fitness; rather, fitness varies according to organisms' adaptation to local environments.

[edit] Reviews

The Science Advisory Board commented that the Darwinbots software could be developed into a model of complex interactions amongst cells, tissues and organs: "Normal and pathological physiology could be re-thought as inter-specific relationships."[1]

[edit] See also

[edit] External links

[edit] References

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages