Player-driven boats are here, a new helicopter event hits the servers, lusher forests are growing, we look at a new PvE monument, and more.
Ahoy! The first player controlled vehicle has arrived in Rust. A motorized rowboat, with seating for one driver and three passengers, can be found on the shores of the island. They require Low Grade Fuel to operate, and have a small storage box located in the bow. If left outside too long they will decay, so you should build yourself a boat house. There will be about 64 active on a 4k sized server, so get 'em while they're hot! You can utilize these boats to access the offshore junk piles added this patch.
I won't go into crazy detail here, because our friends over at Rustafied.com have an excellent in-depth write up that I'd just be mirroring, so check them out for more.
Point is, they're really fun
The CH47 has FINALLY made it in game! Take THAT, Concept Limbo!
This transport helicopter is a periodic server event which will appear offshore and make its way to a designated drop zone to resupply. Drop zones are located at most of the Tier 1 and above monuments, and the helicopter will orbit the area in an attempt to neutralize any threats (read: players). After this, it will approach the drop zone and release its payload.
In an ideal world the scientists expecting the supplies would approach and retrieve them, but we all know that isn't what is going to happen (and it's also not implemented yet). The good news is this leaves this secure, high-value crate up for grabs by the island's subjects. Unfortunately for you, the crate has been equipped with a high-tech locking mechanism which requires some time to disarm. Approach the crate and press your use key to begin the process. A timer will be initiated and upon completion the loot will be accessible. Please note that the computer performing the brute force operation is sensitive and damage to it will slow down the process.
Another thing to note is that your map (and everyone else's) will display an icon indicating the location of any locked supply crates, so lock and load.
Boats are cool, but you know what's better? Boats that have a function. To that end, I've added some flotsam junkpiles which spawn far off the coast. You can use a boat to access them. They're just like regular junk piles, except these are the aquatic type. You can also run around on them, but if you destroy all the loot they'll sink!
My work on boats ended up being generic enough that I could expand it to other areas of the game, the most obvious one being player corpses.
Now when someone is killed in a body of water their body will float on the water's surface and respond to rivers, etc. This not only looks a lot better, but has a functional element as players killed on boats or in water will have their loot be accessible on the surface.
The AK47 now has increased recoil and a slightly more complicated recoil pattern during the initial burst. It is also less accurate firing from the hip due to an increased aimcone value for hipfire.
Item Costs & Balance Pass
After listening to some feedback, I did a bit of an analysis and made a metric tonne of balance changes in terms of item crafting costs. Here's the list:
- Semi Automatic Pistol now has a HQM cost of 4 (was 8)
- Semi Automatic Rifle now has a HQM cost of 4 (was 0)
- All SMGs cost half the HQM they used to (including mp5)
- Heavy Plate Armor pieces are half price
- T-Shirt costs 20 scrap to research (was 75)
- Longsleeve shirt costs 20 scrap to research (was 75)
- Longsword crafting cost was halved
- HV Rockets cost 1/4 what basic rockets cost
- Hide armor leather costs halved
- Bolt action rifle cost reduced significantly
In addition to the cost changes, I've made some gameplay changes to various items.
- BAR more damage
- Heavy Plate less nerf
- Shirt/longshirt more radiation protection
- HV rockets deal 1/4 rocket damage
Don't you just love it when you battle it out for an airdrop and get three sets of Wood Armor? Me too. But it's not us we're catering to here, so I've made some changes to the airdrop loot table so that it'll have a lot more guaranteed "good" items and way less (none, in my opinion) trash.
This also applies to the Elite crates and the new Locked crate object from the Chinooks.
HV Rockets really needed a balance pass done on them. I've changed them up to be about 1/4 the cost of regular rockets as well, as dealing 1/4 the damage. They're a lot more accurate and there's less time between firing and impact for your targets to move out of the way. This makes it a much more viable option for taking out targets which are farther away, or maybe even flying... Maybe they'll actually be crafted now that you can use them to raid and not incur a pointless cost penalty.
I've also decreased the cost of the Rocket Launcher substantially. It now costs 50 HQM and 6 pipes (was 100 HQM/10 pipes) and increased its durability, so you don't have to worry about repairing it as often.
Bullets now impact the water. Big whoop.
You know what feels like shit? When you fire your gun and a frame drop happens. While we were doing a good job with pooling particle effects and sounds, we weren't reusing the actual projectile objects. This could be particularly annoying when firing on full-auto. So I added projectile pooling and then quickly realized why we hadn't done it before. It broke a ton of stuff since various effects were either disconnecting from the projectile or destroying themselves at various points during the lifespan of a projectile. It took a while to figure it all out, but it's all working now and you should notice a smoother experience when zerging down a naked on the beach.
Network Interpolation & Extrapolation
When Helk started working on the vehicles he noticed a ton of problems. Vehicle movement is done on the server, so it needs top notch interpolation and extrapolation on the client without adding a ton of delay to the controls. I rebooted this for players a few patches ago, but server side vehicle movement was at a whole new level in terms of what it demands from the system. So many hours of improvements later, here is what the movement of a helicopter now looks like on the client when the server is running at just 3 FPS:
Notice that we didn't achieve this by adding a bunch of delay to the movement, instead the next position is predicted on the client and then smoothly corrected when it is received. It's easy to make things look good when the server is running perfectly, but as always in life it gets hard when something is not performing the way it should. I'm really satisfied with the result, enjoy the silky smooth movement goodness!
Workshop Skin Loading
We were having some issues with newly released skins not working until after a server restart. Due to this we had to force server updates when releasing skins for the past few weeks. This is now fixed, so future skin releases will no longer require server owners to immediately restart their server.
Long story short, people have been abusing the shit out of the conditional roof side walls by using them as entrances. The recent improvements to the conditional model system now allowed us to remove these and add model conditions to walls that change them to a triangular shape when placed next to a roof. Here's how it works:
If this works well we can finally go ahead and implement all sorts of new conditional models to make buildings better looking and more interesting.
Procedural World Fixes
In addition to the new forests I implemented with Damian (for more info see his section), there are some small but important world generation fixes in this update:
- Fixed some rocks occasionally overlapping monuments
- Fixed monument terrain blending issues (regression from terrain blend maps)
- Fixed monument terrain carving issues (falling through terrain)
- Finally fixed the (rare) checksum mismatch on certain seeds
Particularly the checksum mismatch has been giving us headaches for a long time since it could force server owners to re-wipe their server an hour after the wipe because the map was broken for some people. This should now finally be fixed once and for all.
Server Stalling Issues
There were a number of performance issues that could cause the server to stall for anything from several milliseconds up to more than a second. The majority of those are now fixed, which is important both for vehicles and to ensure a smooth experience overall.
Hapis Island Update
Hapis Island has received some love. The goal was to improve various points of the map which aren’t often used, as well as polishing up some older areas. Here are some highlights:
- Added Junkyard
- Added Sewer branch
- Added Outpost B3
- 8 New caves and tunnels
- Updates & fixes to older radtowns
- Updated roads
- Better Junkpile spawns
See the change log for full list of changes. I look forward to receiving feedback and suggestions to further improve the island.
I've been pushing our vegetation even further than before. The first thing you will notice in this update is that instead of having just one forest type, there are now two. You’ve been asking for deciduous trees to come back, so I created another forest type with its own unique topology. The old forests contain pines, Douglas firs and reddish birches, while the new ones are filled with American beech trees and green birches. Also, temperate and tundra biomes contain large oaks that are scattered across the fields. These changes add much greater visual variety and give the game a lush feeling that we wanted to achieve for a long time.
In addition, you will notice that the density of trees has changed. Forests now cover large parts of the map and the density of the deciduous forests is quite high. This makes small bases hidden among the trees more viable. We have also adjusted the areas in which forests spawn and made trees grow alongside the edges of lakes. All in all, this means you will be staring less at vast empty fields, and forests will break up the lines of sight.
I have also spent some time helping Diogo balance his new wind-zone tech. All new trees and bushes will now react correctly to weak and strong winds.
Finally, once all this new foliage was in, I was able to look into how everything blended together. I spent some time color correcting all the textures, adding color variation and balancing various material settings and improving the billboards. I also experimented with adding custom vertex normals to trees to improve their shading. The results were really good and I was able to roll this out into today's update as well. All these small tweaks and changes should make everything blend nicely together and give the game a more pleasing look.
I've updated the map. I originally intended to fix the lag spike when opening it, but after fixing that there were a few other things that annoyed me.
You had to left click to activate the cursor, then you'd be able to right-click to move around. This behaviour was left over from when you could draw on it, and was a bit counter intuitive. So now when you open the map your cursor will be active and you'll be able to scroll around straight away.
The map is actually rendered from the terrain's splat maps and normal maps, so it can be a lot more detailed than it was. So I played with the shader and have increased the detail levels.
I've updated Steamworks. There's nothing significantly updated here, just a bunch of smaller bug fixes.
The Hair Cap system is now live thanks to Diogo, which means better looking hair, especially when not using the TSSAA anti-aliasing setting. The old hair had a floating piece of geometry that sat just above the head and body and simulated fine detail, which looked good in the top settings, but the visual quality massively dropped off when using lower settings. This detail has now been shifted on to the Skin material itself, letting us do detail like this fade that looks much more similar when using TSSAA and even no AA at all:
Because of the tech changes, all head, face and body hair has been totally reworked to accommodate. Body hair especially should look way better, close-up and at distance. No more weird mangey bits! I've also added some fuzz style layer to our hair, which helps to break up the feel a lot and make it look thicker and bushier. Hair colours and dyes now look a lot more natural. Another bonus of these updates is that hair lights better now, especially at extreme lighting angles. I'm sure many people have seen the hair go bright metallic orange at sunrise and sunset; this no longer happens.
I've taken some time fixing bugs, like body hair clipping through clothing and head hair completely disappearing when wearing certain hats. Now at a minimum you'll see your hair cap. I'm working on some more deforming morphs so we can eventually cover all headwear, especially for much used items like the Metal Face Mask that have some skins with a lot more transparency than the default item. These require a small code change so expect them next update.
Since finishing the new tech I've been making more head and facial styles so there should be quite a bit more variety out there. With every new hair item it will add to the pool of items, so your look will change as the pool increases.
The major focus this month has been mountable NPCs. A large portion of the AI of an NPC is disabled when mounted, like cover reasoning and positioning. They are not as chatty either. A mount point decides whether the seated NPC can wield a weapon, and will restrict their ability to look and aim.
Junkpile scientists are enabled by default this release. They should no longer hover slightly above the ground, and the scientists will be removed together with their beloved junkpile if it times out and sinks.
When scientists spawn, they will be invulnerable until they activate fully. If a player hits a scientist, their reaction time when the player comes into view is faster.
A lot of performance improvements and bug fixes has also been made across the board for the NPCs.
Monument runs in general could be more compelling. Until now, we relied mainly on the tiering system (map zone placement) and pockets of radiation to scale accessibility to loot.
But what if monuments were interconnected? What if they could play a specific role in the wasteland? I have been working on ways to create a hierarchy throughout our monuments. Right now you have unlimited access to all our doors, in all buildings. In the future you will need various forms of access for different types of loot rooms. Here's an example:
You just looted a Blue Access card from a common scientist NPC at a junkpile. This card grants you access to a building in the trainyard, but without electricity the card reader on the wall won't work. You get electricity back on by replacing missing fuses in a fusebox with one you found earlier along the road. Now the door is operational and grants you access to an office room. In this place you find a decent amount of loot and an intriguing Red Access card...
Amidst the other larger things this month, I started to work away on a PVE oriented monument called 'Compound'. This monument is a hub where scientists regroup and keep peace and order. They also sell things through vending machines. We want it to look like an urban settlement that represents a portion of an older larger town. Scientists walled what they could afford to defend from the wasteland.
I currently have a functional greybox of the compound and we are moving towards producing final art for it in order to ship it in next month's update.
Sound Mix Finalization
I've finally finished up the big mix pass I've been working on. Hooray! Almost every sound in the game got tweaked in one way or another. Volumes are a lot more consistent across the board. Quite a few sounds that felt a bit too sharp when the volume was cranked have been smoothed out. Some older sounds got redesigned from scratch, and new sounds got added in a few places. The backend of the sound system got some nice workflow improvements and a few bug fixes too.
Everything should sound a little more full and polished and fit together a little more nicely now. I'm sure I'll end up making a few more adjustments after I play this weekend, and there's a handful of sounds I want to redesign still, but all in all I'm pretty happy with how this turned out.
Proper Water Reflections
Last month I replaced our water reflections with a temporary analytical solution, while I finished a new system for real-time baking of reflection probes. On this update, I finally rolled out the new code which gives us our original reflection quality at only a fraction of the cost.
Our reflections again show sun and moon detail, stars and even clouds while delivering a solid performance improvement over the temporary solution. You can see the sun coloring and intensity matching the sky properly and a proper partial Moon reflection:
To clarify, this solution is similar to what we had a few months ago, except environment reflection updates are much faster than the Unity built-in system we were using.
Foliage Wind Animation
Throughout the course of this month I've been helping Damian with the necessary changes and fixes to foliage shaders. The biggest challenge was revamping the old wind animation code and adding new features without breaking existing assets.
The procedural wind animation code had to support different wind speed and turbulence values, as well as various wind sources simultaneously, either global/directional or spherical/localized. For example, it would have to be possible for foliage like grass or trees to react to a helicopter landing and an explosion, or any other effects, simultaneously.
Water Shading Improvements
After noticing that our water shader was hard to tweak I made some changes to ensure that we can modify its params like any other physical-based material in our world. You can expect some improvements to water shading, as it may integrate the rest of the world slightly better.
Some changes were also to rivers, though less than I'd prefer, in order to eliminate stretching along the river flow and improve wave normals. Chromatic dispersion should be a lot more subtle now, which was making our rivers look oily. We'll definitely revisit river rendering in the near future.
Skin Specular Occlusion
This new feature started out as an experience but evolved into a very decent solution, ending up as part of our baseline Skin shader. By resorting to Bent Normal Maps, combined with regular Normal Maps and some shader magic, we were able to achieve very interesting results. Not only were we able to mask out impossible reflections that would otherwise be shadowed, we're also able to mitigate some of the specular aliasing and exaggerated highlights that are visible when using regular normals. Naturally we also added support for static Occlusion Maps, that also help darken some areas, for a more natural look.
Note how differently indirect lighting affects the neck area and how the specular occlusion helps below the chin and ears:
Please note this screenshot was taken using only ambient lighting. No direct lighting is being used.
While this option is now available in our skin materials, these improvements probably won't be in before next month because they require artist intervention.
- Added Powered rowboat vehicle
- Added Chinook Event
- Multiple seats in vehicles
- Added lakeside forests
- Added Birch, Oak and Beech trees
- Added projectile pooling (gunfight performance)
- Bullets now impact water
- Added server asset warmup (performance hiccups)
- New client side entity parenting (performance, vehicle support)
- Added triangular conditional wall models
- Junkpile Scientists
- Hapis - Added Junkyard monument
- Hapis - Added Outpost B3 small monument
- Hapis - Added sewer branch monument
- Hapis - Added Collapsed Tunnel small monument
- Hapis - Mining outpost
- Added vehicle spawns to Savas KOTH
- Added horse meat (needs icons)
- vehicle_flipy and vehicle_sensitivity convars (unused)
- Hair Cap system
- Head and Facial hair styles
- Player Corpses float on water
- Variable wind animation
- Added floating offshore junkpiles
- Updated ingame map to be more detailed
- Map coords swapped so that the letter is horizontal
- Eye Adaptation and LUTs updated
- Tweaks to dynamic grass and terrain splat colours to align
- Re-added display of decals on static furnace, mining quarry, pumpjack & small refinery
- Changes to ocean and river reflectivity to be more physically accurate
- Caves Spikes Trap nerfed
- Major network interpolation & extrapolation improvements
- Updated EAC
- Stripped server schema refresh (performance hiccups)
- Significantly improved shading on new foliage
- Increased overall forest sizes
- Big mix pass over most of the sounds in game
- Spawning scientists are invulnerable until activated
- Scientist reaction time goes up when they get hit
- Hapis - Updated Site A and B tunnels
- Hapis - 8 new cave and tunnels
- Hapis - updated roads
- Hapis - Updated site b tunnels to have radiation
- Updated Savas KOTH loot table with all recently added items
- AK47 has more hip aimcone
- Water reflections
- Temporal anti-aliasing
- Pubic, Armpit and Eyebrow hair
- AK47 has more difficult recoil
- Added 4 HQM to SAR cost
- Removed most Junk from Airdrops + Elite Crates
- TShirt/LongShirt additional radiation protection
- Reduced SAP HQM cost by 4
- Heavy Plate Armor slightly less movement speed reduction
- Heavy Plate Armor cost Halved
- HV Rockets cost slightly more than 1/4 that of regular rockets
- HV Rockets do 1/4 damage of regular rockets
- Reduced longsword cost
- Reduced rocket launcher cost
- Rocket lancher has increased durability
- You can now research and craft Binoculars
- CCTV + Targeting Computer are stackable to 64
- Hide armor costs halved
- SMGs HQM cost halved
- TShirt/LongShirt costs reduced
- TShirt/LongShirt research cost now 20
- Fixed gather amounts being inaccurate on HUD
- Fixed NPCs showing in the report list
- Fixed main menu only showing one friend
- Fixed hitching when opening map
- Fixed that servers needed a restart before newly released skins could be used
- Fixed health bars not updating when buildings are repaired via upkeep
- Fixed being able to walk far away while looting
- Fixed ore bonus nodes doing pointless position update ticks
- Fixed field rocks sometimes overlapping monuments
- Fixed some floating rocks near monuments
- Fixed sometimes falling through terrain near monuments
- Fixed rare world checksum mismatch on certain seeds
- Fixed exploits to dive underneath terrain
- Fixed some rock terrain adjustments having reverted
- Fixed skin selection icons not refreshing until clicked
- Junkpile scientists no longer hover above ground
- Hapis - Fixed some out of bounds exploits
- Hapis - Fixed junkpile spawns on cliff edges
- Fixed gap in Garage door which allowed traps to be trigged through
- Fixed blueprint read not using master sound
- Fixed flame turret been trigger through walls
- Pubic hair clipping through clothing
- Broken wrists on some clothing items
- Placement guides not showing underwater looking from above
- Z-fighting in stomped grass when grass displacement is enabled
- Particle shadowing inside caves and interiors
- Argument exception in motion blur
- Number overflow in occlusion culling
- Null reference exception in MaterialColorLerp
- River UV stretching in direction of flow
- Crash in terrain texturing initialization
- Fixed skin shading when in shadow
- Foliage biome tinting
- Fixed Chainsaw chain direction
- Fixed garage door culling at short range when gfx settings low
- Fixed thrown objs impacting vehicle they were thrown from
- Removed workshop vote counts (Valve doesn't send them anymore)