About the project – objectives and scope 

The objective of these experiments is a study of evolution capabilities of creatures in simplified Earth-like conditions. They are: a three-dimensional environment, genotype representation of organisms, physical structure (body) and neural network (brain) both described in genotype, stimuli loop (environment – receptors – brain – effectors – environment), genotype reconfiguration operations (mutation, crossing over, repair), energetic requirements and balance, and specialization.

The simulator allows the study of both directed (with fitness criterion defined) and spontaneous (with no such criterion) evolution. In the directed case, it is possible to "grow" creatures with the given properties, like simple construction and smooth movement, strength and robustness, ability to move in land and water environments, seeking food, following targets, escaping and many others. The system allows users to create more experiment definitions, which may lead to unexpected results and emergence of very complex behaviors.

Another aspect of this research is the influence of representation (description) of creatures, reconfiguration operators and the rules of organism building on evolution results and characteristics of structures of created individuals.

The most important part of the research is the study and evaluation of capabilities of various evolutionary processes, including those concerning non-directed evolution (which has not already been done in such a complex environmental and simulation conditions).


System capabilities

Framsticks has a powerful, universal simulator with great capabilities, which are:

  • Three-dimensional, mechanical simulation of the artificial world:
    • Creatures' simulation with finite elements method
    • Specialization of their limbs – friction, strength, ways of acquiring energy by assimilation, ingestion etc.
    • Flat land, terrain made of blocks/slopes of different height and water environment
    • Nondestructive and destructive collisions
    • Ability for the user to interact with the simulated world (dragging of creatures, energy balls placement, revival and killing of individuals)
    • Two modes: Mechastick (fast simulation, elasticity) and ODE (accurate simulation, rigid body)
  • Simulation of creatures' control system ("brain"):
    • Neural net of any topology, built from any kind of neurons
    • Interaction with the environment: receptors (touch, equilibrium and energy localization senses) and effectors (muscles moving a creature, controlled by its neural network)
    • Support for evolvable communication (signals, receivers, transmitters)
    • New neuron types defined by users
  • Evolution:
    • Maintaining a set of genotypes grouped in gene pools
    • Maintaining a set of individuals grouped in populations
    • Many ways of organism description (genetic representations)
    • Modification of creatures' descriptions by crossover and mutations
    • Evaluation of creatures with various criteria (life span, speed etc.)
    • Maintaining of creatures' energetic balance (gains and usage of energy for various purposes)
  • Scripting language which allows for modification and extension of the system, designing custom user experiment definitions, custom neuron types, user-defined fitness functions, macros, visualization styles, etc.
  • Parametization of most of operations, environment, simulation and evolution rules, and system behavior
  • Graphical interface for Windows, textual interface for any system, client-server architecture

Directions of work

  • various genotype encodings (including developmental) to describe body and brain
  • JAVA and Python network interfaces independent from the simulator; other interfaces developed by Framsticks users
  • design of experiment definitions for open-ended, spontaneous evolution and biologically-plausible ecosystem simulation
  • additional senses (receptors)
  • evolution of communication
  • network-distributed evolution; Framsticks Experimentation Center

  • developers should refer to the development pages.