There have been fairly a couple of optimizations made to Bandit Camp this month. From extra draw name discount through artwork and code, in addition to new methods of drawing timber and you may see in Diogo’s and Andre’s Tree rendering associated sections.
There has been some optimization on the art-side of the city as properly. Damian has adjusted the LOD distances on dozens of small objects to make them LOD and cull faster. Swamp cabins got a further LOD degree and their LODs have been merged to assist with occlusion. Small foliage, equivalent to reeds and water lilies, have been additionally made to cull faster.
The timber current within the Bandit Camp and buildable swamps have seen a major efficiency overhaul. Previously, they consisted of two supplies every, nevertheless we have now determined to merge their textures into an atlas. As a outcome, the variety of drawcalls generated by the swamp timber (which make up a good portion of the scene) was halved.
Most of those tackled CPU efficiency, whereas just some actually tackled GPU overhead. We figured it was time to maneuver on to different optimization duties when efficiency was respectable and at last scalable or GPU dependent, which suggests it may be performed correctly properly if gamers decrease the game’s graphics high quality, decision or get a extra highly effective GPU. Our purpose for this patch was 50-60 fps at 1920×1080 on a GTX 1060 (3GB) with default settings.
There continues to be a variety of work to do, and the Bandit Camp should get gradual with a variety of gamers. The price of rendering gamers and NPCs themselves are an issue which we additionally plan to deal with as quickly as doable.
Over the previous few months we have now made an enormous collective effort to remove the vast majority of client-side CPU efficiency bottlenecks. This month, nevertheless, as we eradicated the final massive ones, we ended up at some extent the place Unity’s CPU-side rendering was primarily clogging up our essential thread. However, the complexity of our scene simply did not match the inflated rendering occasions. Thankfully Unity had been engaged on an answer.
We’ve enabled graphics jobs in Rust this month. This is a comparatively new Unity function that significantly reduces CPU overhead by making higher use of multithreading. It’s a considerably dangerous transfer as Unity continues to be contemplating it an experimental function, and in previous releases we encountered important points with it and needed to roll it again, however we have achieved thorough testing and could not discover any points we weren’t capable of work round this time. In our testing it considerably improves efficiency and Rust is now using the GPU rather a lot higher than earlier than and is now not CPU certain on most {hardware}, which suggests graphics settings truly impact body price.
We profiled, tracked down and glued varied reminiscence allocations that would result in stuttering brought on by the rubbish collector. The essential areas affected are:
- Ambient sounds
- Image results
- Prefab pooling
- HUD (identify tags, crew indicators)
So as you possibly can think about, given the frequency these components are getting used within the game, this added as much as a fairly important efficiency subject.
In early August we launched an replace to incorporate all workshop skins in the principle game set up so new gamers now not must obtain a whole lot of megabytes whereas taking part in. We have been capable of restrict each obtain dimension and the quantity of disk area utilized by these skins utilizing texture compression to make sure it is a future proof system. Future pores and skin releases will nonetheless be downloaded from the workshop till the subsequent game replace is launched, at which level they are going to be included within the replace obtain.
I applied a system to restrict the quantity of tree meshes to render independently from what number of timber are literally round you. This is completed by forcing all timber that exceed the restrict to be rendered as billboards, solely rendering the timber closest to the digicam as meshes. This has the benefit that thick forests have much less of an affect on efficiency, so if you happen to’re affected by efficiency points inside forests ensure that to allow this. You can modify the variety of timber to render within the graphics settings.
I applied the third, and hopefully remaining, iteration of prefab pooling this month. The previous prefab pooling system might reuse prefabs as soon as instantiated. However, the pool was beginning out empty when becoming a member of a server, which for instance meant some lag might happen the primary time you fired a gun. This was inflicting body drops in lots of conditions and made the general efficiency really feel slightly horrible. The new system solves this and as a aspect impact is far more environment friendly for the rubbish collector since any dynamic reminiscence allocation from Unity’s game object instantiation is completed within the loading display and instantly cleaned up earlier than even getting into the game.
Rust makes use of a physics based mostly character controller. This means each the participant and the digicam transfer in mounted time intervals with the remainder of the physics system. The downside is the physics system solely runs at 32 frames per second by default to keep away from extreme CPU load. This meant solely the digicam rotation (mouse enter) might make the most of excessive body charges and never the digicam motion (keyboard enter), which is locked to participant motion in first particular person view. I discovered a method round this so the digicam is now each transferring and rotating in each body, which makes issues look rather a lot smoother on {hardware} that may deal with excessive body charges.
A couple of months in the past we deployed an optimization for the terrain shader and textures that concerned texture arrays. Because of it, and since we upgraded to Unity 2018, decreasing graphics high quality had no impact on terrain texture decision, which suggests you is probably not taking full benefit of decreasing graphics high quality since rendering the terrain nonetheless price the identical.
This subject is now mounted and terrain texture density is now correctly downscaled in response to settings. Lowering terrain texture density will profit low-end graphics playing cards essentially the most.
Ever since we elevated the viewing distance for timber, impostors have turn into one of many greatest CPU bottlenecks. Rendering hundreds of impartial objects, even easy ones like impostors, could contain a variety of culling, sorting and drawing calls. As a part of the CPU optimization push we made this month, I took the chance to deal with impostor efficiency and wrote a specialised renderer for impostors that maximizes {hardware} batching potential. While it has minimal results on GPU efficiency, it primarily eradicated all CPU price.
In follow this enchancment will profit some machines greater than others. However, the profit might be obvious when mixed with all different modifications and you need to see an affordable FPS enchancment.
Please observe that, sadly, as a consequence of a Unity bug this optimization is disabled on macOS. We plan to right this, hopefully on the subsequent patch, as we swap from OpenGL to Metal.
Last month, after we launched Bandit Camp, it featured our new environment/fog volumes. As promised within the final replace, as a substitute of merely slowly fading in after we stroll into the compound, I’ve up to date the quantity fog rendering to additionally work accurately after we’re outdoors trying in.
This makes the transition smoother and fewer awkward. The complete quantity is pale with distance, so after 500m it begins fading away till it is now not seen. Also mounted a problem the place standing on the quantity edges would reveal some arduous edges forming the form.
Due to this month’s CPU optimization push, occlusion culling could also be much less of a bonus as a result of the CPU price of operating it might overshadow the advantages we’re getting on the GPU. We plan to deal with this going ahead by transferring many of the work to the GPU. It is barely then, with out that overhead on the CPU, that the advantages might be internet constructive in all phases of rendering.
In the meantime, if you happen to discover any lag when rotating the digicam or in different cases, you’ll find a brand new choice to toggle occlusion culling underneath Graphics Options / Experimental. Feel free to strive disabling it (on by default) to see whether or not it helps together with your explicit configuration.
Earlier this month a hotfix was pushed out to deal with a critical FPS subject that had been current ever for the reason that new identify tags have been added. The enchancment will primarily assist these shoppers with slower CPUs, however everybody ought to have seen a 10-20% FPS enchancment.
I added a brand new uncraftable grenade this month, the Smoke Grenade. The new ‘nade will obscure the realm they’re thrown in for 45 seconds, and may solely be bought at Bandit Town for 10 Scrap.
I just lately modified each corn and pumpkins to be stackable, which ought to make them much less annoying. I eliminated their situation worth as properly, so no extra 0.1hp pumpkins. I additionally modified how vegetation work, so you possibly can solely harvest the fruit when it’s absolutely ripe, which now lasts 48 hours earlier than dying.
To fight meals spam we modified the speed at which you achieve well being from well being over time to be half as quick, this renders the big Medkit much more ineffective, however it’s due for a rework subsequent month anyway.
Some experimental work was achieved on a CCTV digicam system. This will work by permitting you to deploy a laptop computer on a desk and cycle between cameras close by. Initial checks appeared to point this is able to be viable so we could transfer ahead with this new function subsequent month.
In a small oversight, we forgot so as to add the recycler to the Bandit Town. This is now mounted.
The recycler might be discovered within the wheel home of the dredge.
A very long time group request was to have the ability to place deployables underneath the restore bench. You can now do that, and I enabled it on the BBQ as properly.
This month noticed a rewrite of the AI’s sensory, conduct and purpose techniques. They’re solely utilized to the scientists on the Military Tunnel this month.
The sensory system lets us replace totally different sensory modules at totally different frequencies, which permit the sensors that matter to be far more reactive than earlier than. Preliminary steps have been made to make this far more environment friendly efficiency sensible sooner or later.
The new conduct system is ready to plan into the long run and assume a number of steps forward when making choices. This makes it each simpler to design the conduct we would like and debug their conduct once they act oddly.
The purpose system works on a mannequin of deliberate hits and deliberate misses, in order that the AI can management how properly they hit their targets based mostly on alertness and timing.
The Military Tunnel Scientists ought to now keep far more engaged with gamers. They hear footsteps, explosions and gunfire. They are higher at utilizing cowl and so they have realized to throw grenades and use syringes.
Animals noticed one other tweak to their roaming. They at the moment are restricted to not roam too far-off from the place they spawned, which ought to preserve all of them from ending up on the coast of the island.
Our system for enjoying again localized atmosphere (tree leaves rustling within the wind, waves on the shore, and many others) had ended up utilized in some methods it wasn’t initially designed for over the previous few months, and we found some efficiency points stemming from it. The Unity CullingTeams we use to allow/disable these sounds have been being up to date too regularly. I’ve made some modifications this month that significantly scale back how usually we have to replace these CullingTeams and have made these updates far more granular, which suggests they are much quicker once they do have to occur.
Streamers’ goals have come true: I’ve added a brand new possibility to cover indicators which might be discovered within the choices menu. This will conceal all participant painted indicators in-game.
For the previous few weeks, Vincent and I’ve been arduous at work on a brand new monument. The Lazarus is a big transport vessel owned by the Cobalt Cargo Shipping Company. It is supposed to circle the Rust island and ship items to the scientists working there. This giant ship will comprise useful loot and might be protected by the scientists that gamers should defeat to be able to entry it.
While the entire art work for this monument is at the moment completed, we determined towards releasing it this month. Currently, the ship works solely as a static monument and spawns out within the ocean. However, the thought is to have it transfer across the island. To obtain that, some new game code might be required, and it isn’t a simple activity as gamers and scientists should be parented to a big transferring car.
In the meantime, beneath are some screenshots that may tide you over when you wait:
I’ve been engaged on some new glove sorts: Burlap, Roadsign and Tactical variations based mostly on some ideas Paul made. I used to be doing a little remaining fixes after we locked down the patch, however they’re all achieved now so count on them in subsequent month’s replace!
These are designed to make the most of the brand new(ish) first-person clothes and look fairly neat from the first-person view:
To broaden the on line casino, I made a slot machine. The profitable circumstances aren’t set but, and so the circumstances might be added at a later date to the feel on the highest signal.
This is the brand new L96 Sniper Rifle. It’s the army counterpart to the Bolt Action Rifle at the moment in-game, and like the opposite army grade weapons it is anticipated to not be craftable.
It was tremendous enjoyable making this, so I hope you all have enjoyable utilizing it whenever you get the prospect.
-
new Scientists at Military Tunnel throw grenades.
-
new Scientists at Military Tunnel use syringes.
-
new Workshop skins at the moment are included in the principle game obtain
-
new Added prefab warmup to loading display
-
new Added new prefab pooling system
-
new Added “Max Tree Meshes” graphics possibility
-
new Added ladder set off for customized maps
-
new Added excessive body price digicam motion
-
new Added Smoke Grenade merchandise
-
new Added “Hide Sign” possibility
-
new Added multi-threaded rendering
-
new Added occlusion culling graphics possibility
-
new Added new optimized impostor rendering
-
up to date Scientists at Military Tunnel hear footsteps, explosions and gunfire.
-
up to date Scientists at Military Tunnel use a brand new purpose system.
-
up to date Scientists at Military Tunnel use a brand new, extra reactive, sensory system.
-
up to date Optimized asset bundles
-
up to date Optimized loot panels
-
up to date Fixed varied pores and skin icon points
-
up to date Optimized varied dynamic reminiscence allocations
-
up to date Health over time takes longer to transform into well being
-
up to date Optimized mesh LOD updates
-
up to date Reorganized graphics and efficiency settings
-
up to date Optimized low degree reminiscence pool
-
up to date Pumpkin and corn now stackable to 10
-
up to date Removed pumpkin situation
-
up to date Workbenches now decay after an extended interval
-
up to date BBQ permits deployables beneath
-
up to date Repair Bench permits deployables on shelve
-
up to date Pumpkins and corns give much less seeds when consumed
-
up to date Atmosphere volumes now seen from outdoors Bandit Camp
-
up to date Optimized some rendering associated dynamic reminiscence allocations
-
up to date Optimized localized atmosphere system
-
mounted Scientists at Military Tunnel keep engaged with enemies.
-
mounted Scientists at Military Tunnel now reload in cowl.
-
mounted Bandit guards now aggro smoke grenade throwers.
-
mounted Bandit guards shoot higher at lengthy vary.
-
mounted Bandit guards now kill sleeping gamers after 20 minutes.
-
mounted Recycler at bandit city is now higher protected by bandit guards.
-
mounted Junkpile scientists hearth their pistol as a substitute of simply fleeing.
-
mounted Animals now roam in a restricted distance from the place they spawned.
-
mounted Fixed entities typically exhibiting incorrect skins
-
mounted Fixed stall throughout ocean patrol level era on some customized maps
-
mounted Fixed Nametag Performance subject
-
mounted Fixed workbench phrases
-
mounted Fixed passing loot by ground utilizing BBQ exploit
-
mounted Fixed Snow jacket identify
-
mounted Fixed RHIB disappearing on server restarts
-
mounted Fixed rowboat changing into invisible
-
mounted Fixed invisible provide sign smoke
-
mounted Fixed having the ability to flip recycler on/off in case you are not the person
-
mounted Fixed boats decaying whereas in use
-
mounted Fixed tree impostor shadow orientation
-
mounted Fixed terrain texture not resized on graphics high quality change
-
mounted Fixed smoke grenade points with glass home windows
-
mounted Fixed censor dice glitches round smoke grenade
-
mounted Frame-rate stutter brought on by atmosphere sound emitter elimination
-
eliminated Removed world reflection high quality as it’s at the moment not supported
-
eliminated Removed “TransferToContainer failed!” message
-
eliminated Deprecated navmesh grid system eliminated.