Please consider supporting us by disabling your ad blocker.
Rust Devblog 160
Posted on May 19th, 2017 09:54 AM EST
Tl;dr entity counts on large servers should drop by about ~50,000, and you’ll see some memory usage reductions (after a wipe).
Invoke OptimizationsI moved over nearly all of the remaining Unity invokes to our optimized invoke handler. This generally eliminates overhead and makes our code more robust as I explained when I first added the system to the game. Nothing too exciting, but progress nonetheless.
To prevent the abuse of the extended pickup mechanic on window bars and embrasures for unintended use cases I added a penalty when picking up those building pieces. They now lose half of their health whenever they’re picked up, and need to be repaired with the hammer after placing them again.
We want to rework decay to make it more intuitive and much more efficient at solving the problems it’s meant to solve. The first step for this was to optimize the decay computation on the server to lay the foundation for more complex decay behaviour in the future. Once this was done I enabled decay on all twig building blocks such that all parts that are left over from raids decay quickly within two hours, eliminating the need for the base owner to manually clean them up.
Floor spikes have been quite useless for a while, especially so after re-enabling twig raiding. I changed them so they now block foundation placement the same way barricades do. They’re still quite easy to destroy with metal tools, but can offer some protection for smaller bases and can be useful to block hiding spots around your base entrance. If they turn out to still be useless after this change we can adjust their health as needed with the next wiping update.
Rocket Factory Building
I continued work on the rocket factory building. I focused on finishing the ground mesh and did a dressing pass on the ground level. In addition, I have created a scaffolding around the rocket, polished the interior geometry, added damage to the walkways and began to playtest the layout. My next step for this area is to finalize all the paths throughout the levels, finish the jumping puzzles and add ladder access to open up different levels of the building.
Water Jug Sounds
I made a bunch of recordings for the water jug this week and have done most of the editing to get the final sounds ready to go in game. Should be finished next week!
Floor grills have been rarely used since they offered little advantage over the normal building floors. To give them a purpose you can now build them closely above the large furnace as they allow for the needed air ventilation and therefore fulfill a specific purpose in the game.
I was able to build the song up from much smaller audio clips because of the new playback system, so we’ll be able to save bit of disk space and memory too. The bassline, for example, is built up from 5 different 1 bar long clips now. In the previous system we would have needed 6 different clips and they’d all have to be 8 bars long, which would have been about 10x more audio data.
I’ve also started working on another song that I’m pretty hyped about so far and have spent a little more time fine tuning our other existing songs, particularly looking for spots where I can swap longer clips out for a handful of properly arranged shorter clips.
I’m getting pretty close to having this stuff wrapped up, but I think I want to sneak another new song or two in before I push it out. I’ll have previews of those up soon.
Player Preview Animations
Shading Revamp Progress
Below is a video showing off the new skin shader on the viewmodel hands. Please mind that some of the textures were tweaked by me and are still pending on a proper contribution from a real artist. Same goes for the player/worldmodel skins. Regardless, you'll be able to give it a spin tonight on Staging.
I also started building a new hair shader that I plan to unveil next week.
Melee Weapon Impacts
The packed dirt kept the metal from ringing out really nicely without adding too much of its own character to the impact. I was careful not to strike at an angle and kick a bunch of dirt up, so there’s not really any debris sound, and it layers really nicely with our existing grass/sand/cloth/etc impacts.
A while back I did soft material impact variations for most of our melee weapons by editing the existing impacts, but the quality improvement from using separate recordings was pretty massive, so I’m having a go at re-recording other melee impacts in the same way.
- add Added Shotgun Trap
- fix Fixed distant see-through walls when using TSSAA or MB
- fix Fixed AI “look rotation viewing vector is zero” error
- fix Fixed Planner leak (50k entities saved on large servers)
- fix Fixed some older item skins not working
- upd Optimized building decay processing on the server
- upd Decay now applies to all twig building blocks
- upd Moved most remaining invokes to the optimized invoke handler
- upd Can place floor grills and floor frames above large furnace
- upd Floor spikes block foundation placement similar to barricades
- upd Window bars and embrasures now store item condition
- upd Window bars and embrasures lose half their health when picked up
- upd Flame turrets can be placed closer to walls (viability in airlocks)