I made this program for our final project for my AP Computer Science course. It can simulate natural selection by spawning "creatures" with different capabilities for strength, intelligence, aggressiveness (speed), and sense. More intelligent creatures will tend to avoid creatures whose capabilities exceed their own. Each creature produces sexual/asexual offspring, which can be set, and each creature is aware of its direct family members to avoid friendly-fire situations. The program can also generate river systems using the Perlin Noise algorithm and a seed can be used to replicate a simulation in the future. The hardest part was figuring out how to relate the creatures, environment, and seed-based outcomes with one another, and how to integrate "intelligence" among the creatures.