We’ve got a game-changing patch going live… right now. There’s an NPC attack chopper coming to fuck your shit up, holo sights for weapons, new perimeter fence gates, streamer mode, an engine update, and loads more.
Welp, here she is. After many long weeks of hard work the PvE helicopter event will be live. Before I talk about what it does, let me give you guys some disclaimers so you don’t think it’s completely done:
- It’s maybe 70% complete.
- It’s going to go through trees in some situations.
- It’s going to shoot you through tree canopies.
- Its movement can be wonky sometimes and it’ll go up too fast or turn too fast.
- It’s probably OP.
- It’s probably UP.
- It’s probably laggy on servers with lots of players.
So now that all the negatives are out of the way, here’s how it works.
Every 48-72 in-game hours, one will spawn offshore and begin to patrol between all the monuments on the map, engaging players it encounters along the way. If you don’t want to be killed, I suggest hiding from it before it gets too close! If you do want a piece of the action, don’t just spam the helicopter with bullets, that’ll just piss it off. Instead aim for what you think might be weak spots which will bring it down much much faster. Once the helicopter is downed you can investigate the crash site to find some high-end gear. You may have to wait a while before you can approach it due to fuel fires – which can be seen by other players at long ranges, so watch your back. At night you can evade detection by staying out of the spotlight, but once you’re detected you’re pretty much screwed!
I know it’s not perfect, and I know it’s got some bugs, but I really hope you guys enjoy it. It took quite a bit of work to get it to this level, have fun!
I’ll be fixing the balance of the helicopter, and also the inevitable 285 bugs that will show up on reddit. I’ll be watching.
This update brings an update from Unity 5.1 to Unity 5.2. A few things have changed for the better, but it has introduced some bugs.
They have made the UI system slightly faster, but they’ve introduced a few linear colour bugs and new layout issues. The UI Mask distortion that was plaguing OSX builds seems to have been fixed.
There’s an animation event bug right now that may be affecting a few things. Andre added a little hack which should stop it being an issue on footsteps, but you might experience it on animals. I’m told they’re aware of it and are going to have a patch with it fixed.
They fixed an issue we were having with the decals, where they’d disappear in low light. So you should now actually see decals when you hit things.
That’s all that was really added in 5.2 that affects us. Please stop asking us about DirectX12, it’s not going to turn your shit GPU into a good one.
When you’re playing you have what we call internally a “life story”. This is really basic right now, logging how long you were alive and how you died. It’s used on the death screen to show who killed you.
We’ve started saving these stories on the server every time a player dies. We’re going to do more with this in the future, but for now it’s enabled me to add a much much requested feature: if you leave a server and rejoin later and you’re dead, you’ll get the death screen with information about that death. So even though you’ve died somehow you’ll at least know roughly how it happened.
Weapon Attachment Fixes
I’ve been polishing off the weapon attachment system this week. I’ve fixed how they used to disappear after a few minutes of walking, and they now lose condition when you use your weapon.
Something I’ve been wanting to try out for a long time is a streamer mode. Streamers sometimes find it hard to play Rust because people will find out what server they’re on and either DDOS it or hunt them down and kill them. Streamer mode hopes to make that a bit less likely.
First of all it tries to hide all server names, so if you’re streaming and you accidentally press escape, your audience won’t see the server name.
Secondly, it changes everyone’s name to something random. The names are based on their steamid, so the same guys will always have the same names. You’ll recognise your friends because they will always have the same random name.
This probably isn’t going to solve all the problems, and I’m sure there’s room for improvement, but hopefully it will help out the guys who have been asking for this. Or at a minimum it will make them realise it’s a big waste of time and will shut up asking for it.
The baseline implementation of the gates are in. This has been waiting on my todo list for a long time so I wanted to make a start on it so Vince could do the art, but it needs a bit more polish to be at a place where we’re happy with it. The gate opens and closes quite slowly (8 seconds), this is on purpose to allow for a moment of vulnerability.
I played with the idea of only being able to open it from one side, but in the end I decided against it. You’d need someone in your base to close the gate and open it for you all the time. We’d end up with situations where people would add in and out gates to their walls. So now they work just like doors.
One known issue is the placement of the locks. I’ve got to come up with a new system for lock placement so we can place them in different places on both sides of the door, because at the moment it’s just one object which is a set distance away.
The holo sight makes the weapon jitter issue a lot more obvious. This was something I was hoping that Unity would fix, but that doesn’t seem very likely, so I’m going to have to have a look at hacking the fuck around. Hopefully it won’t have to be as hacky as the solution in Legacy.
I’m also going to be looking at making blueprints upgradable, so instead of all weapons having two slots, you’ll have to upgrade your blueprint to be able to craft weapons with extra slots. We’ve got a few other crazy plans for this so I want to do it right.
I fixed a number of issues about the way we spawn decals that made it far too hard for artists to create and preview decals. Together with last week’s fixes we can now really start using them. Scott is already on the case, so check out his section for some details.
I changed the LOD grid to do its distance calculation per-object instead of per-cell for more accurate LOD switches, especially for buildings. This in turn allowed me to increase the LOD grid size for faster LOD refreshes and bigger, more optimized batched meshes. I also fixed an issue that could temporarily render objects invisible for a short period of time between being spawned and being batched.
While profiling the game I found out that the 2D UI event system takes a significant amount of time every frame. This was caused by the UI raycast components being enabled even when the mouse cursor was locked and invisible. This cost us at least 1-2ms every frame and is now fixed.
I did some more experiments with asset preloading this week. As explained in last week’s devblog, doing this is essential in order to reduce stuttering mid-gameplay. This week I optimized the loading screen warm-up step as much as possible with our current asset organization.
Since Unity improved asynchronous asset loading in 5.2, I also added an experimental second warm-up mode that preloads assets while in the main menu. However, since it makes the main menu slightly laggy it is to be considered experimental until Unity sends more asynchronous loading improvements our way.
Long story short, full asset preloading in the loading screen is now the default mode on 64bit systems and should greatly reduce the stuttering experienced mid-gameplay.
Due to the update to Unity 5.2 and the testing it involved I didn’t have much time to finish up collider batching this week. There’s also a problem with the way construction blocks spawn on the server that should ideally be addressed before collider batching goes live, so I’ve rescheduled it for the next update.
Between last week’s blogpost and this one I managed to put 3 good days in the dungeon branch. It was enough for me to polish some features of the previous remnants and add a few extra pieces to the sewers greybox set: two relatively big rooms that can connect into tunnels at different floors. It’ll make for some nice underground exploration. Speaking of which, I also replaced the abandoned house radtown with a totally new one: it’s a natural rock canyon, with the climbing pigeon nest at the bottom of it, a cave network (that I won’t let you build into), a sewer dungeon part, and a couple small buildings atop the cliffs.
I also reworked our lighthouse base by making it more visually consistent with the rest of our remnants using cliff meshes, but there’s a few things to fix on that one with Andre before it’s fully functional. There’s other features it still lacks to push all this stuff to you guys, but hopefully it’ll come in the next two weeks.
The gates! Got them done, also I revamped the stone wall to look more in line with the (soon) incoming stone gate! Oh and the stone wall damages you now too.
Rust on stones, my life is complete.
Started a shitty week with what I suspect was food poisoning. That put me back a couple of days. Regardless, I got some good progress done. This might not make it to the patch, but I’ll be working on it throughout the weekend and I think it might be worth the wait.
In these images you can see a flat ocean with global reflection on the left and global + local on the right:
Same image set, except with ocean waves enabled:
You’ll notice that we’re even reflecting the fog. Obviously, we had this working a couple of months ago but it was a very quick and dirty version that served us well for a while. This time around, we’re spending more time on it to make it fast and pretty.
The reason why this is taking so long is, not only the fact that there are a lot of graphics elements and plugins at play, it also needs to be really fast and scalable; this is the most important part. I’m taking the extra time to test on several machines from high to low end. There are some drawbacks common across all screen-space implementations which can’t be seen in this image but I’ll do my best to make them less distracting.
In case you’re wondering, the reason why we’re not waiting for Unity’s SSR is mostly because water reflections can withstand a more comprehensive set of optimizations and can be more tolerant to compromise (thus faster) than a generic solution.
I also did some stability work: I got rid of all runtime allocations in terrain rendering, PVT, water and some post effects, to make my contribution to André’s ongoing efforts to achieve a more stable frame rate. I took the opportunity to patch some areas of my own code that could be causing potential crashes for some players – e.g. switching water quality or turning pvt on/off
Will keep working on Water 2.5, optimization and polishing work, more bugs (probably).
I’ve been working on a variety of generic clothing items that people will be able to easily customize. Rather than creating very distinctively Rust-styled cobbled together clothing, these are designed to look more like everyday clothing items so that patterns and designs you’d see on normal clothing are a bit easier to pull off for Steam Workshop items.
Next week I should have at least a couple of these done and ready to be released, and I should have others in the works.
I finished some high-poly versions of the red dot sight:
And the laser sight module:
I also did a “wear and tear” pass on the holo sight to make it fit better in Rust:
Just to clarify, there are plans to do more primitive looking add-ons (Paul is working on some concepts at the moment). These authentic military add-ons will most likely come from airdrops or loot drops.
I’ll continue working on the add-ons. Most likely I’ll be able to get the holo sight done and in game next week.
I spent most of the week making new/extra gunshot sounds. I felt like this was one of my weak points before, and I picked up some tricks while working on explosions that translated well to gunshots too. Recorded gunshots actually sound pretty lame a lot of the time. The thing that makes guns sound so imposing in real life is how loud they are (loud enough to actually damage a lot of microphones). That doesn’t translate very well through recording, so a lot of recorded gunshots end up sounding like wimpy pops and don’t have much character. The solution to that is to use and layer different sounds over the gunshots. I had a lot of fun recording and digging up things like nail guns, cracking whips, truck air brakes and staplers to add more spice to these.
I also worked on silenced gunshot sounds for all the existing guns too, but those aren’t quite ready yet.
I added some subtle clothing movement sounds to the relax animations Minh added recently, but I’m holding off on committing that for now. There’s a bug in the latest version of Unity (which should be fixed in 5.2.1) that causes animation events to fire from animations that are fully blended out. Since these sounds are played from animation events we’d end up playing the sounds from ALL the relax gestures at the same time if I put these in now.
I’m going to finish up the silenced gunshots. Then I’d like to spend time doing some more general polish work and sounds for one off things that haven’t gotten any love yet (planting seeds, building, upgrading things, etc).
I started working on a new remnant town/area that we’re calling the military caves. These industrialized caves should provide a considerable challenge for players, while also containing valuable loot. This is just an access tunnel but I’m also planning on designing a central location/room that tunnels like this lead to.
I’ll be on vacation until the end of September, but when I get back I’ll being getting further into the design for these military caves.
Working on the low poly female model! We’ve got it to a stage we’re happy with and so we’re going forward. We’re doing something a little bit different this time. Sort of. We’re separating the head mesh UV into its own UV/texture sheet from the body. One reason for this is that we’ll be able to capture finer details in the textures this way, as the two boxes in the middle highlight. I’ll be working more on this to get the most out of it.
We’ve also changed the mesh up with female. What we did for the old female mesh was share the male mesh which meant we didn’t really have the polygons to support the shape of the breasts, hence the manly shape. So to avoid PS1 style Lara Croft boobs we’ve added a few extra polys to capture the forms so females are far easier to identify.
For those wondering why I put pants on the model last time, it was purely just to change things up a bit. No need to worry: she will be nude like the male.
More on the low poly model and textures!
Worked on some weapon stuff this week. Firstly I tweaked the flamethrower design so that it looks like it’s built from more practical functional parts. It will lend itself better to being modded and have a more cool looking shape from first person view. I’m a fan of removing things from the UI if possible and having information on the weapons themselves for more immersion, so it’ll have a cool little fuel gauge to show you if you’re running low on ammo and a blowtorch flame to show when it’s active. I also did a couple of holo sight concepts: the first of a bunch of mods that I will be designing that have a more thrown together ‘Rust’ look to them, like they were made from various bits of scrap metals and parts.
More weapons mod goodies. There’s quite a lot of stuff to get stuck into here so I’ll just grind away at it until we have enough that we’re happy with :)
These are working now thanks to 5.2 and some Andre love. I’ve focused on bullet impact decals first. Concrete, wood and metal are working, and I will be bringing in stone, cloth, flesh, dirt etc. over the next couple of weeks.
Torch View Model
I gave the torch effects some attention this week. It does look better, but I still want to make it so the lit cloth looks like it’s burning just like the campfire wood looks.
Added a cool little bubbling effect to the crater. It just sells the idea of the oil being a physical thing a bit more.
Concrete Mesh Particles
Done and will get plugged into the appropriate effect in the next couple of days. They are on the concrete bullet impact effect though if you want to check them out.
Continue with the bullet impact decals and hopefully get all surfaces done so I can move on to blunt and slash impacts.
- Bring the torch world model effect in-line with the new view models one.
- Start looking at blood effects, starting with a system to spawn entry/exit wound decals, effects and the subsequent blood spray on surfaces behind the character.
- If I have any time left after that continue the damage overlay improvements.
Savas_KOTH should now be operational again, and much improved:
- Loot tables remade from scratch. Much better loot, and no bullcrap
- Added a small buildable hill in the middle, if your group has the balls
- Added static spotlights on said hill, for the defenders
- Added the attack helicopter event to it (once every 24-48 hours)
- Added a C4 spawn shack at the back of the island
- Loot crates now use Savas-specific textures with clearly marked loot tiers
- Food Town changed to Ammo Farm. It is the only place to get exotic ammo
- Added a large public furnace
- Added several public campfires
- Airdrops are slightly more frequent
- Added lighting to key areas
- Added hemp spawns for cloth
- Added some localized sound effects
- And more…
I also made SavasIsland, a classic Rust variant of the PVP map. It is fully buildable, and has more conventional loot.
Other than that, I did a bunch of nature tweaking, fixed some trees that got completely borked because of a Speedtree update, and fucked with all foliage LOD distances, so that you hopefully should have a bunch more FPS now.
I’ll be helping Bill with some things, so I’m not entirely sure! We’ll see.
Upgraded to Unity 5.2.0 Fixed various mid-gameplay stuttering issues (some improvements require 64bit) Updated how we define ironsights to be more accurate Can wear hats with bandanas Added holosight weapon mod Unified viewmodel FOVs Can drop weapon attachments on weapons to equip Weapon slots shown on icon Weapon attachment sounds when attaching Fixed allowed to put any item inside weapon slots Fixed signs sometimes having no image Weapon attachments now lose condition Admin give commands can take a partial item name Fixed weapon attachments disappearing after walking a long way Fixed NRE disconnect in NetworkDestroy Fixed a condition where the player could get stuck in a wounded state Added admin.mutevoice
Added admin.unmutevoice Added admin.mutechat Added admin.unmutechat Fixed arrow disappearing in bow viewmodel Fixed pumpkin falling through world Show last death info on server join (if there is one) Fixed death screen sometimes not showing Added indexes to databases Fixed menu music playing over loading music Added global.streamermode <0|1> Improved screen overlay shaders (normal mapping, dynamic lighting) Improved deferred decal system (ambient light, reflection probes, emission maps) Improved non-authoritative client side projectile prediction Fixed projectile tracers ending one frame too early Added flags for client side effects and attacks to projectiles Disabled small furnace smoke because it looked weird Added memory usage/garbage collections to perf 2/3 Made building LOD switches more accurate Increased the LOD and batching grid size (faster LOD refreshes, less draw calls) Fixed certain far objects being temporarily invisible between spawning and batching Optimized UI event system (saves 1-2ms per frame) Fixed airdrops being allowed to drop on powerlines Wood type gate ingame Improved external wall stone visuals/barbwire on top deals damage You can do "spectate @ " to spectate non player entities Fixed beartrap looking unarmed when it was armed Fixed opening chat when typing in the console Fixed holdtype could be wrong on initial encounters