Halloween is over, trees are fixed and more optimizations, fixes and improvements.
Tree Mini-Game Improvements
I've made a couple of changes to the marker placement logic that should improve the reliability on all trees across the board, but on trees with really irregular shapes we're now using a new system that pre-caches a series of positions for the marker to go. This new system is in use on Palm, Birch, Oak, Swamp and Beech trees.
Our testing showed that the bug was particularly bad on trees with irregular shapes (ie. not just a vertical cylinder) like the curved palms and swamp trees with the large bases. This was exacerbated by any differences between colliders on the server and the client - clients typically use more accurate mesh colliders while we use simpler capsule colliders on the server.
While I can't say for sure the issue is 100% fixed (there are a lot of trees in Rust) initial indications from the staging branch suggests that these changes have improved the reliability of the mini-game substantially.
Vending Machine Map Markers
After last month's map changes, a popular request was that we merge vending machines on the map like we're now doing for sleeping bags. This is rolling out this month, so groups of vending machines that are in close proximity will be merged into a single map marker that you can then click on to fold out into a more detailed view.
Once opened, you can mouse over each icon to get the normal information you'd get when hovering over a vending machine.
Campfire flames and smoke now move directly upward, even if placed on a slope.
Hot Air Balloon Parenting Exploit
People have been abusing the hot air balloon parenting trigger to push themselves or others into rocks and buildings. It took us a long time and various unsuccessful attempts to fix this because it was a non-trivial problem to solve, but we believe we have now finally found a reliable and performant solution that should make the exploit impossible.
Entity Pop In Fix
This has been a common complaint ever since we added minicopters. Due to the load balanced nature in which entities are created and destroyed on the client you could fly right up to the edge of your network view distance, at which point buildings were starting to pop in right in front of you. I have now implemented a solution for this that will guarantee the buildings appear at least 64 meters away from you no matter how fast you move while at the same time keeping things very performant to avoid frame rate drops when flying very fast. There are a couple of things that can be tweaked with this, so we'll see how it goes and adjust from there.
Optimization pass on Environment Art
There were potential gains to be made performance wise in our monuments and through the static environment art that spawns in the world. We spent a good part of September-October tallying up and reworking what could be optimized further. A lot of work went into this in the form of simpler, more aggressive geometric LODs and lower amounts of materials/texture fetches on distant objects. While gains observed in isolation seem indicative of an improvement, it is more unpredictable when it comes to measurements on random maps such as procmap.
These changes also bring some visual improvements in the form of lesser popping and more accurate rendition of the environment at medium-long distances.
There is still potential for more work to be done regarding our monuments using hierarchical LODs which is something we are looking into.
A while back I changed the feedback/report system so it opened a website and you had to log in. It was a dumb move and now we're back to where we were.
I added an in-game system so you'll get a little notice when someone you reported gets banned. This way you feel less like you're just shouting into the dark and can see that your reports are actually being used.
The medium battery is now available at the bandit camp for 75 scrap. It has a maximum output of 50 rW and a maximum capacity of 9000 rWm (or 3 hours at max output ) and has a pretty cool Jacobs ladder effect to indicate how charged it is.
It took a while but I've finally revamped how batteries work in rust. They used to discharge a static amount of electricity for whatever duration of charge they had in seconds. The problem was that regardless if they were hooked up to a single light bulb or a series of SAM sites, the electrical cost was effectively the same. I did a bunch of work and changed the battery storage to be in rWm or 'Rust Watt Minutes' this is how many minutes of discharge at 1 power unit the battery has in storage. The batteries also calculate how much drain they are under and only output the appropriate amount of power based on this drain. the tl;dr is that batteries now have a dynamic output and will last far longer when less electrical components are hooked up to it, kind of like in real life.
The changes are as follows :
- Small battery - 150 rWm, 15 minutes at max output ( 10 )
- Medium Battery (new!) - 9000 rWm - 3 hours at maximum output ( 50 )
- Large Battery - 24,000 rWm 4 hours at maximum output ( 100 )
There is also a bunch more information available when looking at a battery, telling you how long it has left under the current load, what the current load is, the maximum output of the battery, and the capacity in rWm.
If someone kamikazes into your base with a helicopter, the flaming debris should no longer spawn inside your base. I've heard of instances of this happening and the fire spreading all the way to the TC. Consider this fixed.
Manual DoF mode
This one is for the content creators. We've added a manual depth of field mode and some associated convars
- dof_mode ( 0 = auto, 1 = manual )
- dof_focus_dist ( distance from camera to focus )
- dof_nudge (distance to nudge focus by) - will modify focus by this amount like a focal wheel e.g. "dof_nudge 0.5" or "dof_nudge -0.5"
- dof_focus_time 0.2 - time it takes to reach new focus setting for smooth lerping, set to 0 for instant change
- So if you do something like ...
- bind mousewheelup "dof_nudge 0.5"
- bind mousewheeldown "dof_nudge -0.5"
you can use your mouse wheel to adjust focus to be farther or closer, here's what it looks like :
You can now chat privately with your team mates, using the new team chat feature.
The active chat channel will switch automatically when joining or leaving a team, and you can press tab with the chat window open to switch channels manually.
Team chat messages are tagged with [Team] to distinguish them from global chat messages, and your currently active chat channel is shown in the input box, so that you don't accidentally type your lock codes to the whole server.
After adding team chat, I took the opportunity to make some additional chat improvements.
You can now left click on a player's message to bring up a pop-up menu with some new options to mute/unmute, report or clear your chat:
You can now mute a player to prevent any of their chat messages from being displayed. You can do this using the new chat pop-up menu, as shown above. If their message is still visible in your chat, you can click it again and it will show the option to un-mute them instead.
I saw a few people from staging asking how you can then un-mute people again in the future, when their names aren't in chat, so here's how:
You can view a list of all the players you have muted using the "mutelist" console command. and you can easily unmute a player at any time by using "unmute X", with X being the id displayed next to their name in the mutelist.
You can also unmute everyone with "unmuteall", if you're feeling forgiving.
I've also fixed a few bugs where the chat would not always close correctly, or get stuck open, but without the input selected. These would leave you unable to move or close the chat without first re-selecting the chat window and then closing it. It should feel a lot more natural and reliable now, and not get you killed
The delay when firing the second shot of each new bow has now been fixed. You can see the difference in this screenshot I've nicked from Shadowfrax's video. No more pre-emptively firing arrows into the ground!
Looting Timer Changes
Looting should be a risky and deliberate action, and the previous item timers for looting didn't really do anything to promote this, as each item was on its own timer - meaning you could loot as fast as you could click all the items.
Now, all item loot clicks are queued and processed at a regular, short interval, one item after another - meaning one item must be fully looted before the next loot timer will start.
This is done per loot container, so inventory item clicks are processed separately to a loot container you are interacting with, for example.
These changes will slightly increase the time it takes to fully loot a body or container, leaving you exposed for longer, and increasing the importance of identifying and deciding which items you choose to grab first when in a PVP situation.
Additionally, because loot actions are now queued in this way, a nice bonus effect is that loot macros now provide no advantage.
With the looting changes detailed above, it is now also possible to provide a more convenient way to loot a large number of items, with each item still being queued up. This means it's not some kind of instant-loot functionality that a loot macro would have previously allowed - but is instead just a more convenient way to loot, in some situations.
With hover loot, you can now press and hold the Hover Loot button and hover your mouse cursor over items to loot them. Items in containers other than the one you start looting initially will be ignored, until you release and press the key again - this prevents you from accidentally moving items between loot panels if swiping quickly.
Hover Loot is bound to the H key by default, but this can be rebound in the Inventory section of the keybind options, or by using the "+hoverloot" console bind.
Continuing with the looting theme, I've made some more useful changes and improvements in this area:
- You can now right-click an item in your inventory to move it to your belt (when there's no other loot panels open).
- You can now place a clothing item on your belt and press that slot's hotkey to equip it. (added with the Halloween patch).
- It's no longer possible to accidentally throw an item to the ground if you accidentally drop it in the small space between your inventory and belt.
You can now move items directly into locker slots!
This means you no longer have to first equip a full set from the locker, make any item changes, and then swap the set back into the locker. You can swap items between inventory, worn, or even other sets in the locker.
The first row of each set is for clothing items (and won't accept any other kind of items) and the bottom is for your belt items.
To distinguish between clothing and belt slots now that you can interact with them directly, the clothing slots now have a shirt icon overlay when empty.
A simple change, but one that saves a lot of clicking:
You can now hold on the Give, Take or Drink buttons, and after a short delay, water will automatically start transferring for as long as you hold the button down (or until the water runs out).
Small Water Catchers On Roofs
One of the most upvoted community requests on nolt.io was to allow placement of water catchers on roofs, so that's what I did!
You can now place small water catchers on roofs but requires a clear line of sight to the outside world, similar behaviour as the large furnace.
- Added team chat.
- Added chat pop-up menu when clicking a chat message.
- Added chat muting.
- Added "mutelist", "unmute" and "unmuteall" console commands.
- Added Hover Loot, default keybind is hold H.
- Can now hold down on the Give, Take and Drink buttons to automatically transfer water.
- Added new map marker for multiple vending machines in close proximity
- Added teleportlos admin console command to teleport along the line of sight
- Can open debug log file from console screen
- Added in game report system (halloween patch)
- Added notification system on main menu
- Added Medium Battery
- Added "rWm/Rust Watt Minutes" energy storage system
- Added manual Depth of Field mode
- Fixed the delay before firing the second shot with each new bow.
- It is no longer possible to accidentally drop an item in the space between your inventory and your belt.
- Fixed several ways in which the chat window could get stuck open, without input, leaving you unable to move or chat.
- Improved reliability of tree harvesting mini-game
- Fixed hot air balloon parenting exploit
- Fixed late entity pop in when moving very fast
- Fixed minicopters floating in the air if the ground they were resting on was destroyed
- Fixed horses floating in the air if the ground they were resting on was destroyed
- Increased horse frame budget from 0.334ms to 1ms (smoother horses)
- Fixed Cargoship hull interior culling on low object quality
- Fixed missing dune meshes at the water well
- Fixed small refinery placement on ice, rocks and uneven surfaces
- Fixed deploying on Cargoship rudder
- Fixed compound awning culling
- Loot actions are now queued so that items are looted one after another, instead of simultaneously.
- You can now right click an inventory item to move it to your belt.
- You can now drag items directly into/between locker slots without having to swap sets first.
- Added clothing icon to locker clothing slots.
- Extensive rework of monument LODs
- Campfire flames and smoke now move directly upward, even if placed on a slope.
- Large furnace can be placed on world layer (rocks)
- Small water catchers can now be placed on construction