The first look at the new auto-turret, more work on balancing the bow, we added an in-game bug reporter, we have a poll on what we should be focussing on, and lots more.
There has been a lot of public outcry regarding my recent bow changes. Let me explain my thought process regarding changing the bow to behave as the early game weapon it is supposed to be, and some of the good points brought up by the community that lead to a few changes coming down the pipe.
The bow was never meant to be a super strong PvP weapon; it was supposed to be for hunting animals and having a ranged advantage over other new-ish players. In Legacy Rust, no-one even considered using a bow in PvP. I think everyone is used to it how it is because no attention has been paid to it for 6 months.
When implementing the bow, I made it extremely noob-friendly by giving arrows a very large hit radius. This means there is a large ‘grace’ area you can miss a target by. Here is a comparison of the arrow vs a bullet:
Check that out! The arrow is the large circle on the right, so you can miss by half a foot and it’ll still count as a hit. This was intended because the bow wasn’t supposed to do high damage. I envisioned people firing a few arrows off to soften a target up at range (and perhaps kill), and then have to switch to melee if they got too close. It was never, ever intended to be as good or better than a firearm. Even with the nerfs, people prefer a bow over a revolver. The bow does 50 damage with a large grace area, has a 1.25s repeat rate, and is a default blueprint that takes 5 minutes to gather the ingredients to craft it. It’s overpowered, but if you’re picking a bow over a revolver the game is broken. Maybe this is indicative of a larger gameplay problem regarding difficulties obtaining mid-tier items. We’ll have to investigate
That being said…
The changes didn’t pan out exactly how I wanted them to. It was nerfed a little too much. I’m going to amp up the headshot multiplier for the arrow so it kills true naked people with one shot to the head regardless, but I’m also going to decrease the grace radius so you have to actually be more accurate with it. This should be a good middle ground until we add a compound bow and take another hard look at the bow gameplay.
I’ve been working on an auto turret, which should help defend your base from offline raiders. As with everything we change or add, I’m sure there will be 50 reddit threads talking about how we’re a bunch of morons who fuck the game up and it’s ruined now and everyone is uninstalling. Let me give you some information to hopefully mitigate that response:
- 180 degree firing arc, back is vulnerable.
- Short range, 20-30m.
- Vulnerable to bullets, melee, explosions.
- Needs to be loaded with ammunition.
- Can only be crafted with parts found in the world/from events – not raw resources.
This is a long time coming and I really hope it improves raiding for defenders and attackers, as well as making offline raiding require a bit more thought. I hope it modifies how people decide to build bases, with corridors and overhangs, difficult places to attack turrets from, etc. Only time will tell though, and as with everything we add or change, nothing is set in stone and we will adjust it until it’s fun.
This will be my last foray into the endgame content for a little while. It’s time to take a hard look at the early-to-mid game. We need to fix it so early/mid game lasts quite a bit longer, and those players have more options and things to do. We also need to look at why there are so many encounters between endgamers and new players and try and make the maps a little more geographically important to spread tiers of players out a little bit more. Lots to do!
Stability, Bug fixes, Optimization
We made some good moves towards making shit more stable this week, after last week’s disaster of a patch. So we have most of the major bugs fixed, I think. I added a bug reporter in game. You can press F7 to report a bug, and it will send along all your system specs and stuff. This makes it easy for us to narrow problems down based on server/version/specs.
I did a performance pass on some client stuff. There was an issue with the blueprints, they were causing a freeze when opening the inventory menu. Grass displacement is now optional. Some other smaller stuff that probably has no benefit but I did it anyway.
We’ve been putting updates out every day this week, so you probably already have most of these changes. The server you play on might not though. We’re forcing a server update tonight though (not a wipe) – so all servers should be updated and benefit.
The memory leak is ongoing. We’re still investigating. Unity doesn’t have a way to see how much memory the program is using at runtime, everything useful is hidden away from us. I’ve added a bunch of functions in c++ to get the memory usage. I’m hoping that we’ll be able to spot a pattern somewhere which will tip us off and help us out.
I’m going to keep on the optimization for another week. I feel like I’m doing some good things. We decided that we’re not going to wait for Unity 5.9 or whatever to make the AI better, so I’m gonna do a few experiments with making it less terrible and adding zombies.
Collider Batching PSA
I had to disable collider batching last week due to a last minute issue that occurred for certain building parts when their colliders were no longer convex. I solved the problem last Friday, but kept collider batching disabled by default to make sure any issues we’ve been debugging this week were unrelated to it.
If your server closes in on the collider limit, you can enable collider batching by adding “batching.colliders 1” to your server startup parameters. If everything goes according to plan I’ll re-enable it for all servers next week.
Building Collider Overhaul
For building colliders to be batchable we had to switch to concave colliders for all buildings. This broke a bunch of stuff like the placement of various deployables on foundations, which I fixed in the hotfixes following last week’s update.
The good news is that concave building colliders also mean we can finally use more accurate colliders for buildings and allow you to walk around beneath wood and twig foundations. While I was at it I also took on a series of long-standing exploits related to building piece rotation, and I’m hoping to get these changes to dev early next week.
I fixed a couple of issues with our in-game console. We now no longer refresh the console text if the console isn’t even open, which could cause performance problems in the past when for any reason errors were being spammed. While poking around in the code I also made it such that the console contains all messages that have been logged before it was opened for the first time.
As you may have noticed the last minute sound changes caused a bunch of problems last week, and I’ve been working together with Alex on dealing with the aftermath. I also took some time to profile the audio systems and found and fixed a few performance bottlenecks. The one with the biggest effect should be the fact that ambient sounds are now loaded in a background thread, which got rid of some significant frame rate spikes.
As you may know we’re already warming up assets and shaders when joining a server for the first time. However, our prefabs still have to go through a preprocessing step the first time they are instantiated, which can take multiple milliseconds, so I got started on a preprocessing warm-up option to avoid doing this mid-gameplay.
- Fixed random “Look rotation viewing vector is zero” warnings.
- Fixed DDraw shader (old one was deprecated in Unity 5.2).
- Fixed foundation pickaxe exploit.
- Fixed rocket and grenade damage against structures.
- LOD grid no longer logs errors when objects move their cell.
While working on the building collider improvements I noticed a couple of things that have been in their first rough implementation for probably close to a year now, talked to Vince about things he dislikes about our conditional building models and assembled a list of changes for the near future. Most items on this list will fix annoying outstanding issues, some will improve performance, and some will allow for new features like structure aging. I’m planning to get these things done before going back to terrain and dungeon improvements, but we’ll see how things turn out.
Due to some stability issues last week, we held off merging Water 2.5 into stable until those were sorted out first. I started working on some back-end native code changes and updates before I started getting bug reports a couple of days ago.
These are issues I’ve fixed in Water 2.5 since then:
- Fixed tessellation/displacement in low quality modes.
- Fixed white ‘sprite’ issues caused by mishandling of fog in additional light passes.
- Fixed water rendering order.
- Fixed SSAO artifacts caused by water.
- Fixed rivers getting ocean wave displacement.
- Fixed ocean rendering gaps.
I’ll be finishing native-side work regarding workflows that will be deprecated sometime after Unity 5.2, as well as deploying some profiling tools to native code in order to track down on memory leaks on that part of the code. If enough time is left, I’ll maybe tackle some long standing smaller extras that have been on the list for a while, like particle fog, shore foam and more heterogeneous shore wetness distribution.
A bit of a special week this one. While the focus is on solving the issues that arose over the previous weeks for our coders, I worked on making some art that wouldn’t involve potentially breaking stuff. I had a look at some of the ugliest temporary art we have right now and did a remake of our “beloved” tool cupboard. Even if the long term idea is to get rid of the tool cupboard, the model will be re-used as a piece of furniture at that point for your home decoration/storage.
Helk then asked some help getting our sentry turret ready, so I helped at first by whiteboxing a quick model over one of our concepts. I should have final art for this baby in the next couple of hours. Obviously, since the word this week is stability, none of this should be available to you, yet. Soon™.
As you can see from the header, we went with number 3.
I didn’t work this week on what I had thought of doing last week, which means I’m pretty terrible at guessing. This week? Some pressing issues regarding colliders accuracy on building blocks, I’m guessing.
I finished the low poly versions of the silencer, the flashlight, and the lasersight.
This is what they all look like when attached to an AK47.
I will work on LOD models for the helicopter, and make a viewmodel of the m249 machine gun so they player can pick it up and use it from a crashed helicopter.
This week I finished reducing GC (Garbage Collection) allocations in the sound and ambience systems and did a little bit of clean-up work there. This won’t make a huge difference, but every little bit helps.
I finished up large gate open/close sounds and bullet ricochet sounds, and I also made a sound for when you bury the small stash, and started working on sounds for the auto turret (power up, power down, destruction, turning, etc).
Earlier in the week I got the urge to challenge my synthesis skills by seeing how well I could create ambience (background noise, wind, crickets, birds) without using any pre-recorded sounds, so I spent a day on that. I thought it was going to be really tricky, but I ended up really happy with the results! These sounds will work their way into the game in the next ambience pass.
I also spent a little bit of time exploring Unity’s Audio Plugin SDK this week. DSP effects can be really powerful (that’s how we make everything sound muted when you go underwater) but Unity’s DSP effects don’t sound very good, so we haven’t been leveraging them much. I’ve been learning a lot more of the nitty gritty technical side of how a lot of audio effects work in my free time lately though, and I’m hoping to use that knowledge to fill some of Unity’s gaps in the future.
I’ll be finishing up the auto turret sounds and knocking items off my list of small things that need love (survey charge sounds, salvage pickaxe polish pass, melee grass/dirt impact sounds, etc).
Finished up on the AK47 texture with one or two things to tweak. I’ve set the materials up in Unity ready for LODs.
I also quickly worked on the makeshift holo sight that Paul concepted–which by the way is awesome–so here is the zbrush sculpt.
Next week I should be back in the office and back onto the LODs! Huzzah!
I worked on a central hub area for the underground military tunnels. If you remember from a few weeks back when I showed the access tunnel, I’m imagining that this hub area is where that tunnel would lead.
I also worked on a few more skins for the wood gate.
There’s no reason we can’t have multiple hub rooms for the access tunnels to lead to, so I’ve already started blocking out another idea. Expect to see it next week.
- Added a bunch of blood splat decals to apply on surfaces behind characters who have been shot.
- Removed the majority of footstep impact effects from the animals. Just leaving effects for snow, sand and water.
- Found we have the concept of “stab”, so started working on effects and decals for when players and animals get stabbed by spears, knives, etc.
- Working on the stone bullet decals. Tricky as then need to work on all types of stone.
- We now have entrance and exit bullet effects. Nothing is hooked up yet, and because the system for blood impacts is slightly different from the standard particle effect system it’s going to take some work to get it all working.
- Reduced the number of feathers the chicken sheds when flapping.
- Hopefully get all the blood assets ready to be stitched together.
- Some final bullet decal work.
- Get all the Blunt/Slash/Stab decals done. Should be easier than bullets as melee weapons can’t do that much damage to surfaces.
- Really want to start on footprint decals next and continue my work on the sand,snow footfall impact effects.
I’ve made some tweaks to the body sculpt I was working on last week. It should feel a bit more balanced now, but still needs a bit of attention before I can start detailing. I also started looking at the proportions of the head. It’s intentionally still quite rough at this stage, but I’m trying to keep everything nice and loose while I fix the proportions.
Try and nail down the body proportions ready for detailing. Start giving the head a bit more of a gaunt, malnourished feel. Right now it’s a bit too “default guy”.
Some miserable virus has been trying to destroy my body lately, so I haven’t been able to get much work done. Kill me.
Hopefully next week I won’t have as much crap luck with computer issues and/or my body disintegrating as I have over the past couple of weeks.