Darwin (programming game)

“Tierra is a derivative of the computer programmers’ game Core War. And Core War was in part inspired by a game called Darwin.

Darwin was invented in August 1961 at the Bell Labs and played on an IBM 7090 Mainframe. A little discription of Darwin:

The game consisted of a program called the umpire and a designated section of the computer’s memory known as the arena, into which two or more small programs, written by the players, were loaded. The programs were written in 7090 machine code, and could call a number of functions provided by the umpire in order to probe other locations within the arena, kill opposing programs, and claim vacant memory for copies of themselves.

The game ended after a set amount of time, or when copies of only one program remained alive. The player who wrote the last surviving program was declared winner.

Up to 20 memory locations within each program (fewer in later versions of the game) could be designated as protected. If one of these protected locations was probed by another program, the umpire would immediately transfer control to the program that was probed. This program would then continue to execute until it, in turn, probed a protected location of some other program, and so forth.

While the programs were responsible for copying and relocating themselves, they were forbidden from altering memory locations outside themselves without permission from the umpire. As the programs were executed directly by the computer, there was no physical mechanism in place to prevent cheating. Instead, the source code for the programs was made available for study after each game, allowing players to learn from each other and to verify that their opponents hadn’t cheated.

The smallest program that could reproduce, locate enemies and kill them consisted of about 30 instructions. McIlroy developed a 15-instruction program that could locate and kill enemies but not reproduce; while not very lethal, it was effectively unkillable, as it was shorter than the limit of 20 protected instructions. In later games the limit on protected instructions was lowered because of this.

The “ultimately lethal” program developed by Morris had 44 instructions, and employed an adaptive strategy. Once it successfully located the start of an enemy program, it would probe some small distance ahead of this location. If it succeeded in killing the enemy, it would remember the distance and use it on subsequent encounters. If it instead hit a protected location, then the next time it gained control it chose a different distance. Any new copies were initialized with a successful value. In this way, Morris’s program evolved into multiple subspecies, each specifically adapted to kill a particular enemy.”

Excerpted from: https://en.wikipedia.org/wiki/Darwin_(programming_game)

Darwin was one of the grandfathers of Tierra and programms that base on Tierra. It was a great and pathbreaking invention at 1961. It was one of the first simulations of life on a computersystem. There was an evolutionary process to improve the programms by the developers. But this process wasn’t done by the machine. In the Darwin-environment the programms could live/exist, reproduce themselfes and try to fight each other. And the developers had to made their programms better – this was an evolutionary process. In programms like Tierra the simulation of evolution will be done by the software and thats the major-difference to Darwin. But even then, Darwin is one of the earliest programms for simulation life and lifecycle-processes. Darwin was not and artwork in the direct way but it has build the base for many other life simulation programs.

Full description of the experience with Darwin