Hey all, it’s been a week of sweltering bug fixing in the internal anims build – while we wait for the rotational system discussed in previous blogs to drop in from Zac.
As such, it’s a somewhat non-starry Thursday blog (we did warn you!) – but here’s a few bits and bobs coming in from people anyway.
First some words from Zac on his work:
“This week, work continues on overhauling the way the character rotates in the world.
Currently, the character rotates linearly. Their body doesn’t seem to take any part in this. Their feet slide on the floor as they stand stiff while the whole body model rotates.
The core idea is simple. Instead of linearly interpolating a rotation angle, we leverage the animation system for a more organic feel.
The character will shift their weight, shuffle their feet, and even emote depending on their current state of injuries. Eg. limping, lumbering, etc.
The tricky part is making it work with the existing code. There are many places where the character’s rotation is updated in different ways. The player’s update function alone spans about 1,400 lines. o_O
So, the code slowly getting massaged into a shape that will accept the animation system’s rotation model.
Along the way, we are cleaning up and optimizing the update code. The game variables system and traits mechanism have both had their algorithm complexity improved from O(n) to O(1).
This is done by removing the need to search for a table entry, by caching the entry’s memory location. The next time we want that trait or variable, we just go directly to that memory location.”
Next some words from RJ on his work:
“This week I’ve been working a lot on firearm & weapon in general, hooking new anim in the system, making it easy for modders, balancing stats, adding new weapons.
Revolvers are in, with their set of animations, every weapons have their specific bullets (some share the same bullets, like the .44 Magnum bullets).
In the meantime, I’ve also been fixing bugs and balancing animations speed/blending so they look perfect in game (like running toward a fence now do an autoclimb, it’s faster but consume endurance and be careful of not falling due do panic!)”
Connall meanwhile has been updating his community translation system, and coordinating with new collaborators after last week’s shout out. Any further interested parties should chat to him via the forum (link) or on the Zomboid Discord.
Martin has been working with RJ to make combat smoother – creating animations for when players and zeds are hit from the left or right, rather than the character model have to snap towards the attacker’s position to receive the blow. He has also improved run and sprint vaults, and provided for the different weapons that might be carried when you tumble over.
Amongst a myriad of other fixes EP has been working on the streamlining of tools automatically being pulled from bags/inventories and into the player’s hands when performing timed actions. A good example of this being using the welding mask for metalwork and such. He has also made barricades shake when zombies pound against them, just as it currently does with doors.
RingoD is helping out on the main map, away from where Mash is working on Louisville, with a community requested feature – that of directional warning arrows on roads to signal where a turn in the road is coming up.
Steve has been working with us after a painful travelling schedule with his ‘real job’, working on integrating our upgrade to lwjgl that Stas developed – which will open up many and varied optimization avenues in future versions, as well as more robust modern windowing and better support for streaming software.
Yuri has been doing various fixes and polish tasks for his new water and puddle visuals – while we have also set up a server to stress test his work on server-side saving, which is ongoing today.
ChrisW has now turned away from his general Sims-style cutaway system, and is looking at bringing it all in-line with requirements for player-built structures.
The heat around these parts right now is slowly unravelling me, so that’s it for this week. Here’s the italicized text to play us out.
This week’s road markings from our very own RingoD. A general list of stuff added to PZ, and vids of features being worked on, is kept here – so you don’t have to plough through endless dev blogs for info. The Centralized Block of Italicised Text would like to direct your attention to the PZ Wiki should you feel like editing or amending something, and the PZ Mailing List that can send blogs like this and patch notes direct to your mailbox. We also live on Twitter right here! Our Discord is open for chat and hijinks too!