Devblog 146

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.

2 February 2017
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.

146 February 02 2017
  • new

    Added player ladder animations

  • new

    Added Cave ambience

  • new

    Added a way to store reverb settings in a central place

  • new

    Added timescale and gravity server convars

  • new

    Added corpses, events and dropitems server convars

  • new

    Added respawn_groups and respawn_populations server convars

  • new

    Added missing physic materials to various junkpile assets

  • new

    Added unique ID of attacker and target to combat log

  • new

    Added world caching (vastly reduced loading times)

  • new

    Added world.cache convar (toggles caching)

  • new

    Added collider state to dump files

  • new

    Added Wall Lamps

  • new

    Added Flame Turret

  • removed

    Removed redundant ownership system

  • removed

    Removed ceiling light rigidbodies from the server

  • removed

    Removed 60 second suicide time limitation for admins/developers

  • removed

    Minor constant Radiation Damage even though fully protected removed

  • fixed

    Fixed player model angles not always being broadcast properly

  • fixed

    Fixed player model feet slipping on jog/run animations

  • fixed

    Fixed player model hitching when changing between looking up and down

  • fixed

    Fixed steam startup errors on Win32

  • fixed

    Fixed pumpkin helmet getting culled too early

  • fixed

    Fixed orientation on several 3rd person animations

  • fixed

    Fixed weapons culling too early when thrown

  • fixed

    Fixed duplicate community and resource deposit entities in saves

  • fixed

    Fixed building block downgrade exploit when inside building privilege

  • updated

    Player models standing rotation have a 80 degree dead zone

  • updated

    Player models look less hunched

  • updated

    Optimized console system

  • updated

    Quickcraft uses last chosen skin

  • updated

    Double Barrel Shotgun is skinnable

  • updated

    Satchel Charge is skinnable

  • updated

    Spawn with rock skinned to previously chosen skin

  • updated

    Icons in craft queue use skin icon

  • updated

    Steam inventory resources (like cloth) are stacked

  • updated

    Hammer guide is blue instead of red

  • updated

    Eoka is skinnable

  • updated

    Player skulls are named after the player they're from

  • updated

    Ambience system distinguishes between environment types (underground)

  • updated

    Polished reverb in natural caves

  • updated

    Minor mix tweaks

  • updated

    Torch world model & prefab optimisation

  • updated

    Salvaged sword world model & prefab optimisation

  • updated

    Mace world model & prefab optimisation

  • updated

    Salvaged icepick world model & prefab optimisation

  • updated

    Thompson world model & prefab optimisation

  • updated

    Double barrel shotgun world model & prefab optimisation

  • updated

    Satchel charge world model & prefab optimisation

  • updated

    Salvaged axe world model & prefab optimisation

  • updated

    Semi-auto pistol world model & prefab optimisation

  • updated

    Metal chestplate skinning updates

  • updated

    Optimized client side rigidbody distance culling of ceiling lights

  • updated

    Reduced serialization overhead from harbors prefabs

  • updated

    Disabled shell protection for ladder hatch

  • updated

    Ladder hatch now identical to Sheet Metal Door

  • updated

    Ladder hatch/sheet metal doors no longer vulnerable to rock spam

  • updated

    Thrown water now equally distributed payload between objects

  • updated

    Water Planters require less trips to saturate their soil

  • updated

    Can only fill buckets/bottles from the tap portion of Water Barrels/Catchers

  • updated

    Cleaver does slightly more damage and has a higher attack radius

  • updated

    Light Sources can only be looted/turned on/off if the player can build in that area

  • updated

    Most Ammo stacks to 128

  • updated

    Bone armor cost reduction

  • updated

    Can now place lanterns on small boxes

  • updated

    Dead plants stay around longer

  • updated

    Can chop down plants

  • updated

    Drastically reduced cost of exotic signage

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.