Devblog 155
New animal AI, easier large furnace placement and lots more ...
New AI 0.5
Maurino Berry

I have spent the majority of the past two weeks learning Apex AI and messing around with the animals in rust. Building on the foundation laid by Garry I’ve done my best to make the animals behave in a manner slightly better than how they used to. Just so you all know we are aware that they’re still totally screwed. They run through water, they get stuck, they make awful tactical decisions, and their animations are terrible. With all that said though, they won’t run through rocks, or run in circles, or attack you in your base any longer. The important thing is the foundation is now there and we hope to get them to a really good place over the next few weeks. I’ll also be able to do some more interesting things with the helicopter as well as perhaps add some new AI types. Please don’t be shy and share with us any exploits or bugs you encounter with the animals.

Large Furnace Placement
Maurino Berry

I stumbled upon this post on Reddit and it thought it was a pretty good idea so I had the large furnace model adjusted by Vincent, and modified placement to work as suggested. It will be much easier to place large furnaces now and they will always be upright. Enjoy!

Websocket Rcon
Garry Newman

Since we're changing a bunch of other stuff, this seems like a good time to make rcon.web the default.

If you're still connecting to your servers via the old source engine protocol you can switch back to that mode by adding "+rcon.web 0" to your server's command line. But be aware that this mode will go away at some point, so if you can find time to switch to using the new websocket protocol you definitely should.

Dynamic Navmesh
Garry Newman

Because the navmesh is dynamic, it generates on server startup. This can take a few minutes and uses a ton of CPU while it's doing so. We've been told that this can choke the server up and cause problems with other processes running on that box (like if you're also running 10 other Rust servers on it).

We've tried to alleviate this as best we can but we appreciate that it's still going to be an issue that server providers might need to work through. Especially if they have some kind of "locked process" detector that shuts the process down automatically if it hasn't responded in a while.

Wooden Helmet
Taylor Reynolds

I saw a couple of requests for a helmet to complete the wooden set, so I've modelled a shoddily put together helmet for some accessible early game head protection.

Input Lag
André Straubmeier

Rust has been suffering from a relatively high input lag for a long time. I sat down this week and went over the entire input pipeline in order to find and address any causes for this. Input should feel much more responsive and more immediate now, which is particularly noticeable on firearms.

Weapon Update Rate
André Straubmeier

While eliminating input lag I also rewrote the way we update our weapons. Up until now our projectile weapon rate of fire has been limited to around 10 rounds per second because their update rate wasn’t high enough to handle anything faster than that. This is now no longer the case, which also makes full auto fire feel a little smoother during frame rate fluctuations.

Update Handler
André Straubmeier

Similar to the invoke handler I implemented two weeks ago I now added an update handler that allows us to efficiently update things at varying rates. This for example allows us to update things that are far in the distance at a lower rate than things that are close to the camera with very little overhead per frame, which I used to optimize a couple of client side scripts.

Ladder Movement Verification
André Straubmeier

Ladder movement has been client side authoritative with no server side verification in place up until now, which made it very easy for cheat developers to abuse. This is now fixed. It’s likely that it needs some tweaking however so I added a couple of convars for us to play around with on high population servers.

Launch Site

Progress on the core of the launch site is almost complete. The larger structures remain such as the crane holding the rocket.

The progress on the rocket facility area has been steady. The greybox layout is finished and we’ve begun to work on the rocket factory interior, which features unfinished rocket parts hanging from the cranes and walkways that allow accessing upper floors of the interior. In addition, we’re currently doing a first texturing pass on buildings in the area, so next week we should be able to share some screenshots.

Jerrycan Viewmodel Fix
Thomas Butters

With the view model animations coming into play now, i’ve had to take a look at the jerry can model to fix a few issues that would plague us if they weren’t taken of. Initially, I modelled the jerry can not knowing it was going to be so closely seen (as a view model) so there was no point in modelling parts of the inside of the cap etc. This is now fixed. The new fixes won’t affect the world model or the current model texture as there was enough space in the UV map to make the adjustments!

Tier 2 Workbench
Thomas Butters

The majority of the work is finished with the new workbench, all that is left now is really to optimise where i can and to just to make all the props on the bench feel more grounded like I did with the tier 1 workbench, so it’s more or less adding a few smaller model and texture details to help balance things out and really give it some personality.

Music
Alex Rehberg

I’ve primarily been continuing work on the music system this week. My initial implementation for the stings stuff I talked about the other week felt pretty good but needed to be cleaned up a bit so I’m working on rejigging some of the backend to give us more flexibility moving forward and improving our editor tools for setting up song playback right now. I’m also continuing to go through and polish some of the existing songs.

Spinner Wheel Sounds
Alex Rehberg

I finished up sounds for the spinner wheel this week.

Footsteps
Alex Rehberg

I sorted the issues I was having with our source control last week and new footwear footsteps are in! I’m pretty happy with how these turned out. I’m sure I’ll find a few tweaks to make over the next couple weeks since my brains become a bit numb to these, but I think they’re pretty solid all in all haha :)

I also tweaked some of the footsteps a little more, fixed up the animal footsteps that got screwed up with the AI updates, and put in new bear footsteps that I’d done a while back and hadn’t added yet.

Water Lapping Ambience
Alex Rehberg

I polished up our water lapping sounds this week too. They’re a bit less sharp and blend with the rest of the ambience more smoothly now.

Distant Gunshots
Alex Rehberg

The last update I did to distant gunshots pushed them a lot closer to where I want them to be, more poppy and less washed out, but they all sound a bit too similar right now, so I had another go at these this week and they’re sounding a lot better. They’ll still sound somewhat similar to each other because of the way I want them to sit in the mix, but they should be easier to tell apart and sound more like the gun they’re coming from.

Animal Sounds
Alex Rehberg

I’ve also been going over some of the animal sounds that never really played with the old AI. Sleeping, eating, etc. These are almost done but I didn’t quite finish them in time for the patch, so you’ll get them next week

Voice Limiting Improvements
Alex Rehberg

Previously our localized voice limiting system only worked when a sound was attached to a gameobject, which covers almost everything we use voice limiting on. I’ve made it work for sounds that are played directly in the world this week too which should solve the audio side of the lag you get when lots of items fall out of a box.

Viewmodel Animations
Minh Le

This week, I managed to go through the m249, semi-auto rifle, SMG, revolver and a few other weapons making sure to fix any clipping issues I spot as well as tweak the animations to feel more weighty. I also addressed any viewmodels that had particularly poor wrist deformation.

There’s just a couple more viewmodels left to do and once I’ve done them all, I’ll be moving onto improving the animal animations.

155 April 13 2017
  • new Added footwear specific footstep sounds
  • new Added entity.spawn [name]
  • new Added entity.spawnitem [name]
  • new Added server tag when server restarting
  • new Added server tag indicating last wipe time
  • new Added Wooden Helmet
  • new Added efficient update handler
  • new Added ladder movement verification to server
  • fixed Fixed spinner wheel skinnability
  • fixed Fixed Websocket Rcon ignoring rcon.ip
  • fixed Fixed "Your Friends" allocating memory and causing hitches
  • fixed Fixed bear meat cooked using burnt description
  • fixed Fixed revolver describing itself as a 6 shooter
  • updated Updated to Unity 5.6
  • updated Updated EAC
  • updated Polished water lapping sound
  • updated Polished distant gunshots
  • updated Improved localized voice limiting
  • updated New sounds for the spinner wheel
  • updated AI doesn't walk through walls
  • updated AI sleeps
  • updated Updated flesh bullet impact effects
  • updated AI populations are controlled by console variables
  • updated AI eats corpses
  • updated AI eats dropped items
  • updated AI reacts to gun shots
  • updated AI corpses drop gibs when destroyed (temporary effect)
  • updated Updated damage effects hud
  • updated Options screen dropdowns are now side selectors
  • updated Normalized tree sizes
  • updated Websocket Rcon is default mode
  • updated Optimized steam avatar cache lookup
  • updated Deers give deer meat (instead of chicken)
  • updated Optimized transform updates when recycling sounds and effects
  • updated Optimized light intensity and color flickering effects
  • updated Optimized invoke handler (list overhead, cache hits, hashing)
  • updated Optimized position lerp and player model lists
  • updated Eliminated input lag (especially for firearms)
  • updated Large Furnace has bigger foundation, stays upright & can be placed on slopes