A smaller blog than usual this week, but we have cheaper clothes, slower airdrops, the harbour is coming together, and more.24 November 2016
Shadowfrax looks into the new update:
I went through and reduced all the costs of the burlap clothing, making it more accessible to everyone. I also lowered the costs of the Miner and Candle Hats, and fixed a bug where the hide skirt/haltertop was using the wrong armor type and was actually as good as the hoodie/urban pants. Nice!
The airdrop falls a bit slower now. This means even more people will be around its drop position by the time it lands, so yikes! I’ve also lowered the chance of getting ammo in it, which in turn increases the chances of finding everything else.
I’ve been sick as hell this week so I didn’t get much done. I did, however, start investigating a culling option known as “Hierarchical Z-Buffer Occlusion”. Basically how it works is we render occluders (walls/rocks/terrain) into a render target storing their depth, and then check the position of potential ocludees (players/deployables/whatever) against the depth at that position and if they are technically farther away, we can disable them from rendering. I’ve ran into a few setbacks in Unity (very slow to get data from the GPU to the CPU), but I’ve got Diogo Texiera on the case. More on this later!
I’ve started working on a low-overhead and high-performance culling system specifically for the interior environments of dungeons and caves. Some of you may remember the impact dungeons had on performance when we first added them, and we’re trying not to repeat this with caves. Unity’s occlusion culling only really works for static, relatively small worlds, so we need to do things the hard way and write the solutions ourselves. The idea for caves is to determine the visibility of all cave pieces from their surrounding environment and completely disable them when they can’t be seen from the player’s perspective. Limiting the system to interior environments allows you to make a bunch of simplifications, like ignoring shadow casting from the sun and not having to deal with moving objects. This helps speed up the system enormously compared to more generic culling algorithms. In theory this can also be extended with something like an adaptive resolution voxel grid such that it can be used for more complex or even semi dynamic environments like our player-built structures, but there are other algorithms that might be better suited for those.
These past few weeks we've been dealing with texture bandwidth issues mostly due to the fact that we're using way more textures than is absolutely necessary. This is costing us time and memory on both CPU and GPU for various reasons. This is becoming more and more problematic as more custom/community items are added into the mix.
In order to address this, I've been working on some changes to our shaders to enforce stricter physical-based rendering rules, allowing us to save texture memory, in the near future, by packing more information into fewer textures. I also took the opportunity to add support for anisotropic (e.g. brushed metal, carbon fiber, hair/fur) and translucent materials (e.g. rubber, wax, marble) compatible with our deferred rendering path. Here's brushed metal:
These changes have little gameplay impact but, hopefully, they will translate into into better runtime performance and more material options for item customization.
Similarly to Vincent, I’ve been working on some of the smaller assets. This week I managed to complete a set of portacabins that you will be able to explore as part of the harboor. They come in variety of sizes and surface types so they should add more visual variety to environments.
In addition I’ve began working on fuel tank assets.
As I mentioned last week I've now moved to smaller props tasks. The big structures of the harbor are dealt with and we can focus on the details, like this forklift:
The incoming work on props will end up enriching all environments in the game, as we will revisit previous monuments and push visual quality there as well.
I rigged up, animated, and added sound FX for the Beretta viewmodel.
Helk felt the Satchel Charge viewmodel was too cartoony, so I've edited this now, and also set up a viewmodel for C4. Just the survey charge viewmodel left to do now and all three can be committed to main (as they use the same updated code). Apologies for the camera clipping, it's a known issue.
After some feedback from Helk, I updated the waterbottle viewmodel animations. The drinking pose was important to get right amongst other things.
Here's what Rust would look like if we were using Unreal and you had to survive in an office in Bloxwich.
I finished off and added a bunch of new item UI sounds this week. Almost everything has a suitable sound now, although I do think I still need to do a medium-sized wood sound for things like the bow and spears, and a medium-sized slightly rattly metal sound for things like the bear trap.
Added a bunch of new item UI sounds
Fixed object deploy sounds not changing volume with game volume
updated positioning of world water bottle & bota bag
updated jog right anim to work better with bottles
updated water bottle vm anims
Halved cost of burlap clothing
Reduced cost of candle/miner hat
Airdrop no longer spawns ammo
Airdrop falls slower
If you want to follow this project you can sign up to the mailing list.
We'll only update you about this project, we won't spam you about other stuff or sell your email address.