a few pics here
Downtime gives me a chance to tell about my latest project. It isn't complete yet by any means, lots of work to do, as you will imagine if you have the patience to get to the end of this post, but I now have more than 3/4 of the functional core system actually working ...
For several months now I've been very slowly working toward integrating all my various wildlife products into a "living" environment. Just recently, having obtained an island I've been able to make a big leap forward in progress, to the point where I'm reasonably confident to discuss some of my findings and if anyone's at all interested I will soon release the simple protocols I'm using so people can add their own creations to my system in a modular fashion...
Bear in mind my aim here is a "toy" system, so overt reality can step sideways a little. The emphasis is on reasonably quick gratification from user participation or from simply being a spectator and watching the system 'evolve' and grow.
So these are the working components with far more planned if it's successful ...
Energy for growth is provided by the sun proportional to cloud density. Scripted rain clouds roam the sim providing water for localised nutrition. Trees and plants grow proportional to the amount of water and energy they receive. If they reach maturity without dying from lack of energy they seed one or more times and eventually die off.
When trees reach maturity one of the their tasks is to check the local environment. Trees will sprout Bee Hives and Birds Nests if none are within a set range.
Bees fly around during the daytime pollinating mature flowering plants. Pollen contains genes and these genes are mixed in the flowers as bees visit them. Genes can be used for any purpose I like. Currently I have colour, texture, size and growth rate as the main genes. Once pollinated a plant will release a seed which is blown by the wind.
If a seed lands on suitably flat ( not too steep ) terrain it waits for rain and will grow where it lands. If they land in water some seeds will sprout water plants such as lilies and reeds. Seeds will llDie() if they don't receive water in a set period.
Birds fly around pestering visitors just like they always have on my lands, but now they get hungry too ! When they get hungry they search out seeds and young seedlings and eat them up. ( I was working on this bit when they took SL down for maintainance today ! )
A system of camouflaged "marker" prims can signify various "habitats", like shady, sunny, boggy etc. and plants will use these markers to modify their energy use. This gives scope for a wide variety of localizable plant life. I already have one marker prim type, any prim with the word "ground" in it's name can be used by plants as a place to grow on. If blown seeds collide with prims other than "ground" prims they instantly die.
Plants also rez Linden plants around their bases to add some pretty dynamic effects and I'm using particle effects to show when trees produce flowers and when flowers are pollinated by the bees.
So rain comes along, seeds grow, cycle starts again. Currently this cycle takes a about day, but it's totally variable to any period. For development purposes I can make the plants grow almost instantly.
As a user/owner you start by releasing the clouds and planting the little seeds around the area you want to grow in and then sit back and wait for it to happen. I'm using llWind to push the clouds around and it appears my clouds cover the entire sim approximately once an hour, but they aren't always raining ! You can also manually "water" plants to keep them alive if you see them getting dry and want to make sure they survive.
So far I've made 2 kinds of seed, I call them basic flowers and basic trees because I plan far more complex and some very exciting life-forms if these work out well. Both types grow from tiny seeds, into seedlings, into mature trees or flowers if they survive lack of water and being eaten by the birds. This balance is something I'm currently constantly tweaking until I find a happy medium.
So you, the user, end up becoming a "gardener" in the true sense. You can plant seeds, tend them, prune them etc or just sit back and watch as Mama Nature slowly takes over your sim

So lots and LOTs of work left to do, but the basics are now up and running in a corner of my sim, with a few little problems to iron out ...
- Birds currently eat too far much, logged in this morning and all the flowers were gone !
- Growth rate is being constantly tweaked until I find a happy medium.
- Scripts will need optimisation if the system is to cover the entire sim.
** BAD THINGS... !!..
Here are a few caveats I'm still concerned about ...
- Prims.
This can be extremely heavy on prims, of course detail can be lowered, and I intend to use particles too, but nonetheless it will still require at least 2000 or more prims for a decent system. No problem if you have an island or a sim, and I expect this kind of thing will only ever be possible on a private sim anyway, so maybe prim usage isn't such a big problem.
- Scripts!
LSL, what a bitch she is !
To grow a plant, every prim needs a script. Once grown to maturity I currently automatically delete the spurious growing scripts but it still leaves at least one script per plant to make it work properly. This means potentially 1000s of scripts! Just how many a sim can handle before performance drops too far I've yet to find out. I've had roughly a 1000 scripts running during development and it wasn't even noticeable compared to the lag caused by a couple of visiting AVs. And I can see myself deleting the extremely primmy dome on my castle which is by far the worst frame rate hitter in Svarga atm !!
-Bandwidth.
Each growing prim requires the client to do a full update. But this was only noticeable when I had several 100 prims all growing very rapidly indeed during development. In the real working situation the plants update infrequently and only one or two in any localized area will be growing simultaneously
** NUT SHELL:
* System Control
-- Cloud Controller turns off/on clouds, stops water flow, eventually kills all plants.
-- Touch hives to turn off/on, stops bees, stops re-seeding and expansion.
-- Touch nests to turn off/on, stops birds, speeds up expansion!
-- ToDo : have plants contact controller to give an approximate prim count.
* Sim
-- scripted clouds provide water
-- water + sun = energy for growth
-- sun density related to sim cloud density. ( llCloud() )
-- energy = life
-- energy keeps plants alive
-- stopping the scripted clouds stops the flow of water
-- no water = no growth
-- Everything dies after 6 hours of no water
* Marker prims with coded names represent habitats:
-- damp
-- dry
-- boggy
-- shady
-- etc
* ...or nutrients:
-- acid
-- alkaline
-- etc
* Plants
-- seeds grow into plants using energy
-- grow, spawn seed and die
-- pollinated by bees, can't seed unless this happens
-- compete for space
-- seeds falling into water become water plants or die
-- some only exist under trees
-- some are loners (hi prim) can only exist if no others are around
-- some look for marker prims
-- older plants should be stronger than seedlings ?
-- never die. this type would delete all its scripts.
* Trees
-- spawn birds nests if none are in range
-- spawn bee hives if none are in range
-- act as markers for certain plant types
-- grow, live for a while, die and fall over with a crashing noise !?
-- never die. this type would delete all its scripts.
--- fallen trees could be markers for fungi and other fun stuff ! ?
* Wildlife
-- Mostly already implemented.
-- Bees transfer pollen / plant genes
-- Birds eat seed and bees, could also move seed around the sim
-- Birds also eat young plant shoots.
-- More variety, ... small animals ?
* User Interaction
-- tending the garden
-- planting seeds
-- watering dry plants
-- weeding / removing spurious plant growth.
-- felling unwanted trees.
-- cross pollination / plant breeding
-- sit on the rain clouds, be taken for a trip around the sim on a cloud !
* cons
-- 1000s of scripts!
-- needs 2000 or 3000 prims