In general, I’d think more precisely about what it is that you want your design to do well, related to the environment it will live in! Pick a few parameters and try to optimise towards those (maybe start at the most achievable or important).
The overall shape of a fish, down to the pattern of its skin and functionality of its inner organs, is mostly optimised for speed and agility at low caloric cost. If you need to flee predators all the time, you need to be fast, but use the least amount of energy possible. After surviving an attack, you still must be able to get food, in order to replenish your resources and start the circle of life anew.
Fish evolved over millions or trillions of years, which optimised each species for what it needs to do up to now in its more or less stable environment.
Obviously the downside to this is that when your environment changes rapidly, you’re pretty much f***ed. Evolution takes thousands of years and many more generations of a species to make big changes, thus allowing it to adapt and survive.
We humans are to a degree an exception this, since we have a creative nature, meaning that we like to come up with stuff that make our lives easier or satisfy some primordial feeling that still slumbers inside us, since one of our ancestors crawled out of the primeval soup.
The next generations will probably see how adaptable, we truely are through our ingenuity, if the world around them turns into an erratic, climatic hell.
There really are no true nature imitating plugins, but there are some that try to emulate principles or concepts that we humans fancy ourselves to have discovered in or extracted from nature (i.e. emergence, L-systems, Vornoi patterns, phyllotaxis, genetic algorithms, phenology, [machine] learning, etc.) and do our best to imitate.
If you want to play god, in that god is an extrapolation of human qualities and abilities to the infinite, and thus the mysterious creator of everything that you can’t explain at the moment, you might be interested in genetic algorithms, emergence, and even machine learning. But your goals must become clearer first. There’s no sense in optimising towards an unknown ideal.
Also, the pitfalls of optimisation strategies are often that the most optimised isn’t the most sexy thing. Let’s say you optimise towards flotation. I imagine that you would topologically end up with some kind of sphere, which is fine, but boring! Now you need to introduce more parameters to evolve towards a more interesting object.
After hundreds of parameters, iterations, and tries, you’ll then discover that this still wasn’t enough, that some spice is missing, but you’ll accept your optimised, yet imperfect object. However, you’ll also discover that we simply currently don’t have the processing power, data pool, and imagination necessary to mimic the complexities and apparent chaos of nature. Millions animate and inanimate objects interact in millions of interacting environments at different scales to produce the intricate, beautiful system that we humans describe as nature and that we live in. By the way, this also why the weather forecast sucks and isn’t reliable for more than two to three days, if at all.
So my advice is, do your research about the environment and how objects that live in it have solved some of the challenges it poses. Go crazy on the design and don’t shy away from giving it your personal touch. Now you can computationally optimise your prototype towards some interesting or important goals within the boundaries of your current design.
But remember, pretty much each simulation and optimisation that doesn’t respect all of nature’s parameters is probably futile, or is it?