Fixes, optimisations, the very far future of AI… and we got rid of Legacy.
Item Store Updates
I’ve updated our Item Store with coloured names and better icons. The old icons suffered a lot from aliasing, and although I know no-one else even noticed it, it was bothering me. So now we render the icons four times bigger and downsize.
These images are uploaded by the item’s author on the workshop, so if you have an item approved you’re in complete control of the images to show here. Be sure to take a look at your item and decide whether the images show it off right.
Note that this is a new/underused feature on the item store, and the image are all shitty resolution and wrong aspect ratio. Valve are on it and it’ll look awesome soon.
We’ve been playing with AI. I’ve got nothing I want to show right now, but I will explain something about timelines to help you all relax.
Unity has a special NavMesh build of Unity 5.5 which has a preview of the new realtime navmesh stuff they’re working on. Over the last 3 years all we’ve really seen Unity work on is graphics. Every time they add something it takes another 2 minor versions until it’s anything like usable in an actual game. So, after not paying much attention and being cynical about it for a while, seeing how great this new navmesh stuff works really restored some faith. Good work Unity guys who don’t work on graphics stuff: you help us make games!
In terms of timescale, we need this navmesh stuff for our new AI to work. So we won’t be shipping until it’s released properly. Which is great because our new AI isn’t done yet. Find out when Unity 5.6 is out, that’s when you’ll be able to reliably lock bears in your friend’s base.
I added a Workshop voting system to the menu screen last week. This has lead to items getting a lot more votes, which is great for authors. It has some issues though.
It’s too small, you can’t really get a good appreciation of the item, which usually leads to the brightest items getting picked out of the three. Also, when item authors are only getting upvotes, they think they’re doing good: they don’t realise that they’re getting 1% of the amount of upvotes as other items, so they’re really not doing well.
I’ve changed it around this week to be a more traditional thumbs up, thumbs down, single bigger picture. This should hopefully give authors a clearer picture of what people think of their work.
I noticed a disproportionate amount of gears and springs spawning in tier2 loot, like over the top amounts, so I went through and adjusted some of the spawn weights to make the tier2 loot crate have a slightly more even distribution. You should find roadsigns and stuff slightly more often now.
I started working on implementing the planters, but it’ll take longer than expected, so for now you’ll notice you can only plant hemp within a foot of each other. No more spamming a thousand seeds in a tiny area. More on this next week.
I’ve got some work to do before ensuring the holiday content is compatible with all the changes that have happened over the past year. I’m hoping to launch it next Thursday.
It’s no secret melee is difficult to use in Rust, and perhaps a little frustrating. I looked into it a bit and came up with a few changes that make it feel a lot more responsive and fun. First of all, I’ve lowered the amount of time that your sprint is blocked for after an attack by 30% (now half the attack repeat delay instead of three quarters), and secondly I’ve changed it so the sprint is only blocked when the actual strike happens: this means you will not slow down until after you have done damage and are recovering the weapon. Let me know what you guys think of this.
I noticed that when projectiles were sticking in objects, they were snapping and aligning to the surface normal of the object hit rather than using their attack vector. It doesn’t impact much gameplay wise but there will be less visual pop when playing. Here’s an image showing the difference:
The day of reckoning for free tool repair has arrived: you may no longer skip out on the component cost for repairing resources. I have now changed the logic so that if an item requires a component in its construction, instead of ignoring it, we add the cost of the component’s constituent ingredients. Complicated? Not really. You see, almost all items in the game have a list of ingredients regardless if they are craftable or not. We use this ingredient list in several places, to decide what to give when something is recycled for example. Because components are recyclable I had to set up their ‘ingredients’ so the Recycler would know what to give players when they threw in propane tanks or whatever. I now use this same list to determine what it will cost for players to repair their items.
Oh, and the M249 is repairable now.
The Mace, Salvaged Sword, and Custom SMG are now cheaper.
Harbor & Props
This week I looked into solutions that lets us paint ground surfaces (using mesh vertex color painting) directly in editor. One that works well with our modular approach and the way we export small scenes content (monuments) into a bigger one (procmap). So far I’ve had mixed results with those solutions, but hopefully I can figure something out before next wipe as this in-editor painting helps a lot with making the environment more unique looking and less repetitive.
I then worked on several props that are the last pieces of the puzzle currently on Harbor_1. There’s just a couple left to go now, after that we can polish Harbor_2 and look at the procmap issues we still have to fix, such spawning harbors along the coast rather than middle of the land.
For the past week I’ve been working on the high-poly model of a military truck. The final mesh will come in three variants as seen below. In addition, I will be making a flatbed that will attach to the back of the first variant. Once that’s done I will move onto making low poly, bakes and textures.
Explosive Damage Through Walls
Last week’s art changes to explosives caused a regression that made them apply damage through walls. This was caused by some art being rotated without recalculating the entity bounds, which is used for the line of sight checks. This is now fixed.
I improved our custom batching system to allow usage on rarely moving objects like doors, gates and hatches. Since those objects are static 99% of the time they can usually use the same optimized batching method we’re using for all other building parts and only need to switch out of it for a short period of time whenever someone interacts with them. I also added batching to a number of other objects like storage boxes which occur in high numbers inside bases. All those measures should improve performance around buildings.
I added culling volumes to the underground structures of the military tunnels. As with caves this means that all of those underground structures are disabled completely unless you can actually see them.
Instant Reload Hacks
There have been a growing number of hacks with support for instant weapon reload. I added server side timing verification to reloading which reliably prevents those hacks from working even when they’re not detected by EAC.
Line of Sight Hacks
There were some edge cases that haven’t been covered by our server side line of sight verification until now. I added the necessary functionality to cover all of those remaining cases since some hack developers have started figuring them out.
Debug Camera Exploit
We found an exploit that was using the debug camera to completely pause the transmission of player ticks to the server. This could be used to trick the server into thinking the player was idle, which made it slowly fade out that player’s anti hack violation tickets over the course of a few minutes. This is now fixed.
Cave Building Free Zones
Caves prevented building in a rather large radius around them in order to keep people from walling them off. We felt like this was a bit too much for them, so I reduced the building free zones to be less restrictive when compared to the other dungeons.
Legacy Is Gone
A few months ago I floated the idea of getting rid of Legacy. This week I removed it. Chances are you didn’t know about this until now. Here’s some stats taken today, server count on top, players count on the bottom.
We had considered keeping it just for shits and gigs, but for a bunch of compounding reasons we’ve decided to get rid of it. You might say to me, ‘hey prick, there’s 200 people enjoying that game, they paid good money for it.’ The problem is that these numbers aren’t reliable. These are the absolute maximum players. Servers might be faking the counts, a lot of the servers are cracked, with pirates playing torrented versions.
Paying to keep the game available gets a lot less attractive to us, to the point where we feel stupid for not just shutting it down years ago.
Supply Signal Viewmodel
As well as some fixes to the Explosive Charge viewmodel this week, I updated the Supply Signal as well.
I’ve been working on a new revolver, the Magnum. It’ll probably be the most powerful handgun in the Rust arsenal…
I’ve finished up the M92 sounds this week, and they’re in game now.
I’ve done a bit of polish work as well, which has mainly been on ambience this week. A lot of our ambience had too much high-end and was a bit too static, so I’ve been going over some of the worst offenders.
I spent some time investigating a couple sound bugs this week. Some people are occasionally hearing the Dome ambience when they’re not near the Dome, and volume for whole groups of sounds is sporadically increasing for some folks. I have an idea of what could have been causing the volume increases and made some tweaks that might fix that, but I haven’t been able to reproduce either of these yet myself so if you’re experiencing them do an F7 report and give me more details please!
I also started working on a second pass over some of the animal sounds (wolves and bears so far). These were some of the first sounds I worked on and they’re not quite up to par anymore, so they need some love.
Fixed explosive damage through walls Added culling volumes to military tunnels Stricter high external gate terrain placement Reduced cave prevent building volumes Stricter line of sight anti hack Added server side reload time verification Added batching to various commonly placed objects Added support for doors to batching system Fixed debug camera anti hack exploit New sounds for m92 Ambient sound polish Rotated c4 in c4 viewmodel Updated supply signal viewmodel Tier2 Loot table distirbution normalized Mace is cheaper Salvaged Sword is cheaper Custom SMG is cheaper Hemp has minimum placement distance Stuck projectiles keep alignment with their attack vector rather than surface normal Shorter sprint blocking duration when using melee Sprint block happens when melee strike happens instead of windup (more responsive) Repairing items requiring components are no longer free to repair. Sheet metal recycles into more resources than before