June 14, 2021

477 words 3 mins read

chrxh/alien

chrxh/alien

alien is a GPU-accelerated artificial life simulation program.

repo name chrxh/alien
repo link https://github.com/chrxh/alien
homepage https://alien-project.org
language C++
size (curr.) 457736 kB
stars (curr.) 1989
created 2020-10-19
license GNU General Public License v3.0

Main features

Physics and graphics engine

  • Realistic physical computations of heat dissipation, collisions, bondings, damages, rotational forces, etc.
  • Real-time user interactions with running simulations
  • Simulation and rendering on GPU via CUDA and OpenGL
  • Post-processing filters such as glow and motion blur

Artificial Life extensions

  • Programmable matter building blocks for simulating digital organisms and evolution
  • Built-in programming environment and graph editor for designing own machines

The simulation code is written entirely in CUDA and highly optimized for large-scale real-time simulations of millions of bodies and particles. The development is driven by the desire to better understand the conditions for (pre-)biotic evolution and the growing complexity of biological systems.

But for what is this useful?

  • A first attempt to answer: Feed your curiosity by watching evolution at work! As soon as self-replicating machines come into play and mutations are turned on, the simulation itself does everything.
  • Perhaps the most honest answer: Fun! It is almost like a game with a pretty fast and realistic physics engine. You can make hundreds of thousands of machines accelerate and destroy with the mouse cursor. It feels like playing god in your own universe with your own rules. Different render styles and a visual editor offer fascinating insights into the events. There are a lot of videos on the YouTube channel for illustration.
  • A more academic answer: A tool to tackle fundamental questions of how complexity or life-like structure may arise from simple components. How do entire ecosystems adapt to environmental changes and find a new equilibrium? How to find conditions that allow open-ended evolution?

Further information and artworks

Minimal system requirements

An Nvidia graphics card with compute capability 6.0 or higher is needed. Please check https://en.wikipedia.org/wiki/CUDA#GPUs_supported.

For some graphics cards of the GeForce 10 series there are reported issues that are currently being investigated.

Installer

An installer for 64-bit binaries is provided for Windows 10: download link.

Documentation

Please visit alien-project.org for a documentation of the program and the underlying model. A completely new documentation with many tutorials that guide the reader into the program in small portions is currently in construction.

Screenshots

Startup screen

Evolving self-replicating machines in action

Debris after heavy impact

Graph structure of the bodies

Visual editor and programming environment

How to build the sources

To build alien you need Microsoft Visual Studio 2019. You find the solution file in msvc/alien/alien.sln. The following third-party libaries are necessary and should be installed:

License

alien is licensed under the GPLv3.

GitHub contributors

comments powered by Disqus