http://megaswf.com/serve/102223
It's a small SWF implementation of "pseudolife" evolution simulation.
In this case, the "life" that's being simulated is two-wheeled 2D vehicles attempting to drive over a bumpy 2D landscape, and the "evolutionary pressure" is exerted by how far away from the start point they make it.
You don't have absolutely any control about any of the individual "life" forms, their virtual 8-triangle bodies are (at least initially) randomly filled, the location and size of the wheels is also random... and you get 20 such "individuals" in each generation.
Each of the 20 little potential cars gets a real-time physical simulation if its attempt to drive over the hills in front, and they get scored for distance traveled.
Then, the next generation of wannabe cars gets generated by "sexual reproduction" (meaning the cars get some "genetic material" from two parents), with the likelyhood of one "car" being a parent for the next generation depending on how well it scored just before... and there's some small chance of a "mutation" in one of the "genes" (body shape, wheel position, shock direction, wheel size) then everything starts again.
Seems like there are two separate "end score" criteria - one is stalling, the other is a time limit, and the time limit is very short for the first few generations, but it gets quite long for later generations.
The time limit is still needed even in much later generations, because I have occasionally seen some vehicles getting to a hill, flipping over, falling back on their wheels before the hill then doing it again, and again, and again, until the time limit hits.
Remember to ever so slightly manipulate the mutation bar every now and a while... since it's your only control.
When you're getting mostly cars you like which also perform well, tone down the mutation rate to something very low (1% or even 0%) and let the "nice car genes" (lol) spread.
When you get a lot of lookalike cars but there seems to be very little or no progress towards something you'd like to see from generation to generation, ramp up the mutation rate a bit (10%, maybe even 15%) for a generation or two, then turn it back down, then wait another couple of generations to see if any of the mutations that survived (if any) has a chance to become quite useful or not.
There's a small graph in the middle upper area, the red line graphs the best score in the generation, and the black line I think (not quite sure) it graphs the average score of a generation.