Hello survivors! Today marks the beginning of one of the most significant and important periods in the modern world’s social and religious calendar: the Steam Summer Sale!
Because of this, all you existing survivors will no doubt get a little swamped with all the fresh meat turning up for the PZ grinder.
The Zomboid community has always been amazing in terms of supporting new players, and this time won’t be any different, but our tech and support teams will be working flat-out – most likely.
As such we just thought we’d say that (entirely fictitious and non-existent) bonus Spiffo points will be available for those who jump into threads to give advice or survival tips to survivors fresh to the Knox Event.
Likewise if you are one of the aforementioned noobs: hello! This is a dev blog we do every two weeks.
We are still working on the next update to Build 41, which we are hoping to release to an Unstable beta as soon as we possibly can.
The hold-up (we were originally planning to put this out two weeks ago) is due to us wanting to smoothen out MP issues that arise when driving alongside (or in the same car as) players with a far higher or lower ping than yourself. It becomes very stop-start, and quite unplayable.
These are essentially the edge-case ramifications of the necessary decision we made to remove physics-calculations from the server, but there are a lot of people playing PZ these days so edge-cases aren’t an inconsiderable number of players.
The MP team have put a LOT of work into improving this over the past two weeks, and as soon as we’ve had a successful internal test with their latest changes we will feel in a position to punt the build out into unstable.
A top line of major changes in 41.72 includes: fellow players optionally visible on the in-game map, new loot maps, new SFX and a new music track, polished emotes and a new way for players to be able to identify exactly which mods are misbehaving when they throw errors. Also an admin brush tool letting server chiefs paint items and walls etc. onto an ongoing game, and reams of small issue bug fixes.
Additions that have gone in over the last two weeks also include:
The map team are also currently gearing up to do a final export of the current Build 41 map ready for the 41.72 unstable release. This will contain all the polish recently mixed into the main map, after which the team will turn to concentrate purely on mapping new areas beyond the current boundaries.
There’s nothing huge in this map update, we are primarily releasing it so that all the map bugs the community have been reporting are fixed up before the team moves onto Build 42 content, but there are a few treats:
We are now at a point at which it’s increasingly becoming a pain keeping 41 and 42 content separate on our internal build. We won’t be calling time on 41 patches any time super-soon, we’ll leave it polished and stable, but we’re certainly now well on the way the flipping the switch and working purely on Build 42 content. (Clearly we will still be able to return to implement super-important fixes and changes though)
We haven’t spotlit much from Build 42 recently – partly because one of its primary coders had been seriously ill (now recovered), and partly because a lot of what’s been done recently isn’t super visual yet.
However, if you’ll forgive the primarily textual blog, here’s a few updates on what’s been happening. First from our newly-healthy Turbo, who is responsible for our crafting update.
“Hello! This is Turbo! As mentioned in earlier blogs, the new craft update introduces a good bunch of new professions, new items, crafting tree and profession work stations etc as well as some other changes to how the game code ‘creates’ and records things.”
“To explain what I’m currently working on and why, I’ll focus on a few aspects of the update:”
A) Crafted items that have more RPG-like variable attributes that are based on the crafter’s skill.
B) Stats of input items that may also influence the attributes of a final output item.
C) The fact that a newly crafted item will be able to be placed as what we call a worldobject, then picked up again to item form – with all its attributes transferred in the game code between the two.”
“As an example, we are currently working on crafting that will occur deep into the apocalypse: so a blacksmith may be making a hammer which requires a wooden tool handle and a hammerhead as the input. The wooden tool handle may have a ‘quality’ and ‘condition’ attribute with values that are based on the skill of carpenter who made it, and perhaps for the ‘quality’ of the wood used by them. Likewise, the hammerhead may have similar attributes – based on the skills of the blacksmith who made it, and the attributes of the ore/iron used in the craft.”
“Mixed into this we also have to take into account aspects such as the skill levels of the crafter – and also take in a random factor so that not everything produced is of a uniform quality.”
“The attribute system I’m currently working on should help with these kind of things, and it will not only be used for the new stuff in 42’s crafting update – but we will also be able to refactor things currently in the game’s existing crafting systems to work with it all really easily.”
“Lastly, a simple use case example. (And this is an example – not a promise of item inclusion!)”
“With the new system I’m coding, this daisychain of steps can be achieved with very minimal additional coding required.”
“Hello everyone! RJ here.”
“Okay, so everything that’s outside of your current surroundings in PZ doesn’t really exist. It exists as ‘meta’ – it isn’t streamed in, and the game calculates hordes moving around in distant places.”
“For animals, however – this needs to change somewhat. You need to be able to travel the distance of the map, but for the game to still remember things about them that don’t matter for shambling zombies. Animals need to age, eat and drink – if you leave them too long they can’t be in perfect condition when you get back. They, most likely, need to be dead.”
“Not only are there lots of things to consider with animal, but there could also be a LOT of them on the map – although we’re current not 100% on our final list we have models for rats, squirrels, larger birds, deer and domesticated animals. So, even though the game knows everything about them and their movement – there’s a risk that when they’re properly streamed it might get too intensive for the CPU.”
“To avoid this I have coded it so that their stats (hunger, thirst, age etc) are updated every in-game hour. Realistically you’ll likely only have one or two cows, but if you want to breed rats for… some inexplicable reason you could end up with a ton of them. We don’t want players with 100+ animals having their stats updated every tick, or things could melt.”
“As such, animals won’t be updated real-time while they are off-screen (except for animals in a migration path, more on that below) but they will update themselves once you (or anyone else) returns to them. So be sure to fill up their feeding trough before you head out on loot run!”
“We don’t want wild animals to always spawn in the same place. So for creatures like deer, we need to have them follow a set path – as they usually do in real life. This is being done through additions that Tim has made to WorldZed – and where we can ‘simply’ draw all the paths that animals could take – with nodes all along it where they can eat, drink, etc.”
“It’ll be up to the player to try to understand and learn these paths, so you’ll know where you could find your animals to hunt. We can also perhaps provide lootable items that can mark up rough hunting trails on your in-game map too.”
“This aspect of animals will be updated in the meta though, as animals need to always be on the move and some animal paths will cross with others – meaning that a group of deer could decide to change its path if it chooses to.”
“A deer group will contain all relevant members of the deer family. If you kill the buck in a deer group, they won’t have fawns for quite some time – until they find another buck to add into their group. As such, it will be important for players to recognise what animals they should kill: which are still too young, which might be pregnant etc.”
“It’s not done for B42 yet, but we are planning tracking to an extent via the deer excrement they leave behind and its freshness – all discovered via the foraging system. This way you’ll start to know on your server/game, what are the path animals are currently on, and could quite easily track back to them to “collect” your meat. Again, this aspect isn’t 100% up for inclusion yet – but hopefully shines a light on our plans.”
Sadly due to unforeseen circumstances we are back on the hunt for an Animations Engineer / Technical Wizard – most likely someone from the AAA game development space who has pines for joining a close-knit team of indie devs. If this is you, or someone you know, then our job page lives here!
Today’s Rosewood base from Poffie_was_here. A changelist of all our pre-release and post-release patches since the 41 beta began can be found here. 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 you update notifications once builds get released. We also live on Twitter right here! Our Discord is open for chat and hijinks too. Experienced games dev and want to work with us? Details here.