Performance, physics, harpoons and tanks
2:30pm EST - Just restarted and wiped due to poor server performance. We are running much smoother now. We're on a new seed (map) and slots have been increased to 175.
1:56pm EST - Welcome to another week in Rust development! The team is cranking away on some good stuff but before I get into that, I'd like to revisit a conversation from last week...
Entities, performance and you
Last week I discussed performance, and specifically, how the quantity of entities affects performance. I hypothesized as more and more entities were added to the server, performance decreased. As a result, I decreased the server size for a couple days to see if we could extend the period between wipes. We succeeded in creating less entities, however, the performance still dropped rapidly and we had to wipe after 3 days. I raised the slots again and wiped going into this weekend. Friday night we ran smooth as silk, the way the game is meant to feel. Saturday, things were less smooth but still playable for most. Sunday, many more people started complaining of LAAAG (aka low framerates). All this time, entities stayed under 100k.
So here's what I can discern: Yes, entities do contribute to poor performance from a loading standpoint (initial spawning and walking around the map). They do not, however, appear to be the main source of servers experiencing very low framerates a couple days after wipe. Also, just restarting the server and loading the map does not improve performance (I've tried it), wipe is the only way.
Here's the good news: If you read the Friday devblog, Garry is aware that performance is an issue. The development branch already has some performance enhancements live (atlas LOD’s, dropped items disappearing after 60 seconds). Along with that, Unity beta 13 has some performance enhancements (see release notes here). As more and more optimizations are implemented, the game should run smoother for longer.
Here's the bad news: At the current state, the game only runs really smooth for about 24 hours after a wipe. The second day is playable for most (depending on your computer), however, by the third day, performance is shit. Given this, I'm going to wipe this afternoon and plan on wiping again later in the week as performance dips.
Build physics
Garry is working on a new branch today called “strctintg1”. He tweeted a couple images earlier with the message:
Screenshots for the Rust subreddit so they can misunderstand & we can steal their better ideas.
Here's the 2 screens:
The general consensus is he is working on some load bearing calculations for the new building system. We'll have to wait and see if and how these are implemented. To read more about this check out the reddit post.
Chicken animations
Goose is working on some more animations for chickens walking and eating. I’ll post videos as they go up on trello.
Light optimizations
It is pretty well known that you can start to experience big FPS drops when you are near a large amount of lanterns or campfires. To help with this, Andre has added the LightLOD component to lanterns, campfires and furnaces. LOD stands for level of detail and basically allows the game to render different versions of the models depending on the graphic settings. I'm happy everytime I see LOD in a commit because it means better FPS is on the way.
Concepts: Harpoon guns and storage tanks
Megan posted some harpoon gun concepts and Howie posted some storage tanks. Check them out here:
Tip of the day: Sleep in water
If you're a fresh spawn and haven't built a secure house yet, going to sleep in a field is tantamount to playing russian roulette with bullets in every chamber. It's best to find a spot to hide your sleeping body away. One of your best options is under water. Your sleeper actually won't drown and it is much less likely someone will stumble upon you. Just make sure you get your ass out of the water and warm up quick once you log back in.