3D Virtual Creature Evolution

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
3D Virtual Creature Evolution
3D Virtual Creature Evolution Logo.jpg
3D Virtual Creature Evolution title image displaying a screenshot of a creature.
Developer(s) Lee Graham
Platform Microsoft Windows, Linux
Available in English
Type Simulation
Website http://www.stellaralchemy.com/lee/virtual_creatures.php (currently down, the software can be obtained from http://mediafire.com//?s71k1ri6xo28qri)

3D Virtual Creature Evolution, abbreviated to 3DVCE, is an artificial evolution simulation program created by Lee Graham.[1] The website is currently down. Its purpose is to visualize and research common themes in body plans and strategies to achieve a fitness function of the artificial organisms generated and maintained by the system in their given environment. The program was inspired by Karl Sims’s 1994 artificial evolution program, Evolved Virtual Creatures.[2][3] The program is run through volunteers who download the program from the home website and return information from completed simulations. It is currently only available on Windows and in some cases Linux.

Settings

3DVCE uses evolutionary algorithms to simulate evolution. The user sets the body plan restrictions (maximum number of segment types, branching segments’ length and depth limits, and size limits) and whether fitness score is scaled in relation to size. Limb interpenetration is also an option. Reproduction / population settings include the size of each population and their run time (how long each individual has to attain a fitness score), percentage of individuals who get to reproduce (tournament size), what percentage sexually or asexually reproduce, and selection type is then determined. Crossover rate determines what percentage of an individual is created via crossover of parents and mutation. Mutation rate in body and brain is then determined. Specific mathematical operations and values can be attributed to the creature’s brain as well.[4]

Fitness function is then determined. Artificial organisms’ fitness score is determined by how well they achieve their fitness goal within their evaluation time. Fitness functions include distance traveled, maximum height, average height, “TOG” (determined by amount of time creature is in contact with ground), and “Sphere” (determined by creature’s ability to catch and hold spheres). These goals are not individualized and can be set to specific strengths (from zero, as not having an influence on fitness, to one, or having maximum influence) to determine the fitness goal. What generations the fitness function applies to can also be set. The environment, or “Terrain”, is then determined. This includes a flat plain, bumpy terrain (in which a hill is generated around creature that constantly inclines as distance is traveled from the creature’s spawning point), water (a low gravity simulator, non-functional), and “spheres” (spheres are generated above creature to catch).[5]

Simulation

Everything in the simulation is viewed from a first person viewpoint. After settings are determined, the first generation is generated from randomly created individuals. All creatures appear at the same spawning point and are made of segments or rectangular prisms connected to others at joints. Colors are assigned to segment types randomly. Segment type is determined by the size and joints a segment has. Colors indicate nothing else than that. These first generation creatures move randomly, with no influence from the fitness goal. Creatures with the largest fitness value reproduce and the following generation is based on this reproduction. Eventually, patterns in the population form and fitness increases even further. Fitness function can be changed during the simulation to simulate environmental changes and individual runs can be duplicated to simulate different lineages or speciation.[6][7]

3DVCE is not only for evolutionary research. Objects can also be spawned for graphics and simulated physics tests. This includes pre-installed blocks, spheres, grenades, and structures that can either be thrown from camera or generated at a spawning point. Artificial gravity can also be manipulated. Random and archived creatures can also be re-spawned to manipulate or view. Lee Graham has also included a TARDIS in the simulation, which when moved into can teleport the camera back to the original spawning point.[8]

Creatures

An example of a Rolling Ribbon creature on a flat terrain

Convergent evolution occurs often in 3DVCE, as similar structures and behaviors of the creatures form to maximize fitness. Two-Armed Jumpers consist of a small core and two large symmetrical "wings", and evolve in response to jumping and distance requirement. These creatures propel themselves forward using their limbs by jiggling or flapping them. Jumping Ribbons and Springs consist of a chain of segments and evolve in response to max height and distance. They contract or curl up and stretch out their body to leap into the air. Rolling Ribbons and Springs are very similar to the previous group, except they are often larger and segments are more repetitive. They evolve in response to average height, distance, and TOG (touching the ground). They roll on the ground to propel their head into the air to attain height while still touching the ground. Some simply roll in a horizontal fashion like a cylinder. Single-Joint Powered Creatures have more erratic structures and evolve in response to distance on bumpy terrain. They have one large segment in back which kicks the creature forward, but being poorly balanced they use the rest of their bodies to get back up after stumbling or prevent stumbles altogether.

Many other types of creatures also form that do not necessarily fit the four main groups previously described by Lee Graham. Tall stick-like creatures also evolve to attain maximum height. Some users have been able to fix the water simulator to evolve creatures that swim. Many other creatures evolve that share traits of multiple groups. There are currently over 220 creatures archived on the main website, which can be found on YouTube by visiting the "kjlg74" channel.

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.