I'm not talking about a worldwide steady state, but for the embark only, generated when the embark is generated. Gradually generating trees of decreasing age is one (fairly good) way to get to this state before the dorfs and the wagon are plunked down.
Having fixed tree locations is probably not a good idea because it causes trees to grow in, well, fixed locations, which results in an artificial feel. The idea to have a fixed maximum number (but not locations) of trees in each biome of the embark is probably better.
Having a fixed number of trees per embark is about the most artificial tree idea possible, it is basically like having some kind of localised version of the site limit, all the trees keep growing until they reach an arbitery limit and then for no apparant reason no more trees grow. It leads to a situation where we end up having to cut down trees for no reason at all simply so our orchards can grow properly on a completely different part of the map.
Trees do grow in fixed locations, nothing could be more natural. Basically, trees grow everywhere that they can grow unless something (humans or animals) stops them from doing that, this means that at core it is all or nothing. Either a place is a forest and has trees (of a particular type), or it does not have trees; in the former case the only limiting factor to how thick the trees can grow is the proximity of the trees to eachother, the more light, nutrients and water there is the closer together they can grow. Those factors however (proximity) are already in the game I think so what isn't in the game is the limitations on where the trees can grow at all.
We initially carve the map up into random zones (until we can actually model the real-world factors) and then we scatter the initial starting trees only in those zones. We then create our second generation of trees in an area around the first generation of trees, then we do so again and again until we get the number of trees that mathematically speaking would cover the whole forest zone with trees. The more unforested your area is, the less of the map is covered by the random zones so that in a desert you will be lucky to get one small cluster of trees but in a woodland the whole map is all one forest zone.
When we model in the aging of the trees it gets rather interesting. Since the age of the trees is random within parameters, some of the trees on the map are about to die when the map embark actually loads. This means instead of having all the trees scramble to snap up the inexplicitly empty space, we have the oldest trees randomly die to create space for the other trees to scramble for in a realistic fashion.
The idea to basically grow forests in rings out from existing trees has several problems. One problem is that the tree species of a sapling currently seems to be basically random (out of the set legal for the biome), rather than based on actual biological spreading patterns. Another is that spreading patterns differ between species, where some drop their seeds close to the base of the tree, some spread the seeds with the wind, and many rely on animals to spread seed through varying processes, etc. In particular bird dropping spread seeds can basically end up anywhere. In the end, I think modelling tree offspring distribution is a very low priority DF implementation task, with the current random one being good enough.
Trees dying "of old age" is sort of realistic (sort of, since they tend to die in batches, such as by a storm, drought, fire, or severe attacks by pests). It also creates new problems in the form of tree cutting cancellation, a new FPS sink, etc. Of course, a new danger in the form of getting hit by a falling tree befits DF. Again, though, I don't think the gains are worth the effort for a long time (belonging to the DF polishing phase 20 years from now).
I do not see the problem with tree cutting cancellation because the trees can have a period of time between dying and actually falling over, nothing would mechanically stop you from chopping down a dead tree. I am also not convinced that trees do not spring up close to eachother, from my experiance of the game trees of the same kind tend to be found in clusters after you have played for a while, since the original trees on the map seeded more trees of their own kind nearby.
In any case, I am not talking about trees growing during play, I am talking about building up a model that reduces the need for new trees to grow after embark by simulating the growth of a forest over a period of time prior to the embark. That will very much increase FPS since trees growing is a major FPS drain (why FPS always drops in Spring+Summer).
I just generated a random embark to show trees do indeed grow beside each other. The embark has at least one
.....
..T..
.T.T.
.....
and one
....
.TT.
....
Trees can grow next to eachother but only if both trees grew up at the same time. Grown up trees have a 'kill-zone' around themselves that snuffs out any sapling (but not grown trees) that falls within it and the larger the tree is the greater it's kill zone. It would make sense for the devs to have made the size of the kill zone bigger or smaller depending upon the biome.
I am rather sure that Toady One would have liked to make things a steady state but people's computers only have a limited amount of memory and processing power. The reason we have the present situation I gather is because the memory requirements to actually model a whole forest full of trees is too great for the average computer to handle. The reason we have treesplosion is because the number of trees that are supposed to be there according to the core mechanics for tree growth, which do already space the trees out according to biome I think is larger than the memory could ever sustain on a global scale.
Steady state = unvarying = what we have before embark.
No, the reason we have treesplosion is because the current values for spacing are insufficient. Surely deserts/savannas (away from oases) aren't meant to be dense with trees/cacti? The density at embark should be considered the natural state. Scarce means scarce.
The reason we have treesplosion is that the original trees are not supposed to be the final number of trees; they are also rather small, intended to grow larger over the course of the game in order to take up more space. The question is thus a subjective one, how densely forested is the desert/savanna biome 'supposed to be'?