I have to throw in a recommendation for the Tk::Canvas or Tk::Zinc, when you get to your "visualization" stage. You can assign tags to your 'blobs" and detect when they overlap. When you detect an "overlap event" you can have callbacks which define how the 2 lifeforms will interact. If you make your
"blobs" as objects, you can design them to move randomly or according to some drive they have( like gravitate toward heat, etc). It sounds like a fun project that could grow into a large long term model, with all sorts of object-types..... viruses, single-cells, proemes, and all that good stuff.
I'm not really a human, but I play one on earth.
flash japh