Tutorial

The Goal

Eat as many targets as possible.

  • Extra credit for robots that seem to seek out the targets.
  • Beat your high score for a given time limit.

Quick Start

First just play a game.

  • Right now :)
  • Go ahead, click the Run button.
  • The default settings are enough.

Not very interesting, they just spin in circles right?

  • Now start over, change some settings and see if you can fix that.

Help, it's slow!

  • Go to the "Game Settings" section at the bottom.
  • Try fewer robots and fewer targets
  • Try a smaller width and height for the playing field.
  • If you've changed the neuron layers, try taking out some neurons and layers.

Basics

STEP 1: Create some robot brains:

  • In the "Neural Network" section, click the "Add Layer" button.
  • Change the number of neurons in that layer to something between approximately 1 and 100.
  • Add another layer if you like.
  • Add even more neurons and layers if you like.

Your computer will, however, have a limit as to how many neurons and layers it can process. If your game slows down, try reducing the number of layers and neurons.

STEP 2: Now decide what to "feed" the robot brains:

  • Check some checkboxes in the "Features" area.
  • Try different combinations of options to see which ones give you the best results.

If have you set up your robots well, you will probably eventually see some interesting behavior (more than just spinning in circles).

The goal of the game is to find a combination of neuron layers and features that demonstrate interesting behavior.

You may need to click the "Kill All" button a couple times before you see some robots that do more than spin in circles. This will randomly regenerate a new set of robots based on the brain configuration you chose in steps 1 and 2.

Training Your Robots

The next goal is to evolve your robots to have even more interesting behavior. You can do this by clicking the "Evolve" button once you are in game. Warning: this will destroy all your current robots except for the best ones, so if you want to save your progress, do so before clicking evolve.

Evolving will combine "genes" from two of the best robots and create new robots. A few of the best robots will also stay to play another round. You can see how many rounds your bot has been in the game in the "Age" column underneath the playing field.

Scoring

Your scores are really just to help you see when and whether your robots are actually improving beyond random chance. The score is based on the time limit and represents the score at the time the timer hits that limit.

By default this means that your score is how many targets you collected in 2 and a half minutes. Your high score will be the best score you've been able to achieve in your past games.

Saving and Loading Games

The "File" menu lets you save, load and start over. You must get an account at Firebase.com if you want to be able to save your games. Get a firebase account and then put the URL of your firebase database into the "Firebase URL" field in the "Preferences" section.

Time limit: minutes

Neural Networks

Setup the layers and number of neurons in each layer for the robot brains.

INPUTS

The number of inputs depends on how many features are checked in the features column.

Layers Add Layer
OUTPUTS

The number of outputs is always 2, an output to control each wheel.

Features

Choose which information the robot brains should use.

Target Distance
Target Position (x,y absolute)
Target Direction (x,y relative)
Feet Per Second
Left Wheel Speed
Right Wheel Speed
Wheel Speed Difference
Wheel Speed Ratio
Robot Position (x,y absolute)
Heading Direction (x,y relative)
Heading Angle (degrees absolute)
Angle Difference (degrees relative)
Preferences

Firebase URL:

Advanced Options

% Chromosome Mutation Probability Possiblity that a child will be based on two parents, otherwise child will simply be a mutated form of one parent.

% Gene Mutation Probability
When looking for mutations, possibility of mutating an individual gene.

% Best Fitness Selection Probability that parents will be selected from the highest fitness individuals, otherwise the second highest class will be used.

% Low Fitness Probability Chance that one parent (but not both) from a pair will be low fitness.

% All New Probability Percentage chance that a child will be completely randomly generated and not based on any parent genes.

Keep the highest fitness members Number of highest fitness members to keep in the population when evolving a new generation.

Game Settings

Motion Speed Percent

Number of Robots

Number of Targets

Field Width (px)

Field Height (px)

Enable teleport on field edges

Robot Treasure Found Treasure