Rust Devblog 146

Posted on February 4th, 2017 07:27 AM EST

Lots of changes this week: we’ve added Flame Turrets and Tuna Can Lamps, most ammo now stacks to 128, previously visited servers should load significantly faster, rocks can now spawn with a previously chosen skin, and lots more. This patch will wipe all the servers.

 

Video Update

Concept Limbo

For the next few weeks I’ll be going through Shadowfrax’s Concept Limbooo and implementing what I consider low hanging fruit that was pushed aside for other, more important, reasons. I figure if I spend some time on this everyone will have a bunch of new toys to play with, rather than weeks of bugfixes and minor balance changes.

Wall Lamps

Pretty self explanatory, and the people over at reddit cried about this a lot for some reason. Either way here you go:

Hopefully they don’t tank your FPS and I won’t have to spend all next week removing them.

Flame Turret

I had a lot of fun with this guy. It’s an area denial trap that uses Low Grade Fuel as ammunition. You’re going to want to place it around corners throughout your base to slow down potential raiders. When triggered, they will spray flames for 5 seconds, inhibiting player movement and causing damage. Do not place these inside wooden structures. We’re also doing something a little different with this turret as an experiment: instead of authorizing with it, instead it won’t attack people with Building Privileges. If you really want to let someone into your base just take the fuel out for now. Eventually this should work with pressure pads and stuff like that, but let’s just see how this goes. Check it out:

It’s probably OP; it’s possibly UP; and it probably lags the server to hell. I’ll fix any of these issues if they come up, though.

Radiation Changes

I had this little bit of code that let a tiny amount of radiation always leak through clothing. This was annoying in practice because even in a Radsuit you had to spam bandages. I think in the future I will just have radiation damage the clothing items instead if we want to limit how long you can spend in a Radtown when fully protected.

Building Privilege Light Restrictions

I know it’s magic, but right now I don’t care: I hated how absolutely no-one designed a base that had a ceiling light or a lantern or anything like outside, because someone would just run up and steal the Low Grade Fuel in 5 seconds. Now you can only access the Ceiling Light, Wall Lamp, and Lantern if you have Building Privileges. This may change in the future, but let’s try it out for now.

Water Filling Changes

You can now only fill up water containers from the tap part of a Water Barrel or Water Catcher. There’s also a really bad particle effect to accompany it!

Ladder Hatch Changes

You can no longer spam rocks at the ‘weak’ side of a Ladder Hatch. Sorry, but this was stupid. A hatch is now completely equivalent to a Sheet Metal Door in all respects, and neither are vulnerable to being broken down by using 347 rocks on them.

Planting Changes

I’ve modified things so that plants take damage and can be chopped down. They also stick around a lot longer when they are dead, so that you have a chance to see your shitty dead crop that you neglected instead of an empty planter box. You’ll also require less trips with a bucket to completely saturate the soil of planter boxes. More work needs to be done on planting, but I’ve given it a rest to implement some other things…

Ammo Stacks

Most ammo stacks to 128 now.

Signage Cost Reductions

Wow! A large banner used to cost over 750 Metal Frags, Wood, and Cloth. No wonder I haven’t seen one of these crafted in forever. Virtually all the exotic signs have had their costs reduced to ⅓ or ¼ what they were.

Arrow Trails

The Arrow trails were using the wrong shader and did not take lighting information into account. This meant that the trails were bright white, even in the dead of night, making stealth operations very difficult. This has since been fixed.

Stripped Ownership

I stripped the ownership code out this week. I know: you liked it, you want it back, it was fun to see the origins of an item; but it was adding unnecessary overhead to the whole item system. We can look at storing an item’s creator at some point — I can see some kind of value in that — but I’ll leave that up to Helk.

Player Model Fixes

The player model’s new angles weren’t updating when the player was standing still. This meant that the player could be looking in completely different direction and you wouldn’t know until they attacked. This is fixed now.

The player’s lower half is now a dead zone, so the top half of the body can rotate within that dead zone and the bottom half will stay still, until the angles get uncomfortable and the legs will start to spin around. This looks a bit less robotic than the whole model spinning around on the spot.

I manipulated the player’s spine slightly, to avoid looking so hunched over when aiming down slightly. When looking up, the player’s upper spine bends more when aiming down the lower spine comes into play.

Skin Changes

I changed how we apply skins. The old way was dumb, and I can’t even be bothered to explain it. Long story short: the new way means we can better define which objects are skinnable, and which materials are to be replaced. This means that we can make more items available for skinning.

While I was in the zone, I managed to get a few long requested features done: Quick Craft will now craft items with the last chosen skin. Crafting queue shows items using the chosen skin. Player’s will spawn with a skinned rock if they chose one previously.

Win32 Errors

If you’re on a 32bit version of Windows, you probably have bigger problems in your life than not being able to play Rust, but this week I investigated and found a problem with our Steamworks implementation when launching on 32bit Windows.

You should now be able to launch properly. There’s not a lot of you guys left, but we’ve got your back.

Modular Pipes

I’ve been working on a set of modular pipes, electric installations, air ducts, valves, gauges and so on. Some of them were shown in the last week update on the bunkers, but they were just rough grey boxes. The idea is to create a bunch of variations, including straight, curved and broken pipes and place them inside existing interiors to add a bit more depth and interest, meaning you will spend less time staring at empty walls when exploring. The highpoly and bakes are finished, but I’m still working on texturing and setting up all variants.

In addition, I spent some time this week helping Diogo with occluder meshes for construction deployables.

 

 

Loading Times

The first iteration of the world serialization system is now live. This means the world is generated and cached the first time you join a server. Consecutive joins can then simply load the world from the cache. This means you should see vastly reduced loading times. Here’s a comparison.

Server Physics Crash

Alistair and I are still investigating the server physics crash. Since all servers wipe today it shouldn’t be a massive problem for at least another week, but so far we haven’t found a definite answer to where this is coming from. We’re essentially seeing a really random low level server crash in Unity’s physics system when there are somewhat many colliders and at least one rigidbody in the world. I’ve also contacted Unity and we’re trying get this solved as soon as possible, either in a Unity update or by finding a workaround on our end.

Physics Optimization

While investigating the physics crash I found some physics inefficiencies and optimized them as needed. The server is now using vastly fewer rigidbodies as I removed all rigidbodies from ceiling lights and the client does a better job at culling those rigidbodies in the distance.

Server Load Entity Leak

Another thing I found while investigating the crash was a small entity leak that occurred whenever the server loaded a save. This only concerned two entities on every server start, but since many community servers do daily restarts and those entities are networked to the client it’s still good that we found and fixed it.

Combat Log ID

I made the combat log more useful by adding a unique ID for both the attacker and the target. This makes it much easier tell players apart in group engagements.

 

 

Building Downgrade Exploit

In the earliest days of the hammer tool, you were allowed to downgrade building blocks while in your own building privilege. This was quickly removed as it opened up exploits when you took over someone’s cupboard. However, only the client side code was updated. Naturally once hackers found out they added the option to downgrade building blocks when inside your own building privilege. This is now fixed.

Cave Ambience/Reverb

I added ambience to caves this week. I did a lot of the design for this a while back, but it’s been tweaked a bit and actually implemented now. The ambience system is aware of the environment volumes that we use to darken ambient lighting underground now, so we’re also using those to stop things like birds from playing in the caves.

I also set up a way for us to store reverb settings in a centralized place, and did a pass over the reverb in caves.

Deployable Placement Sounds

I’ve started a polish pass over deployable placement sounds this week, and started working on sounds for some objects that are missing them still (locks, water purifier, etc).

Heavy Plate Armour

I’ve finished up the baking and texturing of the heavy plate armour added a bunch of extra plating in the legs to make it feel a little bulkier. Other than a final texturing pass, I’m ready to get it LODded, rigged and to whip up some world models.

 

 

Player Animations

I redid a bunch of third-person animations so they accurately display the direction the player is actually facing. I also made new animations for when the player is aiming down the sights. There is now a noticeable difference between the two states, making it easier to tell if other players are aiming at you or just hip firing. I also redid a bunch of reload and deploy animations to better match their viewmodel counterparts. I managed to do a lot of weapons this week but there’s still a lot more to go, so it’ll probably be another couple weeks before I have all of the weapons animating exactly as they should.

World Model Optimisation

Work continues on the long list of weapons. There’s also been clean-up on the prefab side (strange connections and values) which has made this task a little more time consuming. We’ve settled on budgets that hopefully retain quality but help performance. All models have three LODs, the highest detail being 4-6k triangles, the lowest being 100.

Metal Chestplate Skinning

The chestplate has now been updated to remove the elastic/stretchyness that’s been around for so long.

Changelog

Fixed player model angles not always being broadcast properly
Player models standing rotation have a 80 degree dead zone
Added player ladder animations
Fixed player model feet slipping on jog/run animations
Fixed player model hitching when changing between looking up and down
Player models look less hunched
Fixed steam startup errors on Win32
Removed redundant ownership system
Fixed pumpkin helmet getting culled too early
Optimized console system
Quickcraft uses last chosen skin
Double Barrel Shotgun is skinnable
Satchel Charge is skinnable
Spawn with rock skinned to previously chosen skin
Icons in craft queue use skin icon
Steam inventory resources (like cloth) are stacked
Hammer guide is blue instead of red
Eoka is skinnable
Player skulls are named after the player they're from
Fixed orientation on several 3rd person animations
Ambience system distinguishes between environment types (underground)
Added Cave ambience
Added a way to store reverb settings in a central place
Polished reverb in natural caves
Minor mix tweaks
Torch world model & prefab optimisation
Salvaged sword world model & prefab optimisation
Mace world model & prefab optimisation
Salvaged icepick world model & prefab optimisation
Thompson world model & prefab optimisation
Double barrel shotgun world model & prefab optimisation
Satchel charge world model & prefab optimisation
Salvaged axe world model & prefab optimisation
Semi-auto pistol world model & prefab optimisation
Metal chestplate skinning updates
Fixed weapons culling too early when thrown
Optimized client side rigidbody distance culling of ceiling lights
Fixed duplicate community and resource deposit entities in saves
Removed ceiling light rigidbodies from the server
Added timescale and gravity server convars
Added corpses, events and dropitems server convars
Added respawn_groups and respawn_populations server convars
Fixed building block downgrade exploit when inside building privilege
Added missing physic materials to various junkpile assets
Added unique ID of attacker and target to combat log
Added world caching (vastly reduced loading times)
Added world.cache convar (toggles caching)
Reduced serialization overhead from harbors prefabs
Added collider state to dump files
Removed 60 second suicide time limitation for admins/developers
Disabled shell protection for ladder hatch
Ladder hatch now identical to Sheet Metal Door
Ladder hatch/sheet metal doors no longer vulnerable to rock spam
Thrown water now equally distributed payload between objects
Water Planters require less trips to saturate their soil
Can only fill buckets/bottles from the tap portion of Water Barrels/Catchers
Cleaver does slightly more damage and has a higher attack radius
Minor constant Radiation Damage even though fully protected removed
Added Wall Lamps
Light Sources can only be looted/turned on/off if the player can build in that area
Most Ammo stacks to 128
Bone armor cost reduction
Can now place lanterns on small boxes
Dead plants stay around longer
Can chop down plants
Drastically reduced cost of exotic signage
Added Flame Turret
Click here for the source of this article RSS Feed