More fixes and tweaks this week: decay has been added to cupboards, bags, and traps. Crop life has been adjusted. There’s also a peek at a new aiming system for throwable weapons, word on the upcoming XP system, and more.
Here’s a preview of one of the tunes I started last week and polished up this week. I did a bit of recording specifically for this as well, which was fun. Some of the echoey, high-end percussion was made from bits of a disassembled door knob moving around (which also makes great gun foley sounds!), and some of the metallic swells in the background are pitched down recordings of me playing some metal mixing bowls and pots that were partially filled with water with a cello bow. There’s a few things I want to tweak with this one still, but I’m pretty happy with it so far. Listen to it and enjoy the blog!
I’ve merged the past month’s changes into Prerelease and got it up and running again. I’ve also set the price of the new items in the XP system and adjusted their unlock levels. Next week I’m going to do some gamefeel stuff, so it’s more obvious when new items are unlocked. I’ll also be going through each level and making sure we aren’t getting too many unlocks at once (some levels unlock 8 items!), as well as a standardized pricing scheme (common tool = 5 XP, very rare weapon = 50 XP).
I added decay to a number of deployables this week. All sleeping bags, tool cupboards, barricades and traps will now slowly decay when inactive. Opening or closing nearby doors resets the decay timer the same way it does for building blocks, which means those things should be safe inside occupied bases, but will decay fairly quickly out in the wild or when a base is abandoned.
The things I’m hoping to achieve with this is to cut back on the sleeping bag/trap/floor spike spam in bushes, and to make tool cupboard griefing less effective. Another interesting aspect could be the possibility to move into an abandoned base once the cupboard is decayed, since it will break down faster than the higher end building tiers. I didn’t go too crazy with the decay rates for now (~2-3 days for most of those deployables) so we have some time to get feedback and balance it in the upcoming weeks.
We now track some interesting stats for server admins that can easily be accessed with the “stats” or “stats playersteamid” console commands. The reason for doing this is that I’m interested in the number of projectile hits with or without a direct line of sight between the attacker and the target. While there are legitimate reasons like ricochet that can lead to hits without a direct line of sight between two players, things get suspicious once they are happening at a high enough frequency.
For now this feature is mostly there to evaluate the performance of those kinds of checks and see what the data will tell us. It’s also useful for server admins to look into hacking accusations, which is why I decided to make this early development version available to them.
There’s much work to be done on the farming system, but I just wanted to address some low hanging fruit (hue hue) this week. I increased the time the fully grown plants stick around before they start a new season or die, so you’re less likely to miss the right moment to harvest them. Domesticated hemp now gives 20 cloth when fully grown and can be harvested when the plant is still small for a portion of that maximum amount of cloth.
There was a fairly serious issue with the water bucket that could make the physics system of a server crash entirely. After a painful debugging process this is now finally fixed – sorry to any server owners who experienced this.
Entity Parenting Fixes
There were some issues with the water purifier caused by a fairly low level bug in our entity parenting system. I implemented a workaround over the weekend and starting today you should no longer run into invisible water purifiers or ones that cannot be interacted with. I’ll probably have to put some more work into the entity parenting system in the future if we decide to use it with more objects than just quarries and water purifiers, but for now everything should be working as intended.
Something I’ve wanted to return to for a while is throwable weapons. The current system results in a lot of accidental throws & hads only a small sense of accuracy, so what I’ve looked at this week is adding an aiming state. Holding down right-click will keep you in this state until you’re ready to throw, releasing the button will execute the throw.
Now, this system involves code changes to baseMelee & will effect third-person anims too. Once the code is updated it will be looking for this new aiming state on all throwable weapons, which means I’ll probably need to get them all working before committing. This is only worth doing if players feel they will use this aiming feature, so let me know what you think of the idea.
Some of the holosights were a little off, just enough to be annoying. They should all line up now:
I’ve added a female component to the randomised faces script, there’s limited variation due to it only sampling three blendshapes (and one set of textures!) at the moment but we’ll be able to get some unique faces when more are added.
New Eye Maps
When I first made the eyes I used photos to create the textures and although they look fine, they’re a pain in the ass to edit or do anything with. I’d like to introduce randomised eye colour at some point so I figure now was as good a time as ever sculpt an eye and have some nice, flexible maps to work with.
I’ve continued working on physics sounds this week. I’m almost done with the world items now (which is actually most of the physics-enabled stuff in the game at the moment). I’ve got a couple more things to record still, but I’m planning on doing that tomorrow and merging this stuff in over the weekend so we can test it a bit and release it next week. After this first round of this is done I’d like to work on more item-specific sounds to give everything a bit more distinct flavor.
Item UI Sounds
I’ve started on a few more item UI sounds this week. Paper, small plastic objects, and water bucket/bucket helmet. I’ve also been hunting for something that will work well for the big scrappy metal tools, like the salvaged axe, but haven’t found anything that’s giving me quite the right sound for those yet. All the metal objects I’ve got that are rattley enough are too thin so I’m going to take a trip to Goodwill and/or the hardware store next week.
I’ve been working on this harbor Rad Town concept. New players who spawn on the shore need a more reliable way to find roads and by having rad towns like this with tall cranes it would give players a clear target to aim for.
Third-Person Weapon Animations
I started animating the weapon models in third-person–as seen from other players–which will better allow you to visualize what other players are doing with their weapons: reload, shoot, etc. The early results already add a lot to the visual impact of the weapon handling, but they’re too janky to show off right now.
Added deployable decay to sleeping bags, tool cupboards, barricades and traps Tool cupboards can be repaired Added server side stat tracking (separate for every server instance) Added projectile line of sight tracking (no enforcement yet) Added lineofsight_protection server convar (only toggles tracking for now) Increased available time to harvest plants before they die Hemp can be harvested for reduced cloth when small Ignore projectiles from stalled players Take player lag into consideration for server side projectile speed verification Projectile entity distance verification takes entity speed into account Include player and target names in server side projectile logs No longer give anti hack violations to players that are stuck behind doors Improved fly hack detection (fixed a potential false positive) Fixed overly bright clouds at night Fixed blurry Facepunch logo on low quality settings Fixed issue that could render the water purifier invisible Fixed issue where the water purifier bucket could not be interacted with Fixed potential server crash caused by water bucket Fixed line of sight loot exploits Fixed exploit to disable gunshot sounds Fixed survey charge particle effect rotation Added decay.tick server startup parameter (specifies decay tick interval) Fixed estimated player velocity being extremely inaccurate during server lag Player animation tweaks Fixed offset Holosights Fixed issue with revz not being set causing rendering problems Fixed revz darkening environment Fixed revz player preview Fixed revz deferred lighting and reflections Fixed revz missing decals, player tags, holosight dot, lantern glass Fixed revz missing heli body and heli interiors Fixed revz painting signs Fixed revz greyboxes not visible Fixed revz horse hair, helicopter glass seen through objects Fixed revz menus darkening water Fixed horse hair discoloration Fixed teddy bear mesh + material Fixed water simulation issue causing seams in shore blend Fixed speedtree billboards in d3d9 Fixed pitch black shadow on grass when shader level < 300 Fixed pitch black horse lowest LOD mesh Fixed ocean and rivers not showing specular highlights for secondary lights Fixed research table glass shader