Sentry Turrets are Online, Bug fixes, Performance Improvements and Art
I finished up most of the sentry turret and it’s live on the development branch, I’ve already spotted a number of bugs but thankfully they’re all mostly easy fixes. I will continually update it based on feedback and ensure it’s balanced and ready to go for next week’s update. Next blog I’ll outline exactly how it works but if you’re itching to try it you can hop on the dev branch and give it a whirl. You can only craft it from components found at a helicopter crash site and/or supply drops
I have some ideas for improving the early/middle game and I’m going to add some things as an experiment. I’m also going to fix a whole bunch of really old stubborn bugs that we keep ignoring. P.s. Buck is on holiday so I had to do the devblog this week, please excuse any formatting errors!
I got started on implementing the footprint decals Scott created last week.
All animals and players leave behind footprints, though in its current state it doesn’t allow equipment to change the footstep type yet, so the barefoot player footprints will have to wait a little longer.
While I was at it I also refactored some code that was used to spawn the footstep sounds and hooked up the stab impact effects.
As promised I looked into shadow performance and implemented some ways to significantly reduce the building shadow triangle count and draw calls.
I added simplified proxy shadow casting geometry to all of the building blocks, which greatly reduced the amount of triangles that have to be processed every frame. Once that was done I added our custom geometry batching to the shadow casters to further speed things up.
On my machine both of those optimizations yielded decent performance boosts in the test scene above. Your results may vary, but if your frame rate mostly drops around big buildings you can definitely look forward to this change. The same approach should also help us keep things smooth in the new and much more complex dungeons when they go live.
I worked on a bunch of tweaks and fixes that went live in a small mandatory update earlier this week.
Fixed roof building block conditional models
Fixed foundation step placement being blocked in certain situations
Made triangle floor deploy volume in line with the triangle foundation
Added UI warmup to reduce stuttering when opening certain UI panels
Allowed upgrade / rotation when inside certain building deploy volumes
Made the building block rotation and upgrade error messages more descriptive
Fixed projectile ricochet chance being far higher than intended
Disabled sound voice limiter priority sorting (back to first in first out for now)
Fixed campfire building prevention collider reaching beneath the campfire
Fixed door collider not being solid on the server right after placement
Finish up the footprints and shadow optimizations for testing on the dev branch, then move on to the building and stability overhaul.
This weekend I spent some time tracking and fixing a Linux crash – happening at startup self-check – preventing users on that platform from launching the game. Turned out to be related to a Unity issue causing an unexpected change in order of operations during graphics initialization. It should run properly now, even though some non-critical optimizations are temporarily disabled, so please let us know if this isn’t the case.
After taking two of days off this week, I got back to memory leak analysis and eliminated all the relevant leaks I could find. While none of them were too serious, any little bit helps in this regard. We suspect the larger, more unpredictable leak to be attributed to a UI-related problem that was fixed in Unity 5.2.2f1.
Sorted out a nasty visual issue causing some transparent objects to be drawn under rivers, instead of over them, like placement gizmos, holosight, powerlines.
Right now I’m working on improving underwater surface rendering, for when the player is submerged; it’s been consistently postponed due to other priorities, but is now in desperate need of attention.
Another week where I do not work on what I had betted on in the previous devblog! But it’s good for you guys, instead of having gates skins that won’t be implemented yet, you’re going to get new content right into your hands shortly. After a chat with Garry we decided it would be better for me to spend time on new content that can be derived from our existing code/tech. It just so happens we have the signs in for a long time. It’s a very strong feature of the game so far, but I believe we can expand on it. I tried to reward all types of people who use signs, we have hanging signs for shop owners, signposts and community signs for villagers, and painting frames in various new sizes for Artsy people.
I also changed the way the larger wood signs are placed ingame, by requiring more precision on your part. This should limit the abuse of signs being placed as cover, or used to limit access to radtowns and monuments. By now if you want to plant signs on surfaces other than vertical surfaces in general, you should look at standing ones.
Obviously I do understand that if you used the wooden signs as cover it’s because our current cover deployables are not to your liking. One of my next tasks might be to re-evaluate the amount of cover these provide, in order to make them useful on the battlefield.
I am currently working on Banners, there’ll be two type, one you can hang on walls, and one that will stand fiercely atop a flag pole. The banner should be paintable just like signs, and big enough to pimp your clan.
Work continues on the M249. I finished the hipoly version of it and am currently in the process of running it through Mudbox to give it fine details like small screws / dents / scratches / etc.
After I’m done working with the M249 in Mudbox, I’ll then retopologize the hipoly into a lowpoly vesion and bake the normals, and finish off the texture.
So last week I weighing up whether it would be better if I worked on a new weapon or worked more on add-ons. I chose add-ons so you guys, when the time comes, can have more customisation over the weapons we currently have. So i’ve started off with the AK47. I’ve taken the alternative ak47 concept that Paul drew and i’ll be adapting the parts/chunks to be used as alternatives swappables for the current AK47, so there’s more variation.
I’ve got some good progress on the new stock and I’ve begun sculpting the mesh for the alternative grip/trigger.
I’m actually really excited about this for some reason. I feel it will bring a lot more “personality” so to speak to the game and begin a sort of Rifleman’s Creed mentality, if that hasn’t happened already ;)
Next week consists of lods for the alt stock and texture optimisations for it for Unity. The textures you see at the moment are at full res and i’ll be tweaking the frayed edges of the wraps too to make them sit a bit better. Hope ya’ll have had a good week in Rust.
Two words, throwable rocks !
Here’s some footage:
I’m hoping it adds something extra to melee & also makes new starters more of a threat. We’ll see how it plays out though.
At the very least, it’ll make this trusty old friend even more entertaining in beach fights, protecting your towers, games of rockball, writing S.O.S in the sand………
More throwable things
This week I’ve mostly finished off the auto turret sounds. There’s a few more little details that we want to add but the main bits are all done. This thing is awesome. I can’t wait to get killed by it.
I’ve also been experimenting with a few alternate ways to handle ambience. Right now we have a few objects (ambience nodes) that surround and follow the camera’s position, but not rotation. The ambience nodes check the weather and the biome they’re in to decide which ambient sounds to play. This works fairly well. We get things like only hearing wind blow through tree leaves on one side of you if you’re standing near the edge of a forest, which is nice.
There are a couple downsides to this system though. We’re playing a bunch of loops at once, so if we try to add details to the loops it gets a bit lost. Additionally, because all of the ambience plays from the ambience nodes and isn’t tied to in game objects at all, if you’re in a field when it’s windy and you approach a bush, you won’t hear the bush’s leaves rustling in the wind at all. These aren’t really big problems but I’d love to make them disappear.
I spent a bit of time polishing helicopter sounds, doing a first pass at landmine sounds, and working on stone tier construction sounds as well.
Next week I’ll be finishing up the landmine and stone construction sounds, continuing the ambience work, and working on underwater sounds to go with some of the effects scott has been working on.
Rocket Launcher Effects
Spent half a day getting to know how all the effects work and did a pass on the basic rocket and launcher effects.
Started working on a whole set of water effects. Really want water to feel consistent with every interaction player have. Diogo and I have been talking about working on fogging and reflections so we can get the underwater environment way more accurate and moody.
Underwater bullet trails
Continued improving the explosion effects by doing a basic rocket explosion.
Started work on the water impact effects but there isn’t anything to show yet.
Going to spend most of my time on water effects next week and finish off the basic rocket launcher effects.
I felt like the smaller decorative items were working, like the head on a pike and the training dummy guy, but the larger totem pole, stone statues, and metal sculpture I felt were taking too much creativity/personal investment away from the player.
I took the totem pole I had from the last set and combined it with the idea of players piecing together their own unique monuments. Players earn totem pole pieces when they complete specific goals/milestones. Then players can stack these pieces creating their own unique totem pole. Each totem pole would tell a history for any player/group and would motivate players to collect the hardest to get pieces for bragging rights.
Since I’ve been thinking about this totem pole idea for a little while I’d like to expand on it some more, design more stackable pieces and maybe think about other forms a player made achievement monument could take.
Carried on with drones this week, taking some thumbnails into 3d and playing about with them, still searching for the right feel at the mo but the one i’ll put up is starting to head in the right direction, want a bit of a ‘big brother is watching’ feel to these so trying to base the main body somewhat to give a cctv camera vibe. Also it’s cool to see that people liked the rifles i did last week, even tho i noticed ppl calling them m1 garands/m14 when really they are just meant to be their own diy thing, made from scratch – they will simply fire like a semi-auto (perhaps at most have a 3 shot burst) but be really clunky and unreliable, guns should be a lot rarer i feel and the ones most achievable like these should be super ghetto diy and probably quite unreliable. anyway i’m finalising the design now for the the semi auto and just sorting out a ¾ view for tom who seems eager to jump in on it as the resident awesome weapon modeler!
Working more on drones and the crafted semi-auto, scientist too but they’re not super crucial at the moment so they’ll probably get looked at with any spare time i have.
I’ve made some changes based on some of the feedback from last week. The head should feel more realistic now with a normal sized forehead. The shape of the skull and brow still needs some work although that should be easy to fix. It’s worth noting that the skin is baby-smooth right now but I’ll be adding layers of detail on top of it. In fact it’s important to keep it smooth at this stage so that the mesh stays easily editable. I’ve included the old model for comparison on the right.
I’ve started making some changes to the body as well, but I’m still trying to get a good balance of muscle/fat going. I know it’s not there yet so this is very much still a work in progress.
I’ve also spent some time working on the low poly as I mentioned last week. The benefit of this means I’ll be able to really quickly bake down maps for testing this stuff in real time.
Finish changes to the body and the low poly. Start working some detail into the head and start some real time tests.