Self replicating trees in native biomes.

  • I would like to see trees drop saplings when they get to a very old age. And these saplings would plant themselves depending on wether they are in a viable location or not.


    An example would be a spruce tree gets very old, And drops a random number of saplings, A sapling may slide down a hill into an area that has no nearby trees, And also is the Native biome for this type of tree. So the game would allow this sapling to plant itself. While another sapling that was ejected from the tree got hung up on a rock, And is too near other trees to allow it to plant itself. It would then lie on the ground as an object until either a player picks it up, Or it is deleted by the game.


    This wouldn't work very well on flat ground, So maybe the trees would need to eject the sapling a short distance. Possibly simulate it being blown in the wind.


    Another example would be that a player goes to the beach and brings home palm tree saplings, Which he then plants around his house.
    However, He lives in a non sandy area. So the palm trees would never be able to replicate themselves due to improper terrain. But the player would be able to pick up the fallen saplings and plant them manually. Given that he is there when they hit the ground, And they are not deleted by the server first.


    Trees should replicate according to their environment, Such as a spruce in grasslands can have a higher density of trees. Where as a spruce in frozen tundra would be a lot thinner. And a snow biome would have the least amount of trees.


    This would also be a good idea for flowers and shrubbery. Although their distances apart would need to be very big.


    On populated servers when you first spawn, There are no trees, Unless they are protected by the admins. Which is also completely useless to new players. A lot of servers line their roads with trees that are protected, And yet within the unclaimed lands there isnt a single tree. And you literally have to travel enormous distances just to find a few saplings to bring home.
    If trees could self replicate, Then all of those trees that line the roads on these servers would start sprouting saplings into the unclaimed and claimed areas alike, And would be much more realistic than it is now.

  • I would also like to see this and when animal AI becomes more advanced, animals should eat local vegetables but plants/trees/vegetables should be able to spawn saplings within a certain radius of the matured version. Animals should only eat matured plants and a sapling should possibly spawn nearby immediately after the parent matures and fruits. Finding vegetables may or may not be more difficult depending on how the spawn rates of vegetables and of animals is set (would have to be tweaked as time goes on).


    The only issue I see is, as you said, they would replicate on their own which means they will start growing in unintended areas. But I suppose lawn maintenance is something that we would have to do in real life. In that regards, grass should also re-grow and spread.


    Perhaps an addition to the API would be useful to set whether or not automatic re-growth is allowed in a chunk.

  • This would be a very nice addition to the game for all vegetation. Allow a sapling to land and instead if the normal despawn rate elapses it plants itself. Animals could pick them up and carry them as well not to mention the upcoming bandits and other npc.

  • This would be a very nice addition to the game for all vegetation. Allow a sapling to land and instead if the normal despawn rate elapses it plants itself. Animals could pick them up and carry them as well not to mention the upcoming bandits and other npc.

    At present, NPCs have a hunger level as we do but it's not being used. I'm sure its just a matter of writing the code to add feeding habits. Then we can all start competing for food sources but naturally respawning vegetation probably needs to be implemented first.


    and if a "shit system" is implemented we could use the shit for better farming and such too


    I was just reminded of the "Pooping Evolved" and "Press Z to Poop" tribes in Ark Survival.

  • At present, NPCs have a hunger level as we do but it's not being used. I'm sure its just a matter of writing the code to add feeding habits. Then we can all start competing for food sources but naturally respawning vegetation probably needs to be implemented first.

    Implementing feeding habits is less trivial than it might seem.


    It requires search and path finding algorithms for the animal to locate and reach the plant it can feed on; for carnivores, it requires hunting procedures. All of this requires a good deal of animations, sounds, ...


    The hunger level is the easy part, as it can simply be a function of the time and, not surprising, it has been implemented sooner.

  • I know tree spawning can be done via a script because i saw the planting script. But how much cpu load would a script cause, that implements self planting trees like i suggested above. It's a huge job, But if could be done a little at a time, Maybe it wouldn't be so bad.

  • I know tree spawning can be done via a script because i saw the planting script. But how much cpu load would a script cause, that implements self planting trees like i suggested above. It's a huge job, But if could be done a little at a time, Maybe it wouldn't be so bad.

    Wait, wait! You are missing the most important part. The planting script just adds trees out of nothing according to parameters. A spawning script should work on the existing trees, adding new exemplars of the same kind at reasonable, even if random, distance and spread. It should also take into account existing room: for instance, in most RW pine forests there is actually no room for new trees.


    Then, the script should know where each existing tree is, of which type it is and how distant from other trees (of whatever kind). I don't know if the API currently support this type of query. Then, of course, CPU load might be a concern, given the number of trees in an average RW world!

  • That's why i was thinking it should be done by zones, A little at a time. I don't even know if we have zones or not. Basically the sript looks at one small zone and locates every tree, Then it quickly surmises if there is room for any of them to spread to. It makes a list of all viable trees, And activates their "sapling event" in a random order, And this "Sapling event" checks to see if there is still an open space near them before it activates, So two trees don't plant too close to each other.


    And then it moves on to another zone.


    Like i said i don't know how much of a load this would put on the server, If it's too much maybe it could be run from a second computer that has the whole world loaded, And does nothing but events like this, And sends the results to the game server in small increments.


    It's a big job i know, But on some servers there just aren't many trees left.

  • If things are are distributed wisely in time, it may work.


    Unfortunately, as far as I can tell, there is no way currently in the API to detect trees. And, surprisingly, they are not even stored in the World DB. How are they put in the world, then? Are they procedurally defined only? Only trees which should NOT be there (trees which have been cut) are stored in the DB? Who knows...


    Fact is that at the moment there does not seem to be a way to implement this interesting suggestion!

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!