Devblog 183

Halloween is here, with an unholy update of skeletal remains, graves, burning skulls, and network encryptionnnnnn!

26 October 2017
Video Update
Halloween Items

Happy Halloween! To get into the spirit of things, we've added some new decorative Halloween deployables. There's a scarecrow and a skull fire pit available on the Steam item store.

In addition, we've replaced the existing resource pickups with Halloween themed ones for Metal, Stone, Sulfur, Wood, and Bones. For the period of Halloween (next patch) they will yield 50% more resources as well.

Loot Chance Equalized

I'm doing a bit of a test here. I've made it so that loot items all have an equal chance of dropping in their tier. It was bad enough that some tiers had 40 items, to make it so some of those items had a 1/10 chance of dropping was ridiculous. I hope this makes some unattainable items a little easier to get, but just know all of this will be squashed soon when I do what I mentioned last devblog and set up dedicated rarity categories for each drop slot. Either way, let me know!

BoneFollower Fixes

Even though we're ditching this element soon, I ended up fixing a bug that would cause objects that were parented to another object to sometimes lag behind their parent while it was in motion. This was noticeable in vehicles and when people were running: you'd see the weapon models one frame behind their position. This is now fixed.

Garage Door

The garage door is now in game and works exactly how you'd expect. You'll find it in crates, and though we don't have vehicles yet, I'm sure people will be able to find a use for these in the meantime. Check it out:

Autoturret Performance

I fixed a bug where all autoturrets were always performing their calculations in the same frame. So if you had 400 autoturrets deployed on your server, one frame would take forever and lock up the server because they would all be thinking at the exact same instant. I've changed this so the work is done over many frames instead. Servers should hiccup less because of this.

Server Performance

I tracked down and fixed several server performance issues this week. The main problems were caused by garbage collections, similar to what we've experienced on the client, but there have also been some significant bottlenecks hidden in entity snapshots, networking and logging. Things should be a lot better now.

Network Encryption

I spent the better part of this week testing, fixing and improving network encryption in cooperation with EAC. We're confident that it's now in a state where it can go live on the vast majority of servers, which is why it's enabled by default starting today. It does come with some performance overhead, but it should be minor enough for all servers to have it enabled without running into problems - particularly since we improved server performance in other areas quite a bit this week. If you're a server owner and you're having trouble with it on your server you can adjust it using the encryption convar.

  • encryption=0 disables network encryption completely
  • encryption=1 uses a very basic encryption algorithm
  • encryption=2 enables the full network encryption

The default value is 2 and we highly recommend leaving it that way. Changing the convar at runtime via the server console or RCON is supported, but the updated value only applies to players who connected after the convar change.

Launch Site Changes

Besides working on the icebergs I did some tweaks to the launch site this week. As some of you have pointed out, the ladder leading to the top of the launch site roof was pretty dangerous to climb, and you could be easily camped down. So I did a quick rework of this area and added some makeshift walkways to make climbing easier.

In addition, we had some internal discussions about adding additional paths to the rocket factory building and we have some plans to make this area more varied and easier to take cover in. This, however, will come in at a later date as it will require some more work.

Snow Biome Improvements

This week I finished all of the highpoly icesheets and textures for them. I also made some ice debris decals that will float around the larger, traversable sheets. With all elements complete, I started to put everything together and did some work on the iceberg scenes. The area around the buildable icebergs should be fully traversable on foot, requiring miminal jumping.

Below are some shots of my progress. I'm currently toying with the idea of putting some assets that would contain loot drops, which would make these areas more useful to the players.

AI

This week I have mostly focused on getting the basics of our AI improved. More solid stuck prevention, better spawn locations, improvements to movement, and Navmesh Grid polish.

Nail Gun

It's nearly ready for handing over to Goosey to animate. At the time of writing this, I had incurred a bit of discrepancy between the old and new shader that we're opting for. Basically, the model doesn't look as it ought to. So after speaking to the wizard diogo it seems that I will have to convert it from using the specular workflow to the metallic workflow for the new shader to be of use.

In the meantime, enjoy some pictures and spinny things.

Water Effects

I noticed that some of the sprites we're currently using for water effects were a bit low-res, so I used Houdini to create some new water splash sprites. I made some improvements to various effects, such as the splashes around rocks and the water splash that gets created when vehicles drive through water. I also noticed there's no effect for when a player jumps into water, so I added one.

Player Model Tweaks

Tom and Taylor brought up an issue regarding the player models elbows/wrists (in 3rd person). It looked really distorted. I investigated further and realized Unity was doing something funky with the bone rotations. Fortunately, I was able to track it down and correct the player animations, so their bones are oriented the way their supposed to be. The elbow and wrist joints should look more natural now, but there's still room for improvement by adding more polygons around those joints and tweaking the vertex skinning.

Decal Biome Tinting

This week I made a small, albeit visually important change to decals, like footsteps or bullet impacts, when applied on terrain. They always had the same base color, independently of their location. I've now modified the shader to apply color variation according to the biome they're placed at:

New Tree Shader

As part of a future vegetation aesthetics revamp, I've implemented a new tree shader to roll out support for proper physical-based lighting and specular, using a new two-sided foliage approach, as well as thin subsurface scattering.

This shader will first be tested on a different project (Moss) and rolled out to Rust later in a more robust form. Unfortunately, taking advantage of this shader requires non-trivial artwork, so I'm sparing you from disappointing programmer art.

Optimizations

There have been some complaints regarding performance this week, so I took a couple of days to take care of some low hanging fruit. Some of these might make an immediate difference, some might make a difference only on populated areas, while others may only affect performance on specific player states:

  • Added particle collision distance LOD on both Flame Thrower and Turret
  • Disabled particle collisions on corpse flies effect
  • Disabled particle collisions on plant seed effect
  • Reduced Sky Reflection texture resolution
  • Optimized bloom post-effect even further; 2x faster on CPU
  • Optimized image effects composition engine
  • Optimized frost/cold effect; 2x faster

There are still a lot to improve but it's hard to prioritize with so work ahead of us. We'll do our best to keep optimizing any chance we get.

183 October 26 2017
  • fixed

    Barbeque can no longer be placed in monuments

  • fixed

    Barbeque no longer clip through walls

  • fixed

    Fixed client bone follower performance regression

  • fixed

    Fixed some visual issues with the halterneck

  • fixed

    Fixed permanent Debris Field markers

  • fixed

    Fixed BoneFollower 1 frame delay

  • fixed

    Fixed AutoTurret server lag

  • new

    Garage door frame block

  • new

    Added Scarecrow deployable

  • new

    Added network encryption (enabled by default)

  • new

    Added encryption server convar (0-2 for various protection levels)

  • new

    Added Halloween Collectables

  • new

    Added Skull Fire Pit

  • updated

    Replaced the ladder leading to LS roof with walkways

  • updated

    Optimized network stream read / write

  • updated

    Optimized network RPC parameter handling

  • updated

    Optimized network queue iteration

  • updated

    Optimized server logging

  • updated

    Optimized server garbage collections

  • updated

    Double shotgun deploys quicker

  • updated

    Wall Netting cheaper + default BP

  • updated

    Item drop chances equalized for each tier

Mailing List

If you want to follow this project you can sign up to the mailing list.

We'll only update you about this project, we won't spam you about other stuff or sell your email address.