Devblog 146

  • [Blockierte Grafik:]

    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 UpdateShadowfrax

    Concept LimboMaurino Berry

    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 LampsMaurino Berry

    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 TurretMaurino Berry

    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 ChangesMaurino Berry

    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 RestrictionsMaurino Berry

    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 ChangesMaurino Berry

    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 ChangesMaurino Berry

    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 ChangesMaurino Berry

    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 StacksMaurino Berry

    Most ammo stacks to 128 now.

    Signage Cost ReductionsMaurino Berry

    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 TrailsMaurino Berry

    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 OwnershipGarry Newman

    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 FixesGarry Newman

    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 ChangesGarry Newman

    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 ErrorsGarry Newman

    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 PipesDamian Lazarski

    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.

    [Blockierte Grafik:]

    Loading TimesAndré Straubmeier

    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 CrashAndré Straubmeier

    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 OptimizationAndré Straubmeier

    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 LeakAndré Straubmeier

    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 IDAndré Straubmeier

    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.

    [Blockierte Grafik:]

    Building Downgrade ExploitAndré Straubmeier

    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/ReverbAlex Rehberg

    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 SoundsAlex Rehberg

    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 ArmourTaylor Reynolds

    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.

    [Blockierte Grafik:]

    Player AnimationsMinh Le

    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 OptimisationAlex Webster

    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 SkinningAlex Webster

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