Migration vs Craft
Author: nasKo,
published 2 years ago,
[img]https://clan.cloudflare.steamstatic.com/images//4460946/e9b7c8ac8d96c92aaa9836e1d0081bd252436cc6.png[/img]
Hello survivors! Today marks the beginning of one of the most significant and important periods in the modern world’s social and religious calendar: [url=https://store.steampowered.com/app/108600/Project_Zomboid/]the Steam Summer Sale[/url]!
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.
[h3]PATCH 41.72[/h3]
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:
[*]A huge amount of polish to the game’s food and recipes from BlairAlgol: filling in illogical gaps, expanding recipes, making foodstuffs previously absent from food crafting part of the system and making sure that you can no longer store a football in a toaster. Also a fair amount of food-related balance and common sense additions.[/*]
[*]An improvement beneath the hood to foraging – meaning that the game will be able to recognise polygonal foraging zones on the map, rather than the more inaccurate squares and rectangles it currently works from.[/*]
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:
[*]Improved farms and farmsteads in readiness for 42’s animals, these include scarecrows that can be dressed up in the same way as shop mannequins.[/*]
[img]https://clan.cloudflare.steamstatic.com/images//4460946/baf519e982ab17fc45b52343c67d1adb64d0442b.png[/img]
[*]Improved rich district houses in Louisville[/*]
[*]Various new tiles like baby cribs, heavy factory machinery, standing floor lamps, farm related tiles, atm machines, heavy safes, medical related tiles, and new car wash tiles. [And no, baby cribs are not a harbinger of baby zeds][/*][/list]
[img]https://clan.cloudflare.steamstatic.com/images//4460946/c5b694d74c81e046e63b17c5c43d6fa062b1eb08.png[/img]
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)
[h2]42 CONTENT[/h2]
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.
[h3]CRAFTING IMPROVEMENTS[/h3]
“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!)”
[*]Consider a shotgun item that can be crafted with attributes like damage, range and condition – based on the skills of the player who has been upgrading, improving and caring for it. [/*]
[*]The shotgun is then crafted into a new shotgun trap item, where the attributes of the original shotgun are copied over.[/*]
[*]The trap item is placed on the world as what we call an IsoObject – and the attributes are once again carried over to it. The range and damage attributes are now being used for the trap’s code. [/*]
[*]The trap gets triggered a few times – lowering the condition attribute.[/*]
[*]Another player decides to disassemble the trap to retrieve the shotgun from it, and the newly instanced shotgun item copies the attributes from the trap – and we end up with the correct damage and range values as it was originally crafted with. However, it now also has a lowered condition due to its activity while it was being used in the trap.”[/*]
“With the new system I’m coding, this daisychain of steps can be achieved with very minimal additional coding required.”
[h3]LES ANIMAUX[/h3]
“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!”
[h3]LA MIGRATION DES ANIMAUX[/h3]
“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.”
[h3]JOB AD MK II[/h3]
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 [url=https://projectzomboid.com/blog/jobs/]our job page lives here[/url]!
[i]Today’s Rosewood base from [url=https://www.reddit.com/r/projectzomboid/comments/vicr13/i_quite_like_my_rosewood_gas_station_base/]Poffie_was_here[/url]. A changelist of all our pre-release and post-release patches since the 41 beta began [url=https://pzwiki.net/wiki/Build_41]can be found here[/url]. The Block of Italicised Text would like to direct your attention to the [url=http://pzwiki.net/wiki/Main_Page]PZ Wiki[/url] should you feel like editing or amending something, and the [url=https://projectzomboid.com/lists/?p=subscribe&id=1]PZ Mailing List [/url]that can send you update notifications once builds get released. We also live on Twitter [url=https://twitter.com/theindiestone]right here[/url]! [url=https://discord.gg/theindiestone]Our Discord[/url] is open for chat and hijinks too. Experienced games dev and want to work with us? [url=https://projectzomboid.com/blog/jobs/]Details here[/url]. [/i]