First Person Legs
This is something we've wanted to do for a long time and now it's done. You'll be able to look down and see your legs.
When doing this we started off changing the controls quite dramatically, so when you looked down you actually leaned forward and down. This was a nice solution because it stopped the camera clipping inside the player model.
Ultimately we decided that it stopped feeling like a proper first person game. So it should really feel 100% like it always did, except you have a body when you look down.
There is probably one big place you'll feel the difference, and that's when sitting. For example, when you're on a horse when you look to the side you'll now lean slightly. This is required because you'd see down your own neck without it, but it actually feels kind of nice.
Load Times Optimization
The speed difference between an SSD and a HDD is staggering when it comes to Rust. HDD's are slow as hell.
One of our benchmark tests is called Bootstrap. It records how long it takes from boot to get to the main menu. Here's our results.
High Spec SSD
Med Spec HDD
Low Spec HDD
Bootstrap (November Update)
Bootstrap (December Update)
As you can see we've got some decent improvements here. We'll keep trying to improve, but if you don't already have an SSD you should add it to your list for Santa.
The world in Rust consists of many objects. We disabled their renderers when they were far away from the camera, but we still kept their game objects around at all times to quickly toggle them without much overhead. This had some negative effects on memory usage, physics performance and world load times. To address these I've implemented a world streaming system to dynamically add and remove the actual game objects as you move around the world. On a 4k map with recent hardware this ended up saving 400MB+ of memory, 1ms+ of frame time and 10s+ of world load time. On larger maps or lower end hardware the gains are even more significant.
Exploit and Hack Fixes
We have fixed a number of exploits that could be abused by hacks, both over the course of the month and in the update today. There is some info in the change list but it's generally better not to go into too much detail with these types of fixes, so you'll have to take our word for it.
Monument Mesh Optimizations
A few patches ago we rolled out some mesh optimizations that managed to save us around 700 MB of memory footprint. This month we extended that optimization to any monument geometry that fit a predetermined complexity criteria. This allowed us an additional saving of 600 MB across our entire mesh base. Our runtime mesh usage is still fairly high at ~1.6 GB but we've reached the limit of how much we can compress without affecting performance under our current limitations. We'll be focusing additional mesh memory saving and streaming efforts on the HDRP version.
More Texture Streaming
This month's monument mesh optimizations allowed us to add another 1 GB of textures to the streaming pool. This won't translate directly to savings because we deciced to keep our target VRAM usage for each quality level. It does mean, however, that since we have more space for textures streaming in and out of memory, there's now room for higher quality textures using the same memory.
Player Dressing Optimizations
This long overdue optimization involved replacing the way we process and replace hair meshes during player dressing. Our hair meshes were both wasting memory and costing us up to 1/4th of the time spent dressing/building player equipment, every time a player spawned. These meshes are now highly compressed, costing us the absolute minimum, and dressing cost is virtually zero. There is still a big overhead in parts of player dressing which will be addressed in coming patches.
I spent a long time this month trying to improve horses and made a significant amount of progress! It is much easier to navigate on rocks and around radtowns now as horses have a step up/down threshold.
Unfortunately this has lead to a few weird instances where horses might do things like teleport on top of signs or align themselves strangely when indoors. This is being fixed but at the end of the day the general feel and usability of the horses has improved so much we decided to release it anyway, expect another fix soon.
I also made a bunch of other general bug fixes and improvements that don't need their own separate blog sections, so check the changelist for all the details.
Change List 222
Donnerstag, 5. Dezember 2019
- Added Instrument DLC
- You can now see your body when you look down
- Added admin.killplayer <playername>
- Added admintime - which allows an admin to change their local time
- Replaced admin.mutevoice/admin.mutechat with admin.mute (mutes both)
- Can also mute sleeping players
- Added admin.mutelist
- Can call combatlog command from rcon/console
- Added camzoomspeed and camlookspeed for debug camera (cinematography)
- Added world grid / world streaming (load time, memory and performance optimization)
- Global chat can now be disabled using the muteglobal convar, or in the interface options. This allows you to disable global chat but keep team chat and server messages
- Added a "Copy Text" chat popup menu item, which will copy the selected message and username to your clipboard
- Reduced seeded player scale differences to make things fairer
- Dedicated server startup is less spammy
- Fixed scrap transport helicopter exploit
- Fixed deployable placement exploit / hack
- Fixed rare case when entity could remain parented after leaving parenting trigger
- Fixed rare server error after entity left parenting trigger
- Fixed rare error when canceling loading mid world transfer
- Fixed several sign exploits / hacks
- Fixed several weapon exploits / hacks
- Fixed a crash when players with their OS set to certain languages receive a team invite
- Fixed items with very long names being truncated incorrectly and looking rubbish
- Fixed supply signal visual effect not always displaying correctly
- Ground footstep sound effects no longer play when scuba diving and walking on sea bed
- Players can no longer access Christmas tree items in building blocked areas (no more stealing)
- Fixed the team UI showing the original (non-streamer mode) player name when receiving a team invite. Same for the chat notification
- Fixed glass of ignited lanterns invisible when viewed through reinforced glass windows
- Fixed footsteps missing / stop when the player is culled
- Fixed see through water when jumping / alt look while on a boat
- Fixed wrecked sedan and warehouse instances on HapisIsland
- Fixed pink military tunnel materials on HapisIsland
- Fixed lighting issues with some semi-transparent models under fluorescent bulbs
- Load times should be much improved for non SSD users
- Dedicated server output messages are formatted differently
- Server sends a chat message when a user is banned due to anti-cheat
- Reduced chance of tree marker jumping to other side of tree after being hit
- Bumped immediate network visibility distance to 128m (from 64m) to give more notice for SAM sites
- Optimized player hair mesh memory and dressing performance
- Optimized monument mesh memory
- Added more textures to streaming pool
- Can no longer order servers by wipe date due to abuse by server owners