Horseback riding, Balance changes, a New UI and more!
Horseback riding has been added to the game.
This is only a first pass so it works in a pretty rudimentary way. Horses with saddles spawn in the world instead of the traditional horses. Eventually we'll add taming and hitching and armor and all that but first, let's just see how they function as a new means of transportation in the rust world!
Walk up to a horse and press [E] to mount it. ASDW controls the steering, Space to exit, and Shift to sprint.
Horses are going to need to eat.. A lot.
Above your health bar you will notice a yellow stamina bar while mounted. This bar indicates how long the horse can sprint for. When the bar runs out, the run speed will be reduced to a trot while it recovers. Stopping will help your stamina recover quickly.
There is a secondary bar which indicates the maximum stamina your horse can recover to. This can be increased by feeding your horse. Simply throw food down or walk up to fruits and vegetables and the horse will eat them. Eating food also causes your horse to regenerate its health. You can also see the horse health (if it is hurt) by looking at the saddle.
A few other things to note are that horses die very quickly if kept indoors, and will despawn after being unattended for 3 hours (similar to rowboats) They use much less stamina and sprint faster travelling on roads. They'll also recover stamina faster if you keep their food level high.
We'll have to add hitching posts so you can keep horses forever but we need to see the performance implications first. Each 4k server should have about 40 horses.
That about does it. These were so much fun to work on and I'm really proud of how they turned out, Special thanks to Alex Rehberg for the awesome attention to sound detail!
I changed a few things on the menu earlier this month. One thing lead to another and I ended up revamping the whole thing.
Our new recruit Paddy has made a variety of different background videos, which are chosen randomly at startup and provide us with the most beautiful peripheral viewing material to date.
The options screen has been sexed up into a few different categories, and is also better localized, providing you with the most breathtaking method of changing your controls to date.
The new item store is right in game, lists the available items in your local currency and checks out via Steam's overlay.. We love it and we think you'll agree that it's the most efficient way to dispose of your income to date.
We have pulled the trigger and are upgrading to Unity 2019.1 with this update. Surprisingly it seems to be one of the most stable releases in years and everything went much smoother than expected. There initially was a problem with windowed mode that they thankfully fixed in time for the update and we encountered a number of smaller problems with the UI that may have triggered Garry to redo the entire main menu. Other than that they have really done a great job with this one and we now have access to a wide range of optimizations and visual upgrades, most of which require some degree of manual labor on our part and will be introduced over the next several updates, but some of which are already going live with this update.
Unity 2019.1 introduces a new incremental garbage collector that should in theory eliminate GC stutter entirely unless it has to trigger an emergency garbage collection. It seems to work alright, but it also seems to fuck up sometimes and cause a GC stall for no obvious reason. Thanks to our custom GC logic we aren't entirely dependent on it and things are definitely better than they were before, but don't expect it to solve everything just yet.
Skin Unloading Fixes
Unfortunately we had to disable skin unloading last month as it could corrupt skin materials under certain conditions. After fixing several problems with it and optimizing the unloading to be GC free, we are now enabling it again by default for everyone with less than 10GB of RAM. If all goes well we will most likely enable it for everyone so we are prepared for many more months of skins to come.
Network Update Optimizations
Many servers were struggling with entities that were constantly sending network updates as either they or their parent kept moving, particularly when those entities were parented to an entity that was broadcasting globally, like the cargo ship, or were set to broadcast globally themselves. I've fixed several entities like scientists, dropped items and corpses to prevent them from broadcasting globally even when on the cargo ship. This should help out any servers that were struggling to keep up whenever the cargo ship was present.
Our weapon visuals were pretty much a mess. Texture sizes were all over the place, and many of the materials had deteriorated over time as our shaders evolved. So I went through and polished every single one, and the result should be better looking weapons, and some saved memory.
Weapon VFX & Optimizations
Our weapon particle effects were also a bit of a mess, and almost always way, way too heavy. So most all of them got completely revamped from scratch, with the exception of a few fringe ones like the rocket and grenade launcher. (Coming soon!)
Weapon attachment and shell ejection points are now also better positioned and oriented, instead of occasionally clipping through various parts of the gun.
Likewise, muzzle effects now have visuals that better correspond to the weapon barrel itself, and/or any attachments that it may have.
Oil Rig Loot
Way too much loot here. I've lowered how much loot you get from both types of scientists by a pretty significant margin. There is still way too much loot but let's take it one step at a time
Puzzle Reset Fixes
We used to have a timer than ran every 30-60 minutes to reset a monument, if it detected players it would wait 30 seconds and check again. For the oil rig this proved to be disastrous as it would take teams sometimes up to 30 minutes to clear it and as they were boating away it would respawn so they could drop off their loot and go back for round 2.
Now what happens is when players are detected we pause the timer, this means there actually has to be no players present for 30 minutes for a monument to respawn. This should help nerf the oil rig even more
Coastal Waves Preview
After a long hiatus from Rust, to do adult stuff, I finally back to work last week. Despite the delay, I almost finished shore waves in time for this patch. However, they'll be rolling out next week instead, just to be absolutely sure we're stable.
This change will introduce coastal waves that move in the direction of the terrain, and will also affect open sea waves, by giving artists more fine grained control over wave shapes. Wave crest foam will also be redone from scratch.
Coastal waves can be treacherous sometimes. So if you manage to leave the coast safely, you'll be awarded with much more forgiving wave conditions at open sea.
Please note that the video above does not represent final visual quality or even final wave size or shape.
We noticed some inefficiencies in the way Light LODs were being handling in regards to pooling and fading. Work is now amortized across multiple frames so the number of lights no longer affects single frame performance, which is now fixed and predictable. Impossible to tell how much it'll help each individual player's frame rate, but every little bit helps..
Player Step Detection
Ever run around the Harbor or launch site and walk towards the tiniest of curbs or lips in the world geometry and your player is stopped, causing you to have to jump over a 5" obstacle? You'll be happy to know that this is no longer a thing as I have added step detection to our movement code. This means we automatically bump players up over small pieces of geometry instead of relying on the internal unity physics to handle it. It's not the biggest thing in the world but it should make the movement feel a lot smoother when walking around monuments.
Server List Performance
The server list was done the easy way. Get all the servers and put them on a panel and scroll it about. We'd run into problems previously and limited the number of servers you could show at a time to 256.
But this obviously isn't the best way to do it. You're only seeing about 15 servers at a time, but you're creating and building 256 of them.
Obviously not so great in terms of memory usage or performance. Especially when you consider that on a client these are all hanging around in the background. Unity isn't great at having a shitload of objects hanging around, so the more we can slim those down the better.
So the solution is a virtual scroller. These work by only creating the items you see. When an item is scrolled out of view, it's deactivated and stored. When one comes into view, we get a stored item and put it in place. It's totally invisible to the end user - and it's what happens in pretty much every list view in Windows etc.
Demonstrated here without the mask to show you how it's working.
- Upgraded to Unity 2019.1.4f1
- Enabled incremental GC and integrated it with the custom GC logic
- Server Browser shows wipe times
- Can order server list by wipe time
- Added in game item store
- Show when friends are on servers
- Main menu has background videos
- Sleeping bag list now scrolls
- Players automatically climb over small steps
- Added Horseback Riding 1.0
- Fixed skin unloading texture and material corruption issues
- Fixed light from the outside bleeding into building reflection probes at doorways
- Fixed projectile LOS exploit that was abusing the player bounds forgiveness
- Fixed server side player fall through floor exploit
- Fixed IK on world space particle systems (flame thrower)
- Fixed not all servers getting listed
- Fixed crafting queue UI not getting reset after reconnect
- Fixed renderinfo command
- Fixed players parenting on the outside of Hot air balloon
- Fixed players falling out of the falling out of Hot air balloon
- Fixed a bunch of item typos
- Fixed projectiles being rejected when shot through Oilrig stairs
- Fixed players clipping through Oilrig dock
- Fixed SetDestination errors
- Fixed Launch site office building spawning too many barrels
- Fixed Watchtowers being placed under the terrain
- Fixed Rustige Egg base protection
- Fixed Water Junkpiles despawning with players nearby
- Fixed Muzzle flashes animating at low FPS in the distance
- Fixed Scope jittering all over the place when on a vehicle or the cargo ship
- Fixed viewmodels lagging behind when on a vehicle or the cargo ship
- Fixed not being able to pick up Water Barrel
- Fixed animals not playing dynamic footsteps based on their surface type
- Fixed powerline poles having lights when they shouldn't
- Fixed terrain drawing white, or undefined, at distance on shader levels 101 to 199
- Optimized skin unloading
- Enabled skin unloading on low end hardware by default again
- UI loads faster
- Fixed animations sometimes not being disabled
- Optimized occlusion texture memory usage
- Optimized input button updates
- Optimized chat UI
- Optimized physics timing values
- Optimized child entity networking when parented to entities with global broadcast (cargo ship)
- Optimized server browser
- Optimized font memory usage
- Optimized light LOD processing
- Added more localization
- Shader usage optimizations
- Improved CJK font rendering
- Added invisible_collider, prevent_movment_volume and gas station prefabs for map makers
- Hapis Island map optimizations
- Weapon VFX optimizations
- Weapon visual improvements
- Scope no longer scales with UI Scale
- Water jug spawns with less water
- Puzzle reset bugs fixed (can no longer camp and wait for a respawn)
- Nerfed oil rig loot
- Flashlights cast additional light in first person illuminating an area beyond just the light cone
- Lowered all research costs