~CLICK THE GREEN FLAG SEVERAL TIMES~ This is a simulation replicating the gene pool. When two dots touch they create a new dot with their average values (plus a little randomness). Click to summon more dots. Space to randomly kill 5 dots. The values are as follows: COORDINATES - Each dot has an assigned position, these are averaged at creation, but that will change quickly because (as you can see) the dots move a lot. COLOR - Each dot has a color, and their offspring have the (again, plus a little randomness) average of the two parents. AGE - This is NOT averaged, that would be weird. However, it's important to discuss; each dot has an age that constantly grows proportionately to the SPEED (see below) you set. As a dot approaches one hundred, it grows more transparent, until it disappears entirely. TOXICITY - If a dot has a toxicity score of greater-than-fifteen above a dot it touches, the touched dot dies. Note that cloning happens before death-by-toxin. After cloning, a dot has to wait a few seconds before it can do so again. If the total population grows too large—to prevent lag—dots begin to die until the population drops below the threshold (100). Press 1 to see the Operations Menu. The slider variables control the values of the dots YOU summon. Menu Guide: SPEED - Changes how fast time progresses. COLOR - Changes the color of the dots you summon. TOXICITY - Changes the toxicity level of the dots you summon. Note that toxic dots will die 50% of the time they kill another dot. POPULATION - This tells you how many dots there are in total. DEATH COUNT - How many dots have died since you started. SECONDS - How much time has past in perspective of the dots. At speed 1, this value is equal to how many seconds passed in real life, but if you change the speed, the seconds will change their rate of growth accordingly. RECENT UPDATE: Press R while your mouse is over a dot to read its information (variable "Genetic Code"). Also, you now can only create a finite number of dots. You can see how many you can make by looking at the "Creation points" variable. If you last longer (more seconds in the game's perspective) than anyone else, your time will appear as the world record. Note that you can't do that if your population hits zero, at which point you lose, even if you can create more. NEVER LET ALL YOUR FOLKS DIE! DETAILED EXPLANATION OF HOW THE GAME WORKS: Note that no more useful information about how to play will be shared after this point, so those of you who don't care to know how this VERY FASCINATING simulation works are free to go (I won't tell anyone :D). There are eight important lists stored (and most updated constantly) during play: Age, X position, Y position, Color, Velocity X, Velocity Y, Toxicity, and Cooldown. Cooldown (creates the darker circle inside of them) controls their ability to clone. I have several different iterators that take on all eight values of each row in those lists to correspondingly draw each dot. You'll notice if you see inside that there's only two sprite in existence, one has a null costume, because all I need from it is its coordinates, and the other is the thumbnail. The pen does the rest. I haven't done the math to figure out EXACTLY how long one frame is, but it's less than a second and every frame all dots are erased, changes calculated, then drawn again.
Credit to @SvenSv3nson for his help. He helped a lot.