Dev-блог 183

Rust_DevBlog_183_0.png

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.

Rust_DevBlog_183_1.jpg
Rust_DevBlog_183_2.jpg
Rust_DevBlog_183_3.jpg

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.

Rust_DevBlog_183_4.png
Rust_DevBlog_183_5.png
Rust_DevBlog_183_6.png
Rust_DevBlog_183_7.png
Rust_DevBlog_183_8.jpg

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.

Rust_DevBlog_183_10.jpg

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.

Rust_DevBlog_183_11.jpg
Rust_DevBlog_183_12.jpg
Rust_DevBlog_183_13.jpg
Rust_DevBlog_183_14.jpg
Rust_DevBlog_183_15.jpg

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.

Rust_DevBlog_183_16.jpg
Rust_DevBlog_183_17.jpg

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:

Rust_DevBlog_183_18.gif

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.

Список изменений:
  • Barbeque can no longer be placed in monuments
  • Barbeque no longer clip through walls
  • Fixed client bone follower performance regression
  • Fixed some visual issues with the halterneck
  • Fixed permanent Debris Field markers
  • Fixed BoneFollower 1 frame delay
  • Fixed AutoTurret server lag
  • Garage door frame block
  • Added Scarecrow deployable
  • Added network encryption (enabled by default)
  • Added encryption server convar (0-2 for various protection levels)
  • Added Halloween Collectables
  • Added Skull Fire Pit
  • Replaced the ladder leading to LS roof with walkways
  • Optimized network stream read / write
  • Optimized network RPC parameter handling
  • Optimized network queue iteration
  • Optimized server logging
  • Optimized server garbage collections
  • Double shotgun deploys quicker
  • Wall Netting cheaper + default BP
  • Item drop chances equalized for each tier
 
Сверху