I’ve been trying to sort out long-standing bugs before we embark on adding a bunch of new stuff. My goal is to get the game to a place where the bug reporter is filled with nonsense and spam instead of real issues. To that end, I’ve ironed out a few.
Man, I don’t know how some of this was in-game for so long. There was a bug where you could start reloading a weapon, and then switch away, and it would still be reloading in the background so when you switched back to the weapon later it would have a full clip. Fixed.
Also, for some reason, when switching ammo types you would close the menu and it wouldn’t reload for you, you’d have to press R to reload again anyway. Fixed.
Lastly, we had an input bug that affected some users. If you held the reload key down for longer than 0.15s and had two ammo types the ammo selection menu would appear, right? Well what if you only had one ammo type? Oops! Nothing happens. This meant that if you had only one ammo type (most new players) and you missed that 0.15s release window you wouldn’t be able to reload. Reloading is now far more responsive and happens instantly if you only have one ammo type.
Haha! I can’t tell you how many times I’ve seen people laughed at for even attempting to use this weapon. It did barely any damage and was too easy to miss people. I’m hoping it’ll be a little bit more viable now. I’ve made the following changes.
- Spread doubled
- Handmade shell pellet count doubled
- Handmade shell damage per pellet halved
- Bug fixed where Eoka was doing half the damage it should have been due to velocity
- Cost reduced
This should change the weapon to have a nice scattershot that ensures doing a small/medium amount of damage in a wide cone, and makes it deadly at point blank range. I’ve also removed its ability to use other ammo types (as no one did), so it can only use handmade shells and shotgun shells for now.
Once again I’ve played with the melee ranges. This time I’ve made them the same across the board at 1.5m. The only weapon with a higher range than this is the spear at 2.2m range. This should help with melee combat feeling more responsive and satisfying
- Fixed rockets sometimes detonating against the shooter during times of lag
- Fixed being able to repair doors by removing them and placing them again twice
- Fixed key lock fading out too early (doors appeared as unlocked until you got close)
- Fixed shelves being too strong. You can easily destroy them with melee now
- Fixed rapidfire bow exploit
- Fixed size of quarry hopper interaction collider so you can’t lose items under it anymore
- Shotgun Shell has +2 pellets
Still about 100 bugs to fix. In 2 weeks I hope to have 90% of them eliminated, but you never know. I’m also going to be fleshing out some of the new improvements on the roadmap so we’re ready to add them
You might have noticed that we haven't been adding new stuff for a couple of weeks. I mean, yeah we have, new art content, but not really new programmed content. So what's the deal? Why aren't we adding shit?
We've reached a different point in Rust's development. Previously we've been at a stage where we could all work ad hoc and just throw stuff in the game. Because fundamental stuff was missing. That's changing now. We've got to a stage where we need to start getting things more structured. Where we have to plan our features. Where we have to look at the systems we've added an iterate and polish them.
So that's what we've been spending a lot of our time on. Building a roadmap and planning our ascension out of early access. It's important to say that leaving early access doesn't mean the game is done and no more updates. Leaving EA means that the game is generally finished, and updates won't be messing with the larger ingredients of it. We'll be revealing our plans later on this month in a special post.
The new input system is in. You can read some of the technical details on this wiki page. Hopefully everything should pretty much work the same, except to reconfigure keys you do it via the main menu options instead of the Unity game launcher.
We decided that since we're spending this time to plan out the future, we can spend the downtime to fix bugs that the future changes aren't likely to fix.
So a few significant things I've done here. A well known, well abused bug... cancelling crafts exceeding the stack size. People were queueing a bunch of crafts then cancelling them so they'd get a HUGE stack of a resource. This isn't possible anymore.
Weapons were playing their shooting effects twice. I'm pretty sure this has been going on for a while, and it feels great to have fixed it. It makes a big difference in how the weapons feel.
Steam inventory was shitting out if you had more than 128 items. I never thought anyone would have more than 128 items. And now some people have a lot more than that.
Fucking memory leaks. Every devblog I make. Memory. Fucking. Leaks. So this week I've been working with Unity support to look at why the hell we're using so much memory. There seems to be two major things right now.
On the server we have a shit-ton of game objects, physics objects, components. And the more we have the more memory they use. And it grows all the time because the physics system is querying all those items and allocating memory. And with the new batching system, that's kind of worse because it's creating new objects, but we have to keep the old ones around (but disabled), which uses memory too. So this is just a theory - but after all the profiling and bullshit around that seems to be what's happening on the server. So our best bet would be to create less shit. We're still experimenting with this.
On the client, I think we have some better news. I noticed that the leak seems to happen when escaping into the main menu, and going back to game. It seems to leak about 10mb each time. So I tried to recreate it in Unity.
BAMMM! Being able to make a minimal sized project that recreates the problem is like getting a gold medal. I sent it along to Unity, they've confirmed it, and we should hopefully have a solution within a couple of weeks (Unity time).
It’s time for a new version of our procedurally generated maps! The change everyone’s talking about is certainly the addition of the new dungeon environments. My contribution towards those was all the backend and toolset work and everything that makes them integrate with the world around them. There are some issues left to solve in that department, but we didn’t want to make you wait any longer - so enjoy this first look.
However, dungeons aren’t the only thing that changed about our worlds this week. I’m pretty late with my devblog section this week, so I’ll keep things short and only post a short list of all the new stuff.
- All-new coastline generation
- Big water streams towards the outer realms of the main island
- Landmass bias towards the center of the island
- Chance for small isolated islands off coast
- Highland cliffs and canyons
- New underwater environments (placeholder art)
- Revamped tundra environment (placeholder art)
- Snow biome is restricted to mountain tops
- Rock material improvements
- More natural mountain, hill and lake blending
- Less artificial prefab terrain blending
- Occasional barrels around powerlines
- Slightly improved river-ocean transition
- Better prefab mountains
- Better lighthouse spawn rules
- Better player spawn positions
Environment Ambient Light
I did some experiments this week to get our ambient light situation in buildings, tunnels and caves under control. Up to today we’ve been using pretty much the same lighting for both exterior and interior environments, which forces us to all sorts of compromises. A first batch of lighting improvements will go live today, but there’s more to come.
- Fixed various building exploits
- Fixed various deployable exploits
- Fixed various LOD and batching issues
- Fixed missing building gibs in certain situations
- Fixed roofs being cheaper and more stable than walls (now identical)
- Fixed admin cheat noclipping (antihack.admincheat convar)
Time for bugfixes and optimization to get things running as smoothly as possible over the holidays. I’ll also get started on addressing any issues with the new world generation and dungeons as soon as they come to our attention such that the next iteration is ready in time for the first wipe of the new year.
Dungeons are here! Like I said last week (go see it), it’s a first iteration, so it’s gonna be broken in places. The goal here is to use you guys to improve it.
As for the week, I started it off using all of Andre’s new terrain tools that helped laying a nice polish on the scenery around dungeons.
Over the course of the week we talked of things that suck in the current visuals. We came back to the rocks, mainly, and some of the biomes textures. The visual potential of procgen and the game in general would benefit tremendously from better environments. I won’t redo all of our rocks at this stage, as I first wanted to the toy with the system and see how far I can push it without requesting new stuff from our coders. Turns out I need a few additions to shaders, and once that is done can probably push out a few good replacements for the claydough rocks around.
I have a lot of art to do. And surely improvements to dungeons.
Taylor is working on some new player models and textures, so I took the opportunity to anticipate something I had on my backlog for a while. I revamped our standard skin shader and added subsurface scattering, transmission and improved specular. You'll notice the human models now look a bit better. These shots are using the previous model and textures.
I'm making additional changes based on Taylor's feedback over the coming week.
Fixed a ton of bugs this week. Mostly stability issues left over from past week's changes. These bugs were happening for those of you running DX9, and affected all GPUs. These are all now fixed. If you had any of these, please feel free to try out the latest patch and let us know if you still have any issues.
Another serious bug I fixed last week was causing a massive performance hit in quality modes 1 and 2. It is no more.
Today I added a mask to clip Scott's new underwater effects above the water. Thanks to the hard work these past weeks, it only took me half an hour.
Other changes this week:
- Tweaked water quality handling
- Fixed rotated particles having wrong lighting
- Fixed Virtual Texturing causing washed out terrain bug
- Fixed a tiny memory "leak" in riverless maps
- Fixed terrain carving precision to help avoid holes in wrong places
Finish skin shader, a couple of PVT optimizations, improve terrain-mesh blend shader for Vince's new rocks, tackle some bugs unrelated to graphics.
Thanks to Andre and Diogo, I managed to get the main underwater effects working. When you submerge/dive underwater you now get full bubbles, when you swim around there will be a couple of bubbles coming from your mouth, and there is now a kind of plankton/debris effect when you swim around which helps you get a sense of the direction and speed your swimming.
Full-Screen Rain Effect
This is the effect that makes water run down and hit the screen when it’s raining. It was a bit underwhelming for its cost so I did a new set of textures and tweaked the values. I also ended up doing another set of textures for when you emerge from water, so the screen is super wet. These aren't plugged in yet but you can see how they work in the underwater video above.
There are still affects needed to get drowning to feel nice. This will probably be a combination of VFX, screen shake and sound effects.
Our snow effect was old and rubbish so I took some time to buff it up. With the current set-up I can’t get it to feel like a snowstorm, but I have some ideas that might work and not require me to spawn thousands of particles which will just kill framerate.
Clouds And Storms
Did some more work on clouds, mostly trying to get storm clouds to look nice. Nothing to show yet. Also started looking at the best way of doing lightning. This isn’t just a case of doing an FX that you just see in the sky because ideally lightning will have game world consequences.
The Goosey/Helk water bucket needs some effects. Continue with the lightning stuff. Finish off the clouds. Work out how and if I can make use of the screen shake functionality for explosions, drowning, etc. I am also going to start exploring the sweet new dungeons and compiling a list of effect that are needed/would look good.
I took a break from the player animations this week to work on a last minute request from Helk. He wanted a waterbucket model that would show the player scooping water up from a source, and dumping water out as well. This required some thinking and a lot of trial and error, because the water inside of the bucket needed to be pretty dynamic. The water level would rise/fall depending on how full the bucket is, and the level also needed to adjust its angle according to whether the player looked up/down. Helk wanted to introduce a neat gameplay mechanic where if you looked too far up/down the bucket would tip and water would pour out. Also, when the player ran around, the water needed to slosh around.
All of this required me to set up the water in such a way that it would animate dynamically according to various player states.
This is what I have so far.
I’m pretty happy with the results considering the water is animated using bones, and not some complex fluid simulation.
Finish up the waterbucket and get back to work on some wounded animations I started last week.
Lots of random smaller fixes and new things from my list this week :)
- Finished the last few little polish touches on the M249 sounds
- Added snow and sand impact sounds for melee weapons and guns
- Tweaked grass impact sounds
- Fixed some impacts playing the wrong sound or no sound at all
- Fixed some melee impact sounds not playing or playing the wrong sound
- Added sounds when a player takes fall damage
- Added new player body fall sounds (falling while enter wounded state)
- Fixed external gates not playing sounds reliably
- Tweaked wood external gate sounds
- Added new stone external gate sounds
- Added window shutter sounds
- Tweaked large fire sounds
- Tweaked bandage sounds
- Tweaked stone hatchet soft target impact sound
- Updated tree impact sounds
- Polished and adjusted some ambient sounds & ambient sting timing
- Added sounds to the corpse fly swarms
Jenny has been sending me some music ideas and it’s got me inspired a bit, so next week I’ll be spending a little time working on some music. I also want to work on ambience and local reverb for the new dungeons, and I’m going to explore some alternate gunshot reverb tails for closed spaces like the dungeons.
I’m back after taking a break from Rust to work on one of Facepunch’s other projects. I picked up where I left off and have been working on some more ideas to expand player building options.
After working through these ideas it was clear that we needed a more consistent way to place parts like this, and also one that didn’t require making a separate version for each tier. Instead of the pieces standing completely on their own, they could fit inside a frame, similar to how the window and door frames work. So the frame would go through the tier/upgrade system but whatever it gets filled in by only needs to have one version, the strength of the piece of as a whole is reliant on the level tier the frame is at.
These frames could also be used purely on their own and replace a lot of what pillars offered before, such as awnings and other open air rooms.
If this frame system works out, I’m going to keep coming up with more ways to fill them, and maybe have another version of the frame more appropriate for large windows. I also want to do some paintovers of the desert and snow biomes, since I think we’re gearing up to revamp these areas in the near future.
I've spent this week looking at the rig and skinning the player model to the existing bones. Skinning is a delicate process and things can break really easily. Luckily there weren't too many catastrophes and it's mostly done now. There are a few areas where the old bones don't properly fit the newer proportions, and these are causing some issues. It's mainly the collarbone/shoulder/neck area, but I think with a little brute force they can be fixed. Obviously hands aren't done yet.
There's not a lot to show other than a bunch of animations you've all seen a hundred times before, on a new model:
Skin the hands and fine tune those problem areas I mentioned. Diogo's been working on a new skin shader which looks awesome and I can't wait to try it out. Other than that I'd like to integrate the new model into the game and go through fixing seams and other broken things on the mesh. If that's all relatively easy I might have time to work on some racial variations.
So the Scientist concepts I did last week seemed to get some notice. We hope it's a step in the right direction for some PVE type threats as well as adding some kind of mystery to the world. I decided to work up an armed version of the hazmat scientist and, looking at him now, I'm almost tempted to use this guy as a ‘light’ bodyguard and give him an SMG or a pistol. Then I can do a more heavily armored one with kevlar protection over the top and have him wielding a shotgun or the AK - something fairly brutal. There were a few comments about them not being creepy or threatening because they'll get pwned by guys with AKs. That's valid, but I also think that you'll have to wait and see the context to how you encounter these guys first and how they move, behave and sound. I saw a comment about the suit deflating when they are killed, or them taking an unusual amount of punishment, which I think is really cool. Something that suggests they might not be completely human, but we'll have to see how that sort of fits into the tone of the world, which is fairly grounded in reality.
I have a bunch of stuff which is like 60-70% done that I can throw that stuff up next week when it's done. It includes the armor to fit taylor's new Rust body, some paintovers with ideas for interesting scenery around our beaches which at the moment I think are very plain and lifeless. Things like rusted remains of boat, abandoned ships off the coast, and some more life on the beaches themselves would go a long way.
I’ve been working away on the game res of the model. I’ve been baking out the normal map and ambient occlusion map, which basically means transferring all that lovely intricate detailing into the texture maps (the normals and ambient occlusion) to fake those details for the main body of the gun and the barrel section. Next up is the grip and magazine which should be super quick. Below is a progress shot with the normals and AO applied, and also a wireframe shot.
But if pictures aren’t enough then you can take a closer look and move around in the previewer below (lower res)!
Finish the bakes and the grip/mag and start texturing the whole thing! The barrel and the grip/mag should be fairly quick to texture.
newAdded soft target impact sounds for a bunch of melee weapons newAdded underwater world FX. fixedFixed real player names showing in corpse loot during streamer mode fixedFixed steam inventory breaking with more than 128 items fixedFixed weapons effects firing twice (!) fixedFixed external gates frequently not playing open/close sounds fixedFixed water bugs in DX9 fixedFixed water performance issues in quality 1 and 2 fixedFixed unlootable items if thrown under quarry hopper fixedFixed rapidfire bow exploit fixedFixed rockets detonating on shooter if fired while moving forward fixedFixed repair door exploit fixedFixed shelves being too strong (can now melee them) fixedFixed key lock LOD causing it to disappear too soon fixedFixed various building exploits fixedFixed various deployable exploits fixedFixed various LOD and batching issues fixedFixed missing building gibs in certain situations fixedFixed roofs being cheaper and more stable than walls (now identical) fixedFixed admin cheat noclipping (antihack.admincheat convar) updatedNew m249 sounds updatedNew snow and sand impact sounds updatedLots of impact sound adjustments and fixes updatedNew player body fall sounds updatedNew player fall damage sounds updatedNew stone external gate sounds updatedCancelled crafts don't break the max stack rules updatedPie menu sounds obey volume controls updatedNew key bind (input) system updatedNew window shutter sounds updatedNew corpse fly swarm sounds updatedAdjusted bandage sounds updatedAdjusted ambient sounds updatedAdjusted large fire sounds updatedImproved skin shader updatedImproved snow FX. updatedImproved rain fullscreen FX. updatedErm, dungeons greybox. updatedReload happens automatically when switching ammo types updatedReloading with only one ammo type is more responsive updatedShotgun shell has +2 pellets updatedEoka spread increased updatedEoka damage increased updatedHandmade shell pellets doubled updatedHandmade shell damage per pellet halved updatedMelee range increased across the board updatedLowered eoka cost updatedAmbient light improvements updatedAll-new coastline generation updatedBig water streams towards the outer realms of the main island updatedLandmass bias towards the center of the island updatedChance for small isolated islands off coast updatedHighland cliffs and canyons updatedNew underwater environments (placeholder art) updatedRevamped tundra environment (placeholder art) updatedSnow biome is restricted to mountain tops updatedRock material improvements updatedMore natural mountain, hill and lake blending updatedLess artificial prefab terrain blending updatedOccasional barrels around powerlines updatedSlightly improved river-ocean transition updatedBetter prefab mountains updatedBetter lighthouse spawn rules updatedBetter player spawn positions