Jump to content

Question

Hi guys, I've been playing multiplayer almost non-stop since the game came to steam. One major problem that I've noticed is that if a lot of entities are lying around in the game; tree remnants, stone tools, etc., multiplayer games will start to glitch out a bit. Objects will still be in the game, but they will be invisible to players. This is especially annoying when a foundry can't be found that was placed earlier, or blocks that are being placed are invisible. There are many easy ways to fix this with Unity's C# APIs. A combination of an IDropHandler.OnDrop event,  System.Timers (like 60000 milliseconds), and/or Object.Destroy (a timer can be set with DestroyObjectDelayed but I'm not sure about setting a flag with this method) could start a timer when an item is tossed, and can be modified a bit for objects that weren't picked up like bark, dirt, etc. after a player has interacted with an entity. 

  • Upvote 3

Share this post


Link to post
Share on other sites

6 replies to this bug / suggestion

Recommended Posts

  • 0

I've been doing that for a while rock0head132, but thanks for the suggestion. People end up doing it either way, and once I leave the main island there's none there to break items down or store them anyway. Most other games have a bypass for automatic garbage disposal, and Unity has some specifically for their engine as workarounds for languages that have auto. Getting rid of useless entities can greatly improve optimization, among other things.

Share this post


Link to post
Share on other sites
  • 0

Just like IRL, there's litter around to clean up.  Given UNITY's built-in API for entity clean-up, why not simply utilize it to start cleaning up these unused items lying around (taking up render/GPU/CPU time)?  

Several strategies exist for this, but the simplest would be to give any discarded item a default timer before being auto-destroyed.  5-10 minutes is most common to set.  Items like player drops from dying could be put into a special container entity (that doesn't time out, or at least has much longer timer-like an hour or two) such as the tombstone currently being used to hold more important items for recovery.

Hope this helps.

Edited by Ethan Gordon Wilson

Share this post


Link to post
Share on other sites
  • 0

After i chop down a tree,   3 swings  with an axe destroys the stump allowing room for a replacement tree to  be planted.  I also sue discarded dirt to either reclaim land from the  ocean around my base, or  fill in pits left after mining ores.

As to older weapons etc. i dismantle them for the metal  etc. and  re use if possible.

Share this post


Link to post
Share on other sites
  • 0

Well, dropped stuff, and free placed stuff are different, and removing dropped ones sounds nice, as long as it doesn't affect placed decoration stuffs.
In the "long run", i think a decay/renew system will be necessary. Claim blocks, and nature reverting to original state after a long time (caves, wildlife, terraforming, POIs).
Sorry if its a bit off-topic, but reseting non-claimed areas would remove dropped objects too in that area i guess.
By the way, i understand the pain, my forests are full with floating logs since i don't like the propeller in my pirate roleplay :D

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×