5:30pm EST - Server was crapping out, had to pull the plug. We're coming back up now with a fresh map. Also, I dropped the slots to 110 to slow entity growth for the time being.
1:43pm EST - We're in the second day of Rust development for the week. Garry is still cranking on the construction2 branch while the rest of the team is cleaning up miscellaneous things. The last client update on the main branch was Friday evening. Before we get into the specifics of what the team is working on, I want to address a rising concern of mine about gameplay.
Not many people are fans of wipes, including Garry. He has said repeatedly, in his ideal world, wipes would never happen. I get it, losing your stuff sucks.
I'm actually torn on this point though. On one hand, building and maintaining an empire is fucking sweet. Towns and community works projects are also really cool (see Route Rustafied below).
That being said, some of my favorite times have been when I’m starting out naked with a rock (especially when everyone else on the server is in the same situation). Crafting your first tools, building that first base.
To me, more than any in game possessions, performance is the most important factor in gameplay. Unity 4 (what legacy ran on) had a collider limit of 65,000. That meant when a server hit the limit, it would have to wipe. Facepunch battled this with the decay system and tricks like making all tree’s 1 collider. Unity 5 (what experimental runs on) does not have this limit. That is one huge step forward in the goal of not wiping. That’s great but I'd like to draw an important distinction: Just because we don't have that limit doesn't mean the game can handle unlimited entities. Performance suffers as entities increase.
We last wiped the server on Friday at 7pm EST. Almost 90 hours later we are at 170,000 entities and rising. You know when you spawn somewhere new on the map and the loading screen shows snapshots and entities? That is loading every entity in the area you are spawning in. Already, that number is going well into the 5 figures depending on the place. That is after 3 days! Imagine when that number starts hitting the 6 figures? You’ll be waiting 20 to 30 seconds to load the area each time you spawn. On top of that, notice the severe frame drops as you walk around a populated map? That is your client loading new map entities from the server. As with legacy, this is a jerky process with can lag your client out for seconds. As a map get more and more populated, your client lags out more and more often.
We are reaching unknown territory. The most entities we've ever had on a map was around 180k when that tree spawning bug was happening. Around that point, the server crashed. I don't know if the crash was caused by the specific amount of entities or if it was something else with that build. Either way, we're going to be approaching the 180k mark today, and I'm not sure what the result will be.
The official washington server wiped yesterday (maybe because it hit its limit) and reports are it was running a shitload smoother after the wipe. I want our server to have the smoothest gameplay possible but I also don't want to wipe more often than I have to. If the server crashes because there are too many entities or it continues running worse and worse, I will choose to wipe. I’m sorry in advance for this. This is something that will get better as the game is optimized. In the mean time, we have too keep exploring the balance between solid gameplay and wipes.
Garry is still working on the construction2 branch. His commits today are a bit ambiguous (Strip CommentComponents… wha?) so I'll just leave it at this: He’s working his ass off to get the new building system out. It appears a demolish option has come back into the picture, we've now got something called a health creeper and some terrible looking health bars.
Once again, according to the devblog, the plan is to get this into the development branch sometime this week. I'll let you know as soon as it's merged so we can test it out!
Bushes and ice sheets
Andre is in the bushes today, setting up rustle triggers and changing flower clutter shaders. Rustle triggers, nice! That means soon we may be able to hear someone if they are creeping around in the bushes. He has also added ice sheets. You're guess is as good as mine, but I'm thinking they will be floating sheets of ice on the water in the snow biome. I wonder if we'll be able to build on them? Floating ice castle anyone?
Animals have been on strike since Friday's update. They simply stand around, doing nothing. All that is set to change on the next update: Animals are not only moving again, but they are going to be able to outrun the player according to this trello card. Prey animals are also going to avoid predator animals (cause yeah, it is weird to see a bear hanging out with a deer).
Tom is working on the new keypad model. It's coming along nicely, here's a new picture posted by him just before:
Some of our regulars have created a massive road system on the map. This puppy is 2 to 3 lanes wide at points, and goes from the desert biome all the way to the snow biome. The project was spearheaded by QuantumHive and has quickly become the biggest community works project I have seen in the new version of the game. Here are a couple screens (but let me tell you, they don't do the thing justice).
Tip of the day: Shotgun to find friends at night
One really cool thing about experimental is each bullet / arrow is an actual projectile in the game. That means, if you shoot an arrow straight up, it'll land right next to you. It also means when you shoot a bullet, that mother fucker travels across the map like a shooting star. Even better, the shotgun fires numerous pellets which are all individual projectiles. Each one of these pellets can be seen by other players, especially at night. If you are trying to find a friend and you think you are in their general vicinity, fire off a round into the air. If they are close they will see and hear it.