Very Simple Explanation
There are two sorts of objects in this game - background objects, which mostly look the same, and critters, which look different. You should find and kill the critters by clicking on them. Don't miss.
There should be three critters in the scene below. This scene will change if you click the button just below it.
Background objects exist to confuse you. They are all generated from the same template with minor variations. Over time this template itself changes very slowly, resulting in a slowly changing background.
Critters are generated separately from background objects, although they could look identical in theory. Initially critters are generated with random characteristics, but critters that survive your attempts to kill them contribute offspring with similar characteristics to the next generation. This means critters can evolve.
This idea is demonstrated below, where 3 critters are present amidst 40 background objects. The critters will sit on top of objects if they intersect, so all three critters are visible.
Critters can be killed by clicking on them. If you click where there isn't a critter your score will turn red for a moment and you will be unable to kill any critters during this time.
The score on the left is your percent hit score. If you miss it goes down (and you get "locked out" and unable to kill critters for a moment). The score on your right shows your ability to mercilessly devastate the critter population. Each critter that slips by lowers this part of the score. In the middle is your total combined score.
Modes are accessed under Settings on the starting screen. One option is to use a no-background mode. It is much easier to see exactly how your actions change the critter gene pool but it is obviously not much of a game to play this way.
Another option is to switch between a scrolling mode and a periodic change mode. In scrolling mode the whole background continuously scrolls by and you must pick off critters before they disappear off the bottom of the screen. In the other mode the objects don't move, but the whole screen changes periodically.
No, seriously, this is detailed.
Every object in the game has three major attributes: color, shape, and size. These are major attributes because they are inheritable (sort of). Every object in the game is currently generated by running a template of these major attributes (a genome, if you like) through a randomizer (mutator, if you prefer) that generates a similar but not identical set of attributes which the object is then built off of. Most changes from the randomizer are small but occasionally a larger change is generated. The one other visible attribute of the objects is their rotation. This is set randomly when the object is created and is not changed or inherited.
Technical note about the randomizer. Size and color are both changed by adding a random number from a triangular distribution centered around zero to the current value. For color there are three components that are changed, a red, green, and blue component. Shape only changes by adding or removing a side (circles are considered to be nine-sided shapes in the game code). The frequency of this change can be altered but not its magnitude - triangles will only remain triangles or become squares, they will never skip straight on to become pentagons. Changes that bring a value out of bounds are also handled differently for shapes, colors, and sizes. For color and size changes are simply capped. So, for instance, if the size of an object is 90 and it is changed to be 110 but the maximum allowed size is 100 the object will be created at size 100. (The actual maximum size of objects depends on how big your screen is.) However, if a shape goes out of bounds the change will be reversed. So if a triangle is changed to reduce its sides to 2 it will simply be told to change the other direction and become a square.
When the game starts it generates a set of background attributes. All background objects are created by running this Platonic ideal of a background object through the randomizer and creating objects from the modified attribute set that comes back out.
Over time the background template also changes slowly. So, for instance, the game may start with a background made from small, blue triangles but it sets a "goal" of being a background made from large, yellow octagons and very gradually changes the background template from small, blue triangles to large, yellow octagons. This means that if the critters on the screen evolve to match the background very well the background will eventually change under them and they will begin to be more visible. (I am embracing the Red Queen hypothesis in this simulation.)
Critters are generated in one of two ways. If there are no existing attribute sets critters are created by running the background template through the randomizer on a high (five times normal power) randomization setting. If you have been less successful in your deadly wrath against critterkind the surviving critters have donated two sets of their genes to a pool from which other critters are generated. These sets are not used as-is. Instead, one will be drawn, run through the randomizer on normal settings and the resulting genes will be used to make the new critter. However, since these gene sets are used up it is possible to drive critters into extinction again and cause their genes to be generated in the random fashion mentioned earlier.