A new oil rig monument, heavy scientists, ocean changes and more.
The Oil Rig
A new monument has made its way to the Rust landscape: The Oil Rig.
it monument can be found off shore a bit farther than the cargo ship patrol path and will definitely require a team to conquer.
As mentioned in the last Dev Blog, we didn't want to just add another static environment with loot crates and wanted to do something a little more special for this one. Because of this and due to some limitations and problems with the existing AI system I was forced to rewrite the Humanoid AI from scratch. It's not perfect and you'll probably notice a few strange behavioral issues, but in general you should find the scientists on the Oil Rig much more responsive and intelligent and even exhibiting some new behaviors.Over the next little while I will iron out the issues and continue to improve on our AI system. Eventually this new system will replace the Scientists at other monuments, and the existing and laughable Animal AI.
Since 2013, we've never really had good AI in the game, partly because of how time consuming it was and also because the main focus of the game was interacting with other players and we kept pushing that instead. I'm sick and tired of seeing YouTube videos of animals walking through walls, staring at water and not fighting back, or Scientists walking backwards. This is the first step at remediation.
All that aside, We worked to make this monument feel more like a set piece with gameplay that differs from the run of the mill loot-every-box-while-crouching gameplay you find at the other monuments. When you reach the top of the Oil Rig there is a locked crate you can open which will initiate an event with the Heavy Scientists.
Moving forward, I hope to expand upon this concept of monument events and expand it to others.
Faster Staging Builds
We were having some issues with long build times that really slowed down iterating and testing on the staging branch and could cause long delays when last minute fixes before the update were required. The old build process also prevented us from canceling builds as it could corrupt Unity's library folder due to the way we were preprocessing our prefabs. The new build process is more than twice as fast and can be canceled at any point, making our daily development cycle much more pleasant.
Vulkan & Metal
Linux and Mac were using a rather old version of OpenGL that didn't support many of the optimizations we were using on Windows and would regularly break shaders. In order to make future development easier for us and give the two people playing on those platforms a slightly better experience we decided to move Linux to Vulkan and Mac to Metal. This means that if you're on Linux you should install the absolute latest graphics drivers you can get your hands on and ensure that you are no longer adding the "-force-opengl" startup parameter since that will break the game. You can also give Vulkan a try on Windows with the "-force-vulkan" startup parameter, but on most graphics drivers there are still some issues so we generally recommend staying on DirectX for now.
Ordered Entity Networking
Last month's iterative entity networking introduced the negative side effect that sometimes entities would stream in very delayed. To fix this entities are now ordered by distance when they are networked, so the closest entities will stream in first.
Asset Warmup Optimizations
As a side effect of the build improvements I've been working on this month I managed to significantly improve the asset loading performance. This means the game now loads 10% faster on an SSD and we expect even more improvement on an HDD.
Giant Excavator Monument
As work on the Oilrigs monuments drew to a close I started to flesh out the next big thing. The Giant Excavator is a monument that will find its place in the desert. More information will be made available as we progress on it. Here's some early development screenshots while you wait:
This patch we're introducing the biggest change to our water system in a long while. Our ocean has been roughly flat, aside from short waves that didn't really affect physics. From here on, however, ocean waves will affect the behaviour of any floating body.
Larger waves are stronger and higher when further away from the islands, so you can attempt to avoid them by choosing a path closer to the shore. If you do decide to adventure into the unknown, you may want to choose a bigger, more stable vessel. You'll note how interaction with water now generates disturbance foam, including crest foam at the peak of the deep sea waves. For now only small boats generate disturbance foam, but we'll extend this capability to any bodies interacting with water, as well as improve the level of interaction to include displacement and simulation.
Water junk piles in deep sea are no longer flat and static, they are moving with the waves as you attempt to loot whatever's up for grabs.
Additionally, we fixed a ton of issues related to flickering near the shore, especially with TSSAA enabled.
World Reflections Return
This feature was originally meant to improve lighting on interiors by capturing the reflection around the player in realtime. A few patches ago, however, we had to disable it due to random crashes on several platforms. We're happy to announce that, thanks to our latest Unity version upgrade, the feature is now back and safe to use. The difference can be quite dramatic in some cases.
Setting it to 0 will make the probe reflect only sky, 1 will reflect sky and terrain and 2 will reflect sky, terrain and world/buildings. Please ensure that you have a decent machine to run at maximum level.
Along with bringing back this feature we also enabled a few optimizations that were also causing crashes before; e.g. decal instancing. More are expected to return in future patches.
Both the Cargo Ship and the new Oil Rigs are extremely alive compared to some of our monuments. Essentially, they contain a lot of lights that eventually became a problem for rendering performance.
We ended up working out a new system that combined our dynamic occlusion system, culling volumes and distance culling in order to handle a massive number of lights. This way we could take the most out of the hardware without having to compromise so much on aesthetics.
This new system should help us make richer, more vivid environments that contribute to making gameplay more realistic and immersive.
- Linux uses Vulkan graphics API (-force-vulkan to use Vulkan on Windows)
- Mac uses Metal graphics API
- Deep sea waves with crest foam affecting floating physics
- Water interaction disturbance foam
- Restored world reflections option
- Fixed muzzle flash positions
- Fixed client side corpses sometimes clipping into things
- Fixed foam showing up near player
- Fixed flickering on shore, including cases related to TSSAA
- Fixed overbright caustics and specular occlusion on shore
- Fixed some occlusion culling frame delays on players, NPCs, ragdolls and impostors
- Fixed light beams not hiding when lights are distance culled
- LOD, batching and foliage grids now support twice the terrain size (custom maps & oil rigs)
- Asset loading is now much faster (total loading time 10% faster on SSD, potentially much more on HDD)
- Entities are now ordered by distance from the player when they are networked
- Game log is now always written to output_log.txt in install folder
- Shore water transition quality
- Higher-quality high-frequency ocean waves
- Performance on light-heavy scenes using culling
- Water junkpile foliage animation now wave-based instead of foliage/wind-based
- Added instancing to deferred mesh decals
- Saved 115 MB of system and video memory by reducing some textures