This is the home of one of my projects, Naturally Coloured Selection, which demonstrates the power of natural selection through the use of colours. I specifically wanted to show that otherwise harmful mutations can lead to beneficial results if selection is applied.

The idea is simple enough. The environment is a randomly selected colour or image, pixels are then picked at random to fight their four neighbors. The pixel which has a colour closest to the selected environment will copy its colour contents to its neighbor. This copy is of course imperfect, which may cause a slight change in colour, also known as a mutation.

I have included two modes for the environment.

  1. Colour - The environment is a single colour.
  2. Image - The environment is an image. What this basically means is that the ideal colour depends on the location of the pixel. It can be compared to a landscape with varying requirements for survival.

And three modes that control behaviour.

  1. Natural Selection - Fully functional evolution, which helps those wee pixels reach the ideal colour.
  2. Random - Selection is effectively disabled. This is to show that mutations alone cannot do the job (The picture will slowly degenerate).
  3. No Mutations - Nor can selection do much without mutations (No new information will be gained).

Click the picture below to download the software.


Version 1.1 is now available. - January the 19th 2008
The release version is now available. I will be going through my To Do List and release v1.1 in a few weeks.


  1. Unpack the file using a program such as WinRAR.
  2. Requires .NET 3.5
  3. Requires XNA 2.0
  4. Run NCS Settings.exe to adjust the settings to fit your needs.
  5. Run NCS.exe.


  • Resolution: Effectively the number of pixels used.
  • Fullscreen: Runs the application in fullscreen mode.
  • Stretch: If turned on images will be stretched to fit the screen. There are two things to note about this: 1.) The resolution of the image will be used. 2.) The screen will be set to black when the environment is changed.
  • Environment: The type of environment used. Either a solid colour or an image.
  • Directory: The directory used for images.
  • Delay: Delay between colour/image updates when in automatic mode.
  • Mode: Manual or automatic delay.
  • Behaviour: Evolutionary behaviour as explained above.
  • Frequency of Mutations: The chance that a mutation will occur.
  • Severity of Mutations: The amount of change caused by a mutation.


  • 1: Switch to Colour Environment.
  • 2: Switch to Image Environment.
  • 3: Switch to Natural Selection.
  • 4: Switch to Random.
  • 5: Switch to No-Mutations.
  • A: Switch to Automatic Mode.
  • M: Switch to Manual Mode.
  • Enter: New colour or image.
  • Space: Pause.
  • I: Show the environment in the upper left corner.
  • F: Switch between fullscreen and window mode.
  • Print Screen: Save a screenshot to "\ss".
  • R+UP/G+UP/B+UP: Increase the Red/Green/Blue component of the environment.
  • ESC: Exit.


Serdan Kyrbon Telhek