This is entirely my own work.
Should run easily in intelliJ if all libraries are installed. Otherwise, make sure the Java version is 8.
All user interaction is done through buttons :) First, a menu pops up with many, many settings for your simulation.
// the simulation :
Each cycle, food and animals spawn. The animals struggle to eat enough food to satiate their hunger and survive into the next cycle. Aggressive animals may eat other animals to feed themselves. Size determines speed and hunger requirement. Animals with better sight see food/prey from further away, but need more food.
Animals that didn't eat enough before the cycle's end die. The others go on to reproduce. This means only the most effective animals remain in the world. To provoke change, there are slight mutations
Alongside the simulation, a few dynamic statistics charts pop up to show you the average of traits through the cycles, e.g. average size of Animals. This lets you easily notice patterns on a cool chart :)
Hope it works, enjoy!