1. Project Zomboid
  2. News

Project Zomboid News

41.74 UNSTABLE Released



Note: Parts of this patch were previously released as a 41.73 Unstable hotfix.*
A version bump ensures players running the Stable client get a clearer error (version mismatch) when connecting to servers running the Unstable branch.


This patch addressed the Linux server crashes.
Please let us know about any remaining crashes and the performance you're experiencing.

If you continue to experience crashes on the Unstable branch after this patch, please send us your hs_err_pid**.log file (you'll find this in the server installation folder) in addition to a .zip file of your Home/Zomboid folder (remove the "Saves" folder from it to save space). If you're submitting them outside of our Discord techsupport channel, please make sure to provide a download link from your filesharing service of choice.


[h3]MP[/h3]

Migrated to newer Steam API.
ZNet library was rebuilt on all platforms.
Steam network logs are added.
SteamGeneric packet was removed.
Old steam session info was removed.
SteamGameServer.BUpdateUserData method call is removed as deprecated.
Error descriptions for the ESteamNetConnectionEnd and EResult were added.
Fixes to Steam logging.

41.73 Released

[h3]41.73 compiled changelist, also including 41.72 from the unstable branch[/h3]

Due to character limitations, the full changelog can be found on our forums and in the pastebin below:
https://theindiestone.com/forums/index.php?/topic/58075-4173-released
https://pastebin.com/PW9F8TNn


[h3]NEW[/h3]

- Added the MapRemotePlayerVisibility server option for Multiplayer.
    1 = Remote players aren't visible on the in-game map
    2 = Remote players in the same faction or sharing a safehouse are visible
    3 = Remote players are always visible

- The OPT button in the in-game map that was previously visible only in debug mode or for admins is now always visible.
  When not in debug mode, these options are available:
    - Players
    - Remote Players (client only)
    - Player Names (client only)
    - Symbols

- Added MapRemotePlayerVisibility server option to the server-settings editor and admin panel.
 
- Added a new volume slider to the Audio options which affects the jump-scare sound.
 
- Fixed updates to the map causing zombies to spawn inside previously cleared buildings.
    - Fixed BuildingDef.calculateMetaID() and RoomDef.calculateMetaID() possibly creating the same ID for different buildings or rooms. This was why zombies would respawn in some already-seen rooms.

- Give zombies that are targeting a player higher priority for pathfinding than other zombies.

- Added new loot maps from Pat Bren.
- Split the single Louisville map-item into nine separate maps.
- Added Louisville maps to the loot tables.
 
- Gas container tooltip tweaks:
    1) When adding fuel to a generator, tooltips show the percentage the generator's fuel percentage will increase.
    2) When adding/siphoning fuel to/from a vehicle, tooltips show the item capacity in liters (to match the mechanics ui).
    3) When taking fuel from a gas pump, tooltips show the item capacity in drainable units.

- Updated Community Translations
- Added icons + textures for Medical/Trauma Bag and Canned Fruit Beverage.

- Added highlighting to changed Zombie Lore Sandbox Options (options that differ from Apocalypse mode are highlighted).
- Added an "AttachedToGlass" tile prop to fix signs attached to windows not being removed when breaking the window.
- Prevent the loot window from popping open when clicking on objects when using the furniture-manipulation tools.

- Added "Default=" to combobox sandbox-option tooltips.

- Allow empty bottles to store gasoline.
- Added water capacity in context tooltip when filling water container (if only 1 item type)
- Updated community translations.
- Updated credits.

- Improved icon draw for context menu
- Added ISContextMenu.addDebugOption() which adds an option with iconTexture=media/ui/BugIcon.png.
- Added a way to rename a savefile in the load-game "More..." panel.

- Added the various pictures frame missing (not spawning yet, also no inventory icon yet - currently using empty frame icon)

- Allow building double doors inside buildings.  This is to fix a bug where double doors couldn't be built on some outer walls of buildings.
- Added checks for wall-like obstacles that should prevent opening or closing double doors.
- Don't allow building stairs where there are walls or obstacles at the top. The player will pass through these when going up the stairs. Building walls or obstacles at the top of stairs was already disallowed.

- Incorporated Baph's latest additions, which include: new movable script items; new modder-orientated procedural distributions tables; new zombie outfit distributions; new vehicle distributions; more through junk tables; new items.
- Longer evolved recipe names; now up to 3 ingredients will be displayed in the display name of compound recipe items.
- Updated ISAddItemToRecipe and translation text with translation string support for new recipe naming system.
 
- Added a panel to the Attachment Editor (Shift-F7) that is displayed when a "world" attachment is selected. This new panel displays the selected model as it would appear on the ground.

- Removed the -Xss1280k stack-size JVM parameter from Linux ProjectZomboid.json files.
- Increased Linux and Mac -Xmx=2048m to -Xmx=3072m max-heap JVM parameter to match Windows.


[h3]SFX[/h3]

- Updated sound banks.
    - New action music track.
    - Fixed one male zombie voice looping the Hit sound.
    - Added missing sound for taking water from a dispenser.

- Added an ambient sound to the Gas-2-Go pumps.

- Set the value of the FMOD parameter "Generator" on powered items so they play a sound when powered by a generator.

- Added ZombieCrawlLungeSwing and ZombieCrawlLungeHit sounds for zombie fence/window crawling attacks.
- Zombies play their Attack and GettingUp sounds during fence/window crawling attack animation.
 
[h3]MAP[/h3]

- Full export of the current Knox Event map. This will be the final B41 map update.
    - Updates many farms and farmsteads
    - Improves upper class areas in Louisville
    - Adds many new tiles on the tilesheets
    - Fixes many and various community-reported map issues and bugs
 
[h3]FOOD AND RECIPES[/h3]

- New Ice Cream Cones now melt and produce a Melted Ice Cream Cone item.
- New Gravy Boat, Baloney Slices, Salami, Salami Slices, and Snack Cakes models.
- New Canned Condensed Milk item; can be used for the same recipes as milk.
- Balance adjusted assorted values of food items and recipes.
- Appropriate bottles can now hold gasoline.
- Baloney and salami can be sliced.
- Many food items have more options for being used as evolved recipe ingredients.
- Recipes for Onigiri; Baguette Dough; Biscuit Dough; Meat Patty; Scooping Ice Cream; and Trays of Cookie Dough.
- Crayons can be used to write notes and mark the map.
- Toast can be made from Bread Slices by cooking them.
- New recipe for a Cheese Sandwich item; cook a Cheese Sandwich to make it into a Grilled Cheese Sandwich.
- Evolved Recipes for Ice Cream Cones; Sweet Pies; Bread; Toast; Bowls of Oatmeal; Mixed Beverages; and Glasses of Wine and Beer. This makes it possible to make foods such as Ice Cream Cones with candy and fruit on them, chocolate, cheese, or sunflower seed Bread, Toast with beans or avocado on it, Bowls of Oatmeal with berries and honey, cocktails, and such.
- Whole Pizza item added.
- Glasses and cup items can be filled with water.
- WildGarlic item replaced by WildGarlic2 which is edible; this was done so that Wild Garlic could be a food item and be used in recipes. Otherwise identical to the old Wild Garlic.
- Canned Condensed Milk item; can be used for the same recipes as milk.
- Maggots that spawn with zombie corpses will be mildly poisonous.
- Added evolved recipe item PizzaRecipe; "Pizza(Uncooked)" can be used to make an evolved recipe pizza with toppings.
- When Hot Drink beverages are made using Black Sage, Common Mallow, or Lemon Grass the medicinal properties of those items are transferred to the Beverage, "Herbal Teas".
- For herbal tea purposes, Hot Drinks are more flexible re ingredients and have special naming.
- Coffee and Espresso Machine stoves will now only accept mugs and other appropriate items.
- Added placeholder texture for Bag_MedicalBag.
- Added BrokenGlass tag to broken glass movables and smashed bottle, and added recipecode code for the tag, for modding purposes.
- Added support for the tag "SewingNeedle"; this will allow modders to add new mod items that can perform tailoring and wound stitching tasks.
- More flexible Tag support for writing notes.
- Added Tomato Paste item for pizza crafting.
- Added Prepare Pizza recipe to make a RecipePizza base evolved recipe item.
 
[h3]BALANCE[/h3]
- Baloney, Salami, Ham, Onions, and Watermelon must be sliced before being able to be used in evolved recipes.
- Watermelon must be sliced or smashed before being able to eat it.
- Values of many food items adjusted for balance, consistency, and QOL purposes such as allowing one instance of an item to be used in more evolved recipe portions.
- Only Bread Slices and Toast can be placed inside Toasters.
- Some recipes now require a bowl as well as a spatula, spoon or fork, to mix ingredients.
- Many recipes adjusted to allow for more ingredient flexibility.
- Hot water is now required to make Bowls of Oatmeal. Tim is now satisfied.
- Added new param to Recipe: "InSameInventory". When this param true items gets only from same outermost inventory. (Need for fix Rip clothing only from player inventory or only from Floor/Container)
- Changed Rip Clothing recipe
- HandWeapon.weaponSprite is saved if it is different than the item-script's value.
- Slightly increased zed attraction to gunshots in MP
- Reduced the endurance loss when missing a hit (especially when pushing).
- Set sprite properties on the "Wood Pegboard" and "Wood Top Workbench" in location_business_machinery_01 so they are movable.
- Added all the missing translations to Moveables_EN.txt. Any missing translations for this are printed to the console when loading a game.
- Added a "Slice Onion" recipe so Fried Onion Rings can be made.
- Made the Composter thumpable by zombies.

- Sometimes the corpses that spawn as the player explores the world will be fake dead.
- As corpses progress in rot stages they have a chance of becoming fake dead.
- Additional appropriate corpses spawned in randomized world stories will rarely be fake dead.
- As corpses progress in rot stages they have a chance of spawning maggots in their inventory and in their square.

- Food value and evolved recipe name adjustments for more flexible recipe usage and shorter compound names.
- Obese is now mutually exclusive with Light Eater and Very Underweight is mutually exclusive with Hearty Appetite at character creations.

- Adjusted weight of Spears
- Floor tiles will now provide a maximum of 1 nail when dismantled.
- Eggs are dangerous uncooked but now with a greatly reduced chance of causing food sickness.
- Ice Cream Cones now melt and produce a Melted Ice Cream Cone item.

- Ginseng now provides an Endurance Buff when used to make a Hot Beverage as a spice.
- Added Basil to more recipes.
- Better handling of evolved recipe item name when they only have spice ingredients.

- Added the ability to install Makeshift Radios into vehicles; this was done for consistency with the requested fix of allowing Makeshift HAM radios to be installed in Ham radio vehicles.
- Allow vehicles that have HAM radios to allow any sort of HAM radio installed in them; Luxury and Modern Cars will also always spawn with Premium Radios installed.
- CDs in Premium radios will transfer to/from the vehicle they are being installed into/uninstalled from.


[h3]ANIMS[/h3]

- Added new fill from bourbon bottle anim
- Changed fill from bourbon bottle xml to use new anim

Emote Wheel adjustments:
- Adjusted some emote bone masks to reduce clipping
- Added some stealth emote versions to reduce clipping and posing awkwardness
- Added emote states for different weapon poses

- Added an eating animation for WaterPotPasta WaterPotRice. The animation is the same as for drinking out of a pot.
 
Idle extension adjustments:
- Adjusted normal stance extensions bone masks to avoid clipping and awkward poses
- Added normal stance extensions anims, where appropriate
- Added normal stance extension xml for different weapon stances, where appropriate
 
- Added masks to extended idle xmls to not clip as much,
- Added relevant extended idle anims where needed
- Capped off hoodieUP xfiles to stop transparency
- Adjusted hoodieUP texture for new cap
- Added blood locations to a couple of missing shirts
- Re-exported female and zombie female base textures after eliminating some erroneous pixels causing holes
- Adjusted Hat_Spiffo mask to display properly on character
- re-exported missed zombie body textures that had outlying pixels
- Adjusted male and female HighViz vests to visually work similar to hunting vests
- Reworked Male and Female HighViz vests
- Changed HighViz vest body location
- Tweaked Hunting vest masks to work better with underlying clothes

 
[h3]MP[/h3]

- Various anti-cheat improvements

- Sync and physics improvements for vehicles.
    - Refactored and decreased vehicle physics packet size.
    - Vehicle interpolation was refactored and improved .

- Improved towing physics and behaviour.
    - Updated PZBullet library on all platforms.
    - Rope constraint is added to PZBullet. Now used for vehicles instead of z-offset for point-to-point constraint.


- Optimized Vehicle authorization on exit

- Allow admins to repair clothes via Edit -> Condition, and remove holes when the item is set to max condition when the item is in their inventory.
- Visual data for damaged/fixed clothing will now sync between clients.
    
- Hit reaction translation length is now calculated by appropriate animation clip

- Use WaveSignal packet on client
- Improve auth/towing for cases with two drivers/swap tow

- Stopped clients updating rotting corpses and fake-dead corpses.
- Added check for IsoDeadBody.getHumanVisual() being null.

- Server will send the success result of recipes checksum validation if the client is untouchable.
    - The game will calculate the checksum using the original recipe name.


- The driver now stops the vehicle before they exit from the vehicle or switch seat.
    - Added ISBaseTimedAction timed action.
    - The BaseVehicle.setForceBrake function was added. Calling this function activates the brakes for 1 second.

- The SystemDisabler.doDisableTunePhysicDelay variable was added

- If FPS is capped the updatePhysic function receives time delta uses the PerformanceSettings.getLockFPS function.

- The game server will not send the PlayerUpdateReliable packets from players who are far away.

- Improvements for some anti-cheat checks
- ServerOptions to enable/disable AntiCheatProtectionType checks for types 21-24 are added.
- Added log message for LUA debugger


- Improve vehicle logging
    - Add DebugLogStream noise methods
    - Logs can be filtered by severity
- Reformatted log streams for damage, death, and multiplayer log types

- Added server log command for vehicle traces (ex.: "log vehicle trace" or "log ve t" for short)
    - Command entered in general chat tab changes severity on the client
    - Command entered in admin chat tab changes severity on the server

- Increased allowed map_meta.bin and map_zone.bin file size from 20MB to 50MB in multiplayer.

- Fixed Zed appearance not syncing between players.
- Fixed one player being able to use two radios / walkie talkies.
- Fixed text not displaying above the placed HAM radio if there is a Walkie talkie in your hands.
- Fixed vehicle radio using wrong coordinates.
- Fixed vehicle radio not working in the same way as world placed radio.
- Fixed other vehicle radio issues (radio stations, text, chat, VOIP).
- Fixed vehicle radio text processing.
- Fixed trailer authorizations / floaty trailers.
- Fixed Item Remove tool not removing items from containers on a server.
- Fixed clients sending StopSound packets to the server for zombie vocals.
- Fixed clients sending climb-over-fence sounds and climb-through-window sounds for players and zombies. It seems each client runs the ClimbOverFenceState and ClimbThroughWindowState, so these sounds may be kept local.
- Fixed clients sending climb-over-wall sounds.
- Fixed seat authorizations.
- Fixed null pointer exception in the VehicleManager.serverPacket function.
- Fixed incorrect delay-tuning algorithm.
- Fixed issues with Handle BufferOverflowException sending map_meta.bin and map_zone.bin for servers that use many map mods.
- Fixed issues when characters are hit by trailers.
- Fixed corpses disappeared when killed by trailer
- Fixed issues with vehicle physics debug log messages.
- Fixed Admin being kicked because of incorrect checksum.
- Fixed car changing its place after re-login.
- Fixed normal vehicle not being removable in mods.
- Fixed movement sound when vehicle is stopped.
- Fixed movement sound when player changed seat from driver to passenger. Redundant vehicle packet EngineSound flag is removed.
- Fixed disappearing trailers.
- Fixed physics update limits.
- Fixed a vehicle and towed vehicle having different physic delays right after they were attached, causing clients to see the two closer than they actually were.
- Fixed attached cars being disconnected after re-login.
- Fixed passenger not being able to exit attached car if they occupy driver's seat while the car is being towed.
- Fixed attached trailer twitching after player gets in car. The server gives authorization for a short time to a player if both vehicles don't have drivers.
- Fixed empty RequestGetFull being sent.
- Fixed vehicle passenger could have vehicle authorization after collision.
- Fixed vehicle collision owner.
- Fixed tow re-attach.
- Fixed vehicle seat switching.
- Fixed passengers seeing black boxes at high speeds.
- Fixed vehicle not damaging players after re-login.
- Fixed vehicle local simulation pass through another vehicle.
- Fixed player can't become owner of pushed vehicle.
- Fixed bouncing vehicle authorization at the end of local simulation.
- Fixed player can exit or sleep in moving car.
- Fixed rare incorrect vehicles authorization after towing.
- Fixed engine sound disappearing without a driver.
- Fixed car not stopping when driver changes their place due to cruise control.
- Fixed error when try to type "[" in Item list viewer.
- Fixed bug in the GameTime class. The class had insufficient precision when calculating the time in the syncServerTime function.
- Fixed car stopping condition. The vehicle is stopped if the speed is less than 0.8 kmph.
- Fixed clipping vehicles.
- Fixed remote cars lag. The stepSimulation function will receive fixed update period. This period will not depend from FPS.
- Fixed Vehicle simulation speed depending on locked fps.
- Fixed the server kicking players when SystemDisabler.doAllowDebugConnections variable was set to true.

- Added MapRemotePlayerVisibility server option to the server-settings editor and admin panel.


[h3]MODS[/h3]

- Improved log for lua errors. Now it shows if it modified file error
- Added list of mods in Pause menu + this list show mods that cause errors
- Added additional check to Vehicle Create, Update and Install Radios that may help prevent mods that modify what data is sent to it from causing errors.


[h3]FORAGING[/h3]

- Adjusted the position of foraging pin icons and direction arrows. The arrows always pointed to the northwest corner of a square, which didn't look right for dropped items.

- Turn the player to face a forage item when picking it up.

- Fixed the foraging system not handling non-rectangular zones (i.e., polygon or thick polyline zones).
- Zone.getRandomSquareInZone() now handles polygon and thick polyline zones.
- Zone.getTotalArea() returns the area of polygon and thick polyline zones.
    Note this isn't an accurate count of the squares in such zones, it is the sum of the area of each triangle that forms the polygon.
    For other types of zones, width * height is returned.
- Added the OnLoadedMapZones event which is called after map_zone.bin is loaded.
    As before, the existing OnLoadMapZones event is triggered before map_zone.bin is loaded.
- forageSystem.init() is called by the new OnLoadedMapZones event instead of OnLoadMapZones.
- forageSystem.integrityCheck() checks whether the original map zone represented by each ForageZone still exists.

- Changed double click behaviour of search mode pins to place items into the current selected player inventory panel if possible
- Adjusted the search mode snow cover penalty limit as snowy weather combination could easily hit the penalty cap
- Fixed an exploit with search focus when spamming the search mode button which could force items to change type
- Fixed a visual issue with search focus trigger after spotting items which caused picked up items to sometimes be the original item

 
[h3]ADMIN/DEBUG[/h3]

- Added Brush Tool for copying, destroying, and building specific Tiles, as well as a Fire, Smoke, and Explosion-Brush. .
    - Controls:
    - Turn on Brush Tool cheat via the Debug Menu -> "Cheats" -> "Brush Tool"..
    - Right-Click on any tile -> "Brush Tool Manager", "Copy tile", "Destroy Tile".
    - When a tile was picked from the Bruth Tool Manager -> keys "[" and "]" for scrolling between tiles.

- Added trigger thunder tool (for admins).
- Added respawn new loot in container by RMC-ContextOption on container button (when LootZed cheat on or isAdmin).

- Changed LootZed manager opening on RMC-ContextOption on container button.
- Allowed admin to create any VHS out of spawned VHS-home (like in debug).
- Added sync for Health panel cheats.
- Trailers debug is improved.
- Small fix to Lua closure.
- Improved spawn vehicle menu.
- Added ability to change weight in Player Stats window.

- Added destroying objects without a sledgehammer if building cheat is on.
- Added sliders for change weight and calories in debug panel.
- Added Step Into, Step Over, and Resume buttons to the Lua debugger.


- Improved ContextMenu
        - Now you can add icons for context options:
                local myOption = context:addOption("My option name", ...)
                myOption.iconTexture = getTexture("media/ui/MyIconForOption.png")

- Added new functions for context: insertOptionAfter(...), insertOptionBefore(...), removeOptionByName(...), getMenuOptionNames(...)
- Improved Debug/Admin options.

- Added new options for doors - Now you can set a building ID for doors and force-lock doors inside buildings.
    - Added Door Options can be found in the Right-Click Context Menu -> Objects.
    - To lock a door inside a building, set a Building Key ID for the door, set Force-Lock to "True" and click "Objects" -> "Door Lock" in the context menu. A key for the door can be spawned via the "Get Key" option.
    
- Added 'make noise' options to attract zombies.
- Added option for removing all zombies in a zone to the Admin tools.
- Added icons in context menu for ADMIN/DEBUG options.
- Added elapsed time since server started in server statistics info.
- Added access to some Admin tools for moderators.
- Added an external anim debug UI for Martin.

- Removed the line "Press Esc to open Admin panel" from Server toolbox UI

Slapdashdoid



Hello all! Afraid this will be a more hastily put together than usual Thursdoid, usual Thursdoid writer is away this week, and we originally planned to do a stable release today.

Last minute, however, literally a couple of hours ago in fact, we concluded that this would be a bad idea not only in the middle of the Steam Survival Sale, but also a big week long and rather huge Spanish streamer event (go check it out!) that heralded some of our biggest Twitch numbers ever (thanks again to Silithur for organizing it!).

Stable releases are always nerve-wracking, but doubled up with the zombie respawn issues that we’ve been struggling with on unstable it just felt like a bad time to throw any dice. We believe those issues are fixed, and have done significant internal testing, however throwing it in front of a huge number of players on stable we can’t be absolutely sure it won’t still cause problems, particularly with mods, so doing a release today under these circumstances seemed a risky endeavour with so many new people being exposed to the game.

As such, we will likely wait until the coming Monday to flip the switch. This gives us a few more days to see if the zombie spawning reports on the unstable branch start to disappear after the fix went live and is probably the safer option, as eager as we are to see the update out and free up the team for bigger commits toward the next update.


[h3]41.73[/h3]

So for those who haven’t dipped their toe into unstable, here’s a few highlights of what to expect:

Optionally see other players from your safehouse / faction on the map.
Lots of extra security and anti-cheat to MP
Lots of improvements to recipes, new foodstuffs, improved containers, expanded recipes.
Improved error reporting for diagnosing mod errors or conflicts.
Lots of map polish, bug fixes, improvements.
Improved MP Admin tools. About ten gazillion bug fixes.


[h3]ADAPTIVE MUSIC[/h3]

Since Formosa UK (formerly Noiseworks) added the adaptive, reactive action music it went down really well. Making the music react to what’s happening on-screen makes a big difference to immersing yourself into what’s going on.

The next stage of this plan is being put into place now, which will involve creating reactive versions of all the other tracks in the game. Not just action ones, but also all the various tracks and ambiences that currently exist.

The idea is to allow for the non-action music to change in intensity from background ambient, to how it currently is now, to a more intense version, depending on what the player is doing. Do they leave their house after being in their house for some time? Maybe the ambient music bumps up a notch. Get into your car in the morning to go out on a looting run? Enter a house to loot? Find a rare item? There are countless little game moments we can tie into a music change, that will just help to make the music feel like its telling part of the story and provide much more variety in the music tracks through play.


[h3]B42 CRAFTING[/h3]

We’ve got a couple of sexy flowcharts from lead crafting crafter Turbo detailing some of the new post-apocalyptic professions that readers can pour over to get an idea of what’s coming in Build 42. We intended to save this stuff until you could see it in-game, but it doesn’t hurt to have a sneak peak.

As shown with the liquid system a few weeks back, actual code-side work on the crafting is still mostly foundational. Getting and expanding systems in there to cater for different ingredients used for the new crafting and make them expandable and more in-depth, adding new properties and new systems to items to allow them to track more detail than just ‘condition’, but also quality and other parameters that will impact how they are used and what the results of their usage is.

Allowing more nuance in spawning items so for example bottles of beer in a convenience store will likely be full, where a bottle in a house may be half empty, empty, or even contain another liquid entirely. Items in general will have more nuanced conditions and qualities, the crafting system being able to operate on nearby crafting stations which affect the results and also what recipes are available to the player.

Also allowing for multi-tile ‘machines’ that will operate as single objects, and allowing for tiles to be connected to cooperate with each other.

A ton of foundational stuff that needs to be in place before the trees that have been designed are implemented, and progress has been good however there is still more to do, which limits what can be shown in videos at this point.

At the moment we have about ten post-apocalypse professions, each with their own crafting tree, various multi tile workstations that are upgradable, and each with many produce that often includes ingredients from other professions, or can feed into other professions.

This image does not expand for spoiler purposes, but is just to give an idea of how in-depth the crafting design is at this point — these trees are only part of the full picture, and we’re still far from done with it:



If we look at, for example, the stone working profession you will see the level of detail we are going into with the new crafting. (please note these are early designs, and will likely be incomplete, and also we still need to balance and figure out the ‘right level of detail’ from playtesting, as we want crafting to be in-depth, cooperative, but not drawn out and too grindy to be enjoyable)



Below is an overview of the stonecutting profession.



As stated before, the goal with the crafting is to be able to produce anything that it would be realistically feasible for characters with those skills to produce, to dip our toe a bit more into the ‘rebuild society’ than we previously did, for the sake of providing a better long-term MP (and SP with NPCs) experience for those who don’t die screaming within the first week.

Players will not be building computers or nuclear reactors, but any of the more primitive to medieval technology that makes sense we hope to be an option. It should be possible to spawn on a blank map with just wilderness and natural resources and have an engaging crafting and community building game, and adding the towns, cities and zombies to the mix will only make that more interesting.

Here’s another example, the bowyer:



As you can see, the goal is that each profession will be involved enough, with enough variety, and also enough interaction with other professions, to make it an interesting experience that a player can focus on within a community. We need to find the right balance between ‘involved’ and ‘not too drawn out’, and also provide mechanisms for SP players to be able to use sandbox to allow them to dabble in professions alone, prior to NPCs, without running into a wall of specialisation limit meaning they can’t function in all the professions required to create any items. And also not make the process of crafting an item so drawn out as to be discouraging players from taking part.

We’ll go into more detail on the professions when they are starting to be implemented, and we’re more sure on the designs working out within the game.

It’s a hard balance to find, and we’ll know more once these recipes and crafting trees get into the game once the systems are in place to accommodate them, and once these go out to the community we can get further feedback to balance the satisfaction vs grind balance of the depth of them.


[h3]FUTURE MP WORK[/h3]

Checking in with the multiplayer team, they have been working on a big refactor of the MP codebase in their ongoing work for moving player inventories to the server. This will pretty much eliminate all inventory cheating.

In addition, they have been working on character creation being moved to the server too, which will forbid clients from cheating with character inventory, skills and perks before the character is added to the server’s database.

We’re also going to be looking into a real anti cheat solution that should reduce the occurrences of cheaters significantly. While anti-cheat can be circumnavigated and its unlikely to get rid of any cheating whatsoever, as we are not a competitive FPS, we hope that there won’t be quite the market for selling cheats for the cheat developers to be as willing to fight in the arms race required, and it will push cheat development above the skill level of most casual cheat makers.

The MP team have also been making further improvements to vehicle syncing in MP, improving collisions and avoiding vehicles clipping into each other.

Liquid Zedball



Haylo survivors.

[h3]41.73 STABLE[/h3]
We have the next patch to the stable branch primed and ready to go, however an issue that our fantastic Unstable beta testers have flagged is keeping it held in its pen for a little longer.

Players reported that some houses they’d cleared were spawning zeds upon booting up the new build, which alerted us to a snag in our map export process not dealing with map boundaries changing with map expansions. All previous map expansions came along with forced save incompatibility so this crept through unnoticed until now.

While it’s an aggravation rather than a save-breaker, we didn’t want to send a build with a known issue out to the masses – and have spent the last few days setting up a fix. This will need some testing, after which we’ll be looking to pump out the latest version next week.

If you’re interested in the changelist, or want to jump in to try it out, then you can find the unstable release notes for 41.72 and 41.73 behind the hotlinks.


[h3]42 CONTENT[/h3]
One of the focus points of Build 42 is on extended survival in the months and years beyond the initial Knox Event outbreak.

For this, we are revamping our crafting system – and Turbo’s role has been in laying new foundations for a set-up that allows for: crafted items that have more RPG-like variable attributes based on the crafter’s skill, stats of input items that are reflected in the attributes of a final output item, and the ability of the game itself to recognise all these different attributes when an item is being passed between all of its various different locations and systems.

The next stage of this work, meanwhile, has been in taking this same sort of mentality to the liquids in the game – and also making them ever more interesting in our new crafting set-up.


[h3]WET STUFF[/h3]
Let’s start with a video, and then move into some explanation.

[previewyoutube][/previewyoutube]

So what exactly does this mean for the water, paint, gas, alcohol, washing detergent and bleach of the Knox Event?

Essentially all fluids will be defined and stored in a global registry, which is where we as devs can add new vanilla liquids – but also will make the system very moddable.

Each definition will store basic info such as ID, name, colour etc – then has different categories it can belong to like Beverage, Alcoholic, Fuel, Flammable and such. Beyond that we also tie in properties per litre of this particular fluid: for example Carbs, Proteins, Alcohol percentage or Energy if it’s a flammable fuel.

Liquids that are hazardous or poisonous can also have modifiers that configure the maximum poison effect, and how the effect behaves when mixed.

So yes, we’re going to have the most realistic bleach-drinking ever seen in gaming.


[h3]CONTAINERS[/h3]



Containers are the coding class that actually store the fluids, and are the way in which the game code interacts with the above definitions.

Inventory items, objects found in the world and vehicles will all have a fluid container – which will allow them to store and use the liquids/fuels/whatever that they contain. Each container also has information stored with it that shows what particular fluids have been mixed in, and their content percentages relative to each other.

The system calculates and caches the summary of all the containing fluids properties based on their percentages. So, if you add 80% Soda and 20% pure alcohol the mixture fluid in the container will have 80% of the soda’s carbs, proteins etc and 20% alcohol. Then, when transferred again, the right ratios will still be maintained.


[h3]USAGE[/h3]
Finally, we hear you cry, cocktail mixing will be a part of the apocalypse!

Yes, but also consider the applications this will bring to post-apocalyptic crafting – as well as to more basic stuff like mixing paints to create different colours, providing different fuels and different ways to tamper with said fuels.

Certain versions of our planned workstations, say one for brewing, could have one or more ‘fluidcontainers’ attached – while also allowing other ingredients as item inputs. Likewise we can have recipes that require more precise mixing and concentrations should we desire it.



The system does retain some control over your George’s Marvellous Medicine creations. We can put limits around what can, and cannot, be mixed – however we’re not 100% on how many limitations we will put on things right now. This will probably come through testing later down the line.

Unrestricted mixing would mean, for example, that any Fluid can be mixed with Fuel, which would mean that the energy value property per litre would go down when mixed, and that anything using the fuel such as a car or generator would have its operation and potential damage governed by the sort of fuel that had been put in.

The ability to recognise tampered fuel, poison etc. would (as usual) be gated behind the game’s professions – so a mechanic might smell something suspicious with watered down gas, or a chef might spot something odd with a mild concentration of something nasty in a bottle of juice.

When it comes to poisonous liquids, each has a maximum effect (mild, medium, severe, deadly etc) and control parameters such as a minimum volume and mix ratio. So, if a poison has max effect ‘deadly’ and the minimum amount required for death is 200ml – and you have 100ml mixed into a bottle – then the final effect when drinking will most likely be a medium poisoning.

The new system will also add new depth to such things as filling up a vehicle with gas, or siphoning gas from a car’s tank – but we’ll also retain the game’s current quick context options like “fill bottle from tap” to keep things speedy.


[h3]HUTCHES[/h3]
Domestic and wild animals, albeit with fairly basic AI brains, will also be a part of Build 42 – and we have already shown our cows, sheep and deer. A fairly realistic take on poultry-keeping will also be part of this.

Please note the following UI is super WIP! We may well end up with icons instead of the 3D chickens.



Based on our own experiences with keeping chickens – if you have a henhouse you will have to close its door every night after your brood have gone in to roost. Otherwise there’s a very real chance of Fantastic Mister Fox paying a visit and stealing a few, and potentially leave others dead in their pen.

You’d be advised not to forget to let your hens back out in the morning either – for fear of them losing their condition, and adding to the mess in the henhouse that will need cleaning out.

Hens will also enter the nesting boxes within the henhouse to lay their eggs, and from which you’ll have to collect the eggs on a regular basis – if you haven’t collected recently then hens will choose to lay outside in their pen instead, where there’s an added risk of them being eaten by wild animals or going bad.


[h3]OTHER STUFF[/h3]
While we’re going in DEEP (as is generally our way) on stuff like the above – Build 42 will also feature all manner of other improvements to the game engine, MP systems and general zombie survival and early game stuff too. So don’t fret too much if aspects of the above don’t exactly match your own play-style.

It should also be said that it’s still some ways off – partly because of dev illness (and recovery!) that we’ve discussed before, and partly because a proportion of the team are still maintaining and improving Build 41.

From now on you’ll likely notice the changelist of 41 patches shrink a little, as team members are taken off 41 and plugged into work on features within the 42 matrix.


[h3]JOB AD AGAIN[/h3]
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!

This week’s forlorn firemen from OtakuYazawa. A changelist of all our pre-release and post-release patches since the 41 beta began can be found here. The 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.