Footprints
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.
Shadow Optimizations
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.
Tuesday Update
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
Next Week
Finish up the footprints and shadow optimizations for testing on the dev branch, then move on to the building and stability overhaul.