I've been messing around with Processing, a cool programming language for quickly developing dynamic digital art.
For my first experiment, I decided to code up an ecosystem. You can check it out in this Java applet here.
The green bits are algae. The blue guys are herbivores, they eat the algae. The red guys are carnivores, they eat the blue guys.
Blue and red die if they don't eat often enough. If they eat enough, they'll reproduce (split in two). If a creature dies, it decomposes into algae.
You can click to place additional blue guys.
I had a fun time coding it up. If I return to it, I might enable evolution (randomized, inheritable traits) and make it look a bit nicer.