Dev-блог 195

Rust_DevBlog_195_0.jpg

Game tips, fixes, Water Well monuments, viewmodel clothing, and more.

Game Tips
One of the last things on the roadmap for leaving early access was a series of game tips that would appear contextually for new players to help them learn the game. I spent this week finishing these. We've added about 20, which should help players learn how to do things like drink from lakes and rivers, use bows, and play the mining minigames. In case these are popping up for you veteran players... don't worry, just do the action a few times and they will eventually stop appearing. Hopefully new players will have an easier time getting into the swing of things. Next week I plan to implement a 10 step tutorial that guides players through crafting their first tool, to building their first base, and visiting their first radtown.

Loading Tips
Some tips didn't fit into the game in a contextual way, so I've added some text to the top left of the loading screen, which will cycle through helpful hints while you're waiting to join a server. These range from reminding people that they can wash off radiation in water, to being able to melt cans for metal fragments in a campfire. All in all there are about 25 loading screen hints that will cycle randomly. Please don't be shy to suggest new hints for us, as implementing them is very easy.

SMG Cost Reduction
I think SMGs may have been a little too expensive in requiring two Springs each, so I've removed one Spring and 5HQM from the Thompson and Custom SMG costs. Maybe we'll see them being used a bit more? Or maybe I'll actually have to nerf the AK47 even more?

Machete
I always thought it kinda sucked that you had to find a blueprint to get a decent melee weapon. I've made the Machete a default blueprint requiring a Tier 1 Workbench. I may remove the workbench requirement next week, but let us see how this plays out.

Soil Color Fixes
Planters once again show their saturation value via a darkening of the soil. This was disabled for some time due to performance considerations but has since been fixed. Note that there is a small bug where the wood gets darker as well, which will be fixed next patch.

Rust_DevBlog_195_1.jpg

Random Wood Costs Removed
Remember how annoying it was to have to use 300 frickin’ Wood to craft a Sheet Metal Door? What about 100 Wood for a Sleeping Bag? Well, don't worry about it anymore because those costs have been removed from both of these items.

Paper Removed
Paper was a totally useless hoop players had to jump through. I've removed it from the game so the Note and Building Plan can be crafted directly from Wood instead.

Viewmodel Clothing
Now that the viewmodels are using a single consistent rig, I've gone back to the viewmodel clothing I prototyped a couple of months ago.

It's something that's been requested pretty frequently, but it takes a fair bit of effort to get something that looks acceptable, and even then we'll have to make some concessions in the detail we're able to display. The items were all designed with the criteria of being seen on another player, showing them on the viewmodel is displaying them many, many times larger than the polycount and texture resolution was intended for (particularly visible on the Burlap Shirt, bottom right) and unfortunately upping that resolution isn't a viable option due existing skins being authored at a specific resolution.

Rust_DevBlog_195_2.jpg
Despite these issues, it's pretty awesome to pull out a gun and see what you're wearing after all these years of staring at your naked hands.

I've done a pass of most of the attire items that will display on the viewmodel, although I think I'll go back and add just a little more geometry to try and eliminate some of the artifacting. I should be able to get them finished off next week, provided there are no major issues, ready to hand off to a programmer to get them implemented.

More Water Wells
I added two more variations of the Water Wells I introduced last week. Here's some pictures:

Rust_DevBlog_195_3.jpg
Rust_DevBlog_195_4.jpg
Rust_DevBlog_195_5.jpg
Rust_DevBlog_195_6.jpg

Junkyard Fixes
A side effect of the restricted movement for players on Junkyard meant that the helicopter loot would sometimes get stuck floating in the air on top of invisible volumes. That part is fixed. However, if you are looking to farm the patrol helicopters, look for a different site as the crashed choppa could still fall within restricted zone at Junkyard. Be smart, take it to your pretty base instead.

Performance Optimizations
While debugging the memory leak, I came across a number of areas that could be optimized. The biggest one of those was an overhead of 5ms and significant GC allocations whenever taking damage over time from things like bleeding, cold, heat, starvation or dehydration. This was a pretty significant hit as the damage was applied multiple times per second, so it quickly added up to losing multiple frames every second.

Another one was a 6ms hit every second from refreshing our reflection probe, even though we barely render anything in the probe. I reconfigured some parameters and reduced the impact to approximately 1ms - still not ideal but it'll have to do until Unity gives us better ways to deal with this.

Memory Leak
Alistair and I are in the process of debugging an elusive memory leak. It's one of those things that occur at seemingly random times and can take hours to reproduce. We're trying to narrow it down by systematically eliminating potential causes, but so far we haven't had much luck as neither Unity nor Mono even show the memory that appears to have leaked. I still wanted to mention it so you know we're working on it.

Crash on Exit
I spent the better part of two days debugging our infamous "crash on exit" issue. It was rather difficult to track down, since most of us weren't even able to reproduce the issue, and even when it happened the game didn't give us any stack trace in the log, which made crash reports from players rather useless. What it came down to was that we were shutting down EAC before disconnecting from the server. Duh. Say goodbye to this:

Rust_DevBlog_195_7.png

Boonie/Bandana/Cap Skin unlocks fixed
If you own a skin for a Bandana, Boonie Hat, or Cap, the item was supposed to become unlocked for you to craft. Unfortunately we had a bug in the system where this only worked if you owned one of the original skins for these items, which was bundled in the game. Because of this it was very difficult to pinpoint the issue as only some people were affected. This is now resolved and owning a single skin for any of these items will allow you to craft it in game on any server. Sorry about that.

Tree Revamp
The new Douglas Firs and Pine trees are now finished and I've been looking at the performance and the technical side of things. I have done LODs for all of them and have managed to create smooth LOD transitions without noticeable pop-in. I've discussed implementing a custom imposter system that will allow us to render billboards without creating too much performance overhead with Diogo. While there's nothing glamorous to show this week, all this work was essential in helping us figure a way forward, while keeping everything clean and streamlined. With this new imposter system we're hoping to achieve a higher density of trees and bushes and we hope to keep the rendered even at very long distances. I will keep you all updated on all this in the coming weeks.

I've customized the mip-maps for all new trees, too. Unity has a setting that allows for preserving alpha coverage on smaller mip maps and, as a result, the trees now look very full even from far away.

Admire Animations
I've continued with the remaining admire animations. The flare and flashlight were new additions, so they needed setting up in Unity as well. I hope to be done on the updates by the end of this week. After that I'll be doing a quick review of them all in context, just to check pacing matches between weapons, double checking clipping issues, making tweaks, etc.


Graphics Performance and Memory
As we navigate towards leaving early access, aside from a few bugs, I've been generally focused on graphics related polishing work. Namely performance and memory overhead. This week I eliminated a few memory allocations in both hair and culling code, as well as runtime optimization for the latter.

I'll keep polishing as much as I can until we leave EA, postponing any new features for later.

Sounds
I was mostly focused on finishing up the third/first person sound consistency stuff I've been working on this week, and I think it's all done now! I finished up all the hand-held water containers (Bucket, Bota Bag, etc) including making first-person deploy sounds for a couple of them. I did third-person sounds for the Medical Syringe and did a little polish pass over the rest of the syringe sounds. I also made a new set of sounds for the Flare (first and third-person), and made third-person deploy sounds for the building planner.

I did a few other little audio things this week too. The survey charge has a burning fuse sound and nicer deploy sounds now. I adjusted volume of some of our ambient sounds, and I lowered the global maximum voice count on gunshots to alleviate some performance issues that'd crop up if an admin spawns a bunch of scientists and they all shoot at once.

AI
A lot of changes has happened to the Scientists this week. They will charge less, hug cover more and sidestep in/out from it. They will know the difference between advancing, flanking and retreating to cover, and when they retreat they will turn and sprint. They will also know when their cover has been compromized. They'll stop to shoot, rather than run-and-gun with perfect aim. Steps have been taken to prevent their wallhacks, but more testing is required to confirm its been fixed. There is now also a slight delay from when the Scientists spot you to when they start to shoot. Since their behaviour saw so much change this week, we need to test them for at least another week before they are ready for prime time. As with last week, they are disabled by default, but can be enabled by server owners.

Список изменений:
  • New third person sounds for all handheld water containers
  • New flare sounds
  • Add burning fuse sound to survey charge
  • New third person sounds for the medical syringe
  • New third person deploy sound for the building planner
  • Flare admire animation
  • Flashlight admire animation
  • Added 20 new contextual game tips
  • Added printpos / printrot / printeyes admin console commands
  • Added 25 loading screen tips
  • Added eat / drink admin console commands
  • Lower global max voice count on gunshots (perf fix w/ many scientists shooting at once)
  • Fix for Patrol Helicopter floating in Junkyard
  • Fixed barrels floating at site B (Hapis)
  • Fixed players spawning in ocean (Savas Island)
  • Fixed cheat report opening when typing in chat
  • Fixed wind generator not been able to be removed by admins using "ent kill"
  • Fixed having hat skins not allowing the root item to be craftable
  • Fixed physics.steps exploit
  • Fixed memory leak in vending machine UI
  • Fixed crash on exit
  • Misc minor sound tweaks & polish
  • Guitar admire animation updated
  • Machette is now default blueprint and needs WB1
  • Note and Building Plan now require wood to craft
  • SMG Costs reduced by 1 spring and 5 HQM
  • Optimized player network updates
  • Optimized reflection probe refresh
  • Removed paper
 
Сверху