New player models, loot changes, BBQs, garage doors, and more.
The new player models are finally going in this week. We had a couple of nasty issues related to how the build server dealt with some of the changed files which accounted for the delay (and several subtracted merges). All those issues are now resolved so I’ve been able to chase down some of the smaller issues before this week’s patch.
We’ve introduced a much greater number of face variations than previously, and as a result you’ll have your race re-rolled. This might mean you stay exactly the same (albeit with a new face), but I’d guess most people will experience a switch around. Gender will stay the same.
The bodies have also received a pass, although it’s less of a change than the faces (same rig, so there’s not a not of wiggle room in the proportions). It’s primarily a texture pass to take advantage of Diogo’s recent shader work, although there are some small geometry changes, such as slightly wider male shoulders, and geometry to assist with some problematic deformations.
I also took a quick pass at our player preview lighting, which has needed some attention for a while. Although there were two lights in the preview, both casting shadows, they kinda cancelled each other out so the lighting looked flat and unnatural. I’ve tweaked it to be a little more flattering, and to reflect nicely off specular surfaces, giving a bit more depth to clothing materials.
Clothing clipping is always a problem and will probably be worse on some items. With each character having different races, gender, scaling, etc. over many different animations and poses, it’s difficult to spot all the problem areas on the first pass. I’ll continue to adjust them over the coming weeks as they crop up.
The first iteration of hair will be going into the build this week as an uncraftable/non-spawning piece of attire (although at one point this week it was possible to find some uhhh “body hair” in crates, whoops!). Admins, however, will be able to spawn them if they please, although bear in mind the system is far from finalised.
Matt and Diogo have been working on a morphing system to fit the hairstyles to different hats and helmets, the tech is good to go, so when it’s implemented the hairstyles will dynamically adjust to match your attire.
First, let me just say that the Python has been upgraded to require workbench level 2. Sorry! But the ladder hatch has been reduced to workbench level 2, so you’ll find them in green crates now!
So, after analyzing the drop percentages I realized something was really wrong with how we’re distributing loot. I tried to add some code that would prevent duplicates from dropping, but that yielded a bunch of other problems, such as each roll changing the drop percentages once items were taken out of the running. After an internal discussion, we decided to change how loot is dropped entirely. You’ll see this change next week.
Basically, instead of generating a table with a bunch of random weights for each item, we’re instead going to separate items into different categories, from low to high, all with more or less the same probability in their category. Then, for each lootable, we’re going to specify how many slots they have, the probability of that slot spawning, and what loot tier to spawn.
For example, let’s take the airdrop. We can set it to spawn 4 medium tier items, 2 rare items, and 1 very rare item.
Instead of doing 7 random rolls, where you could end up with wood armour and 4 riot helmets, we instead can assure a distribution of rarity much easier.
We can also do cool things like set up the square crates to always spawn 2 medium items, but a 50% chance to spawn a third medium, or perhaps 20% chance to spawn a rare item.
When its all said and done looting is going to feel a lot less like RNG and getting ripped off, when you identify a crate you have a rough idea of what you’re going to get, and won’t be disappointed by pumpkin hats and propane tanks.
LR300 sucked compared to the AK. This was wrong considering it was uncraftable. I increased its fire rate by 10% and now it feels like a meatgrinder. It may even be OP, but you guys can let me know. I also made it skinnable and approved two skins (Bulletstorm and Wild) which you can paint on at a repair bench. Enjoy!
The BBQ deployable is now in game! It’s a bit rudimentary right now, basically being a triple sized campfire. I hope to expand on this later so that it cooks food faster and has a ‘cold spot’ to prevent burning.
I’ve teamed up with EAC this week to implement network encryption. It was a decent amount of work in parts of our code base I’m not too familiar with and since it’s still largely untested it won’t go live on all servers today just yet. However, the first and most difficult step is done and we’re hoping to start testing it on a small selection of official servers next week. More on this in the next devblog.
We have changed the way our automatic server folder backups work. A lot of server providers are doing automatic backups on their end, which means the backups we’re doing on server start are redundant for them. To help them out I’ve disabled automatic backups by default. You can enable them by adding “+backup” to your server startup parameters.
Unfortunately not ready yet to hit this patch, you soon will have access to a new wall frame type block! A garage door:
Some things will look odd, such as the roll-up cylinder size compared to the door segments. It’s because this has to fit our building system metrics and thus the footprint available is fairly small. I considered a sliding door mechanism at first but that one uses a lot more space within your garage. And we have to be able to fit your vehicles and trucks in there without a garage door bumping into them.
This was a short week for me: I returned from a week-long vacation and had to spend a day setting up my computer. What remained of the week, I focused on fixing and improving animal behaviour. Animals should now be better at not getting stuck, they react to the sound of gunshots and will move a bit better. There is still some awkwardness in their movement, and there is a lot that can be done still with respect to audible reactions, like allowing players to get closer by sneaking up to them carefully.
I was off for some time this week, so not much has changed on the iceberg/ice sheet front. Now that the iceberg textures are done, I’ve spent some time in the past few days unwrapping the large icebergs and tweaking the access points to make it easier to reach the top. In addition, I’ve been sculpting high-poly models for the smaller ice sheets and some ice debris that will float around it. There’s not much to show this week, but I will have something to show you in the next update.
I spent some this week using Diogo’s texel density visualiser (graphics.showtexeldensity) to reduce the size of environment textures that had an excessively high resolution. In most cases, I was able to reduce their size by up to four times at a minimal loss in quality. The biggest offenders were several 2048×2048 textures that didn’t look any worse at 1024×1024. These changes should help people with graphics cards that have lower VRAM. Keep in mind that there are literally hundreds of textures to go through and I’ve only touched about a hundred, so this is an ongoing process. If you spot any textures that look too blurry after today’s patch, please report them.
Below is an example. Textures marked in red were much higher resolution than the rest. Light blue, green and yellow are ideal.
After the ViewModel clean up and new arms hit main last week there was a few bugs to investigate, but hopefully, all should be back to normal. If you do spot anything different to how you remember, just give me a shout via Reddit/twitter.
A few of the attachments were being placed very strangely on a few weapons (including the AK and the LR300) and causing a lot of clipping. These are now resolved.
This week I finished modifying all the movement animations to use IK and got the code all done so you should see it in game now. I had to solve some issues with edge cases, where the player’s foot would twist abnormally on rock formations, as well as some performance issues.
I picked up a software package called Houdini, a program used in many movies/games for special effects. It’s able to recreate realistic water/fire/smoke effects. It’s quite technical, but thankfully there are a plethora of tutorials that will help me along. Once, I’ve mastered the program, I’ll be able to redo some of our current sprites that we use for water splashes, smoke, etc. I’ve been inspired by the effects in Battlefield 1, and I believe I can achieve similar results with Houdini.