1. Project Zomboid
  2. News

Project Zomboid News

41.72 UNSTABLE Released



[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.

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

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.

Added new loot maps from Pat Bren.
Split the single Louisville map-item into nine separate maps.
Added Louisville maps to the loot tables.

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.


[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, not including new areas being worked on. 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.


[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


[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 wholes 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 IGUI_PlayerText_CanNotExitFromMovingCar string is not used now.
- 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

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 modified file errors
Added list of mods in Pause menu + this list shows mods that cause 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.


[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


[h3]FIXES[/h3]
Fixed radio batteries spawning at 100% charge no matter how much time has passed. They should be depleted after about 4-5 days.
Fixed radio batteries sometimes not draining after loading a game after quitting to the main menu.
Fixed Weapon-part models (for scopes, etc) not being displayed for weapons on the ground.
Fixed ability to disassemble the floor at the top of a staircase. It was already forbidden to destroy such a floor using a sledgehammer.
Fixed the composter becoming unusable after moving it.
Fixed being able to move a composter if it has compost in it.
Fixed food unhappiness being reset to the default value when loading the item, when it was set to zero after being cooked.
Fixed clothing dryers and washers not consuming fuel from generators.
- Fixed generator fuel consumption not being updated properly when turning things on and off.
Fixed picking up and placing powered objects not updating generator fuel consumption.
Fixed battery-powered radios consuming generator fuel.
Fixed requiring 2 or more units of gas in a can to refill a generator, rather than 1 or more.
Fixed playing VehicleAddFuel instead of GeneratorAddFuel when refilling a generator.
Fixed opening a smashed window when holding down the E key, when a vehicle blocks the other side.
Fixed "Grabbing XYZ" appearing in the crafting UI when putting items back into containers.
Fixed IsoGenerator.setSurroundingElectricity() calling IsoObject.checkHaveElectricity() before each chunk's list of active generators was updated.
Fixed exterior doors and windows not playing ambient sounds if they are on the west or north edge of a chunk but the adjacent chunk hasn't been loaded yet.
Fixed VehicleAmbiance stopping immediately after starting sometimes.
- Fixed some object ambient sounds that don't use the Generator parameter stopping immediately after starting.
Fixed Base.BareHands.HitFloorSound. It was trying to play the non-existent default BatOnFloor sound.
Fixed hot food not cooling down when placed on the ground.
Fixed incorrect weights of weapons with upgrade parts.
Fixed equipping an already-equipped item causing the item to drop on the ground when the player's inventory is near 50.
Fixed hearing rain hitting a vehicle when the vehicle is inside a building.
Fixed ambient sound playing at "outside" volume when inside a vehicle that is inside a building.
Fixed ISVehicleMechanics.OnMechanicActionDone() calling undefined noise() function.
Fixed Lua errors on the Steam Deck after disabling the "Steam Virtual Gamepad" in the controller options UI.
Fixed not being able to upgrade wall frames or walls when there is no floor to the east or south of the wall.
Fixed incorrect math applying a model's "world" attachment when displaying an item on the ground.
Fixed MagazineGround and MagazineOpenGround models appearing off-center when on the ground.
Fixed and adjusted many model "world" attachments.
Fixed bug when character weight does not decrease if day length > 1 hour
Fixed equipped radios only updating for one splitscreen player.
Fixed stacking of military crates and the popcorn machine.
Fixed the freeze the first time a vehicle is entered. This was due to loading all the vehicle-dashboard textures.
Fixed "Min= Max= Default=" not being displayed in server-option tooltips as is done for sandbox options.
Fixed accidental change of Muldraugh map bounds to Louisville area.
Fixed mapper-placed open doors not being IsoDoor objects. There are some open doors at the Louisville stables that couldn't be interacted with.
Fixed each part of a double door being randomly locked or unlocked on creation. Now they are always unlocked.
Fixed the wrong type of item being returned when the foraging "search focus" causes an existing item to change type. There is still an issue where an already-seen item may change type by spamming the End key.
Fixed ISForageIcon.lua overriding ISBaseIcon.checkIsForageable() by mistake.
Fixed (again) incorrect placement of the foraging pin icon over the item icon. ISBaseIcon.textureCenter is no longer used after this change.
Fixed the animation played when filling Bourbon and Wine bottles.
Fixed bunker tiles cutaways.
Fixed blood appearing on destroyed windows.an destroyed fences.
Fixed holding SHIFT made weight decrease faster.
Fixed holding SHIFT without moving having the same impact as running on hunger.
Fixed sitting on a chair giving a different endurance regen than sitting on ground.
Fixed car's engine not taking damage when running over zombies when the hood was removed by player.
Fixed not losing endurance when stomping zombies in the legs.
Fixed more cases where indoor zombies can spawn in inaccessible locations.
Fixed picking up and placing WallOverlay movables (like mirrors) on the east and south edge of a square.
Fixed LuaClosure.toString2() exception when a function has no filename. This includes everything in the built-in stdlib.lua code.
Fixed missing tile properties on the Public Garbage Bin (and added translation).
Fixed the Small Crate (found in Greene's Grocery) not being stackable.
Fixed police cars at blockades with their headlights and flashers on not spawning with the battery drained according to the amount of time that's passed.
Fixed the properties on some new stove sprites. They became IsoThumpable instead of IsoStove.
Fixed weapon parts not appearing on equipped weapons on corpses or on the character-info avatar.
Fixed stepping over a Lua function in the debugger that adds a UI element adding the UI element in the debugger instead of in the game.
Fixed the Lua debugger not handling changes to screen resolution.
Fixed bug in vehicle skin editor in SP.
Fixed bug with fast transfer leaving item in inventory after crafting (for example stacked logs).
Fixed tile properties on a stair railing creating invisible walls.
Fixed CornerNorthWall and CornerWestWall not having tile properties.
Fixed zombies only playing their Hurt sound one time when hit on the ground.
Fixed spear-charge zombie kills not being counted.
Fixed the container highlight color not being displayed for painted crates.
Fixed not being able to sleep on brown picnic table.
Fixed Spiffo's green arrow requiring farming skill to be picked up.
Fixed some desks that couldn't be picked up.
Fixed some office whiteboards that couldn't be picked up.
Fixed (again) aspects of Composter sprites as RJ BROKE EVERYTHING.
Fixed bug when generator can charge vehicle battery.
Fixed water containers not getting fully emptied when watering crops.
Fixed clicking "Health icon" while Health Panel info is open adding spaces in the bottom of the text.
Fixed players being able to start changing parts of vehicles when inside a certain vehicle.
Fixed Dirty Rags being used to build a Log Wall when there are exactly 4 Ripped Sheets in inventory.
Fixed missing translation for new movable Medical Desk.
Fixed bug with rip clothing menu.
Fixed bug with double checking fishing net.
Fixed being able to dismantle favorited Electronics.
Fixed bug player not takeing nearest item in inventory for smoking.
Fixed character info panel showing male player model when the character was female.
Fixed zombies colliding with the player's vehicle when walking into a different, nearby vehicle. This only affects singleplayer.
Fixed debug rendering of vehicle trailer positions. Only one of the two locations was drawn in red when obstructed.
Fixed radios with dead batteries still being turned on.
Fixed missing space after the water amount in the farming tooltip
Fixed the animation speed of the wind effect on water being faster at higher framerates.
Fixed fog from a previous game appearing briefly when loading a different game.
Fixed the character Info and Protection panels displaying no help text when the "i" button in the titlebar is pressed. These two panels have no translations, so the help dialog is now hidden when either is displayed.
Fixed the character-info-window help dialog not resizing to match the height of the text.
Fixed ISAdminPanelUI.updateButtons() overwriting self.climateOptionsBtn and self.showStatisticsBtn.
Fixed the 'pinned' state of the character-info window not being preserved.
Fixed the 'pinned' and 'visible' states of the forage ui not being preserved.
Fixed flashlights no longer falling out of hands when climbing over walls
Fixed lack of shoveling sound when filling in graves.
Fixed being unable to dismantle Electronics with a favorited Screwdriver.
Fixed Flashlights falling out of hands when climbing over walls.
Fixed dried foods and Ramen noodles transferring their thirst values when used in evolved recipes.
Fixed granola bars and cookies being perishable.
Fixed missing fruit cocktail item.
Fixed items being used in evolved recipes not having their thirst values reduced.
Fixed Pancakes being unable to be burnt.
Fixed evolved recipe tooltip displaying uncooked icons for cooked ingredients.
Fixed partially eaten food not getting lighter in some circumstances.
Fixed cutting Bacon Rashers into Bacon Bits producing rotten Bacon Bits.
Fixed the names used for ingredients in evolved recipe names to be shorter.
Fixed the junk tables entries in the loot distribution tables being affected by zombie population density.
Fixed PiePrep not having a debuff.
Fixed Ice Cream Cones now melt and produce a Melted Ice Cream Cone item.
Fixed added several missing models.
Fixed renamed items are now limited to a new name of 28 characters or less.
Fixed Display Category for the PetrolBleachBottle and PetrolPopBottle items
Fixed missing models for Muffin Tray, Carving Fork, Gravy, Gravy Mix, Spatula, Teacup, Baloney Slices, Salami, Salami Slices and Snack Cakes
Fixed renamed items being able to have new names of more than 28 characters
Fixed animal-in-trap sounds not being sent from the server. Currently this only happens every 10 minutes so they're easy to miss.
Fixed music not restarting after creating a new character in-game.
Fixed missing PikeRotten.png and PikeCookedRotten.png - which is currently unused. Food models are rendered as Cooked or Rotten but not both.
Fixed not being able to navigate out of the Sandbox options preset panel with D-pad left and right.
Fixed previously-loaded buildings possibly being randomized (burned down, etc) after a server soft reset. This could happen any time map_meta.bin was deleted since that is where the "has this building been checked before" flag is kept. Now, a building will only be randomized if it hasn't been checked before and if at least one of the chunks covered by the building was loaded for the first time.
Fixed the custom weight of trapped animals not being preserved.
Fixed inaccurate weights for partially eaten food items with custom weights.
Fixed renamed items not being limited to a new name of 28 characters or less.
Fixed accurate weights for partially eaten food items with custom weights.
Fixed claustrophobic characters being able sleep in small rooms by right-clicking the bed from outside the room.
Fixed two-way radios installed in vehicles not transmitting text chat; needs testing for VOIP.
Fixed vehicles with premium radios installed not being able to play CDs in them.
Fixed Gravy Boat, Baloney Slices, Salami, Salami Slices and Snack Cakes models.
Fixed missing models for Muffin Tray, Carving Fork, Gravy, Gravy Mix, Spatula, Teacup, Baloney Slices, Salami, Salami Slices and Snack Cakes.
Fixed missing Sport T-shirt icons.
Fixed missing tooltip explaining that to purify some water containers, a microwave must be used.
Fixed error with Baguettes being unable to be used to make sandwiches.
Fixed missing add-all option in the fill menu for Generators.
Fixed not being able to equip a weapon as secondary when a handgun is equipped as primary.
Fixed Sweet Pies being unavailable in the crafting UI.

[h3]CODE / ENGINE[/h3]
Changed ZomboidFileSystem.getGameModeCacheDir() to not append a trailing File.separator.
Most callers of getGameModeCacheDir() already appended a File.separator, resulting in two separator characters. These duplicate separators didn't seem to hurt anything.

41.72 Unstable

Today we are releasing version 41.72 to the Unstable beta.

If you need directions to this, then here’s a handy gif!



As always with the Unstable beta – be aware that some mods might break.

We don’t anticipate a huge amount of disruption with 41.72, but should any of your workshop mods become non-operational then please inform the relevant creators – and be patient while they find the time to update their wares. They have jobs / families / lives too!

So what’s in 41.72? Well the changelist can be found here on our forums, and there’s a lot of small tweaks and fixes to scroll through, but we’ll detail the main stuff here also.

It’s always HUGELY helpful for us when people, and server owners, jump over to the unstable beta – so please dive in and let us know how you find it.

[h3]41.72[/h3]
Lots of general stability and security work has gone into MP – and specifically work on vehicles when you are driving alongside (or are a passenger sitting next to) players with far higher or lower pings than your good self.
The first of several layers of polish to the game’s food and recipes. New foodstuffs, improved containers, expanded recipes and all manner of different things to put together to feed yourself and your doomed friends. Various elements of balance too and, as mentioned before, no more footballs that can be jammed into a toaster.
Fellow co-op, faction and safehouse member positions can now be seen on your in-game map should you choose to enable it.


An improvement to the way in which mod errors are reported. A list of mods has been added to the pause menu, and whenever one is erroring out then it’ll be flagged within the list. This is going in alongside an improved lua error log that shows whether any files reported in call stacks are being overridden by mods. This should help modders and our support teams no end.
The game’s foraging system will now understand polygonal foraging zones on the map, rather than rely on its former basic rectangular brain. This should help with decreasing the amount of non-forageable spaces on the map.
A slight tweak to zed pathfinding, which means zombies targeting players have a higher priority in the game code than those shambling around more aimlessly.
The final large map export that we’ll be doing before Build 42, most likely. This is primarily to fix user reported map bugs, but also contains improved farmsteads, scarecrows (that might be bugged and appear as mannequins currently – sorry) and improved Louisville upper class districts.


Alongside the above there are various new tiles going into the game: including baby cribs, heavy factory machinery, standing floor lamps, farm related tiles, ATM machines, heavy safes, medical related tiles, and car wash tiles.


For MP: new admin powers and tools – for example a brush tool that will allow server chiefs to create tiles, walls, fire, smoke, water etc. in-game. Also: a thunder trigger, better synced health panels, improved vehicle/trailer spawning, player weight changing and heightened control over zombie movement, zed spawning and locked doors.
[previewyoutube][/previewyoutube]

New loot maps for Louisville – which previously didn’t have any. There are nine different maps in all, due to the size of LV, which all unlock the area they show in your in-game map – alongside a wide range of different survivor ‘treasure map’ annotations.
A smidgen of improvement to corpses. More of these will now be ‘fake dead’ zombies, alongside improvement to their rotting – such as the chance of spawning maggots in their inventory and on the floor around them. Handy for fishing!
Polish to player emotes and idles. Better representation of weapon-part upgrades. Generator/battery improvements. New action music track. Fixed blood appearing on destroyed objects, and about a million other fixes – best to check the changelist!


[h3]JOBZ[/h3]

While we have your attention: another quick flag to the fact that we are back on the hunt for an Animations Engineer / Technical Wizard.

This will most likely be 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 exciting and no doubt doom-laden story-via-map from Athiuk! 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.

Oh, and Spanish-speaking community! Be aware of a biiiig PZ streaming event on Twitch starting this Sunday, hosted by @EscocesSL. Spiffo hopes everyone has fun!

Migration vs Craft



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.


[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.



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]



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 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 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.

Project Zomboid mod is Disco Elysium but it's the apocalypse




We love a bit of Disco Elysium here at PCG towers, with the game's Final Cut edition currently standing tall at #1 in our list of the best games on PC. Another game we're big fans of is Project Zomboid, which has slowly but steadily amassed a sizeable and creative community over years of excellent developer support. You can probably tell where this is going...
Read more.

BaZil Brush



Hey all, here’s a quick update on what we are all up to.

Our initial plan was to release our next 41.72 patch to the Unstable beta today, but annoyingly last night’s internal playtest had too many niggles with vehicle gameplay for us to comfortably let you loose on it.

This is slightly annoying in terms of today’s blog, but probably not quite as annoying as you happily downloading the new version only for MP passengers to be stuck revving on the tarmac while their drivers whizz off towards Louisville.

Still, once the MP Strike Force have checked everything out and we’ve had another (more successful) test then this is some of the stuff that will be punted out for you to try out:

  • As mentioned in the last blog, the opt-in ability to see fellow MP players in your faction or safehouse on your in-game map.
  • A huge range of new and improved admin powers that should breathe a little more life into online play. First and foremost of these is a brush tool that will allow admins to create tiles, walls, fire, smoke, water etc. in-game.

    There’s also the ability to easily trigger thunder, a more synced health panel, improved spawning of vehicles and trailers and the ability to change player weights. Also, also are more zombie-attracting options, improved zed spawns and some powers over whether doors are locked or not.

    Here’s a quick video Aiteron has made to show it all off:
    [previewyoutube][/previewyoutube]
  • Another more minor, but quite pleasant all the same, addition from Aiteron is the possibility of adding icons to the context menu. As seen here.



  • New loot maps. Previously we didn’t have any loot maps for Louisville, but Tim has now integrated a bunch from the hand of Pat_Bren into the loot table. There are nine different maps in all, which means that as well as the usual ‘treasure map’ aspects you will be able to reveal a ninth of the Louisville map upon reading them.


  • Also of note in .72 is an improvement to the way in which mod errors are reported. We have added a list of mods to the pause menu, and if one of them is causing errors and ‘the red box of doom’ then the culprit will be highlighted within the list.
  • Perhaps of greater import to mod authors and our tech support team, however, is the improved lua error log that goes with the above: this will show if any files reported in call stacks are overridden by mods. We hope that this will allow modders, players and our own community liaison peeps to easier find mod conflicts and other issues.



[h3]SWEAT THE SMALL STUFF[/h3]
While it’s not exactly excitement dynamite, we know, this week we hit a point at which our internal tasklist board got a bit… silly. When you have been making a game for as long as we have there is a tendency for minor tasks, small bug fixes and ‘easy win’ suggestions to stack up, and up, and up…

The boards were just clogged, and it was hard to see the wood for the trees – and as such we pulled some coders from their features to blitz through and give our testing and production staff some temporary relief. Not sexy: we know, but also necessary for the sanity of some of our team.

This sort of stuff:


Having made a sizable dent in this sort of bug, everyone is now back at their usual post – but ‘Enforced Small Task Clearance Week’ also culminated in an event that will hopefully mean that we don’t have to have one of these mandated periods again in future.

Prolific modder Blair Algol has joined the team, and his role will be clearing out as many of the remaining hundreds (!) of these minor (but sometimes time-consuming) issues as he can.

Blair’s many mods touch so many different areas of the game that it seemed like a very natural fit for such a duty, while he also, of course, comes packaged with many ideas of how to make modding life easier for others in the community too.

Once the boards have been cleared, and Blair has a firmer grip on the codebase, it’s also our hope that he will be able to bring some of his own ideas and ingenuity into the game proper.


[h3]SOUND PHASE III[/h3]
Much like the Marvel movies, our soundscape improvement operations have worked in phases – and we recently had the meeting that kicked off Phase 3. The following are Noiseworks/Formosa’s next primary missions:

  • Improvements to how the sound system deals with multiplayer characters and sound priorities. Primary work here is to try and solve the issues where sounds drop out due to clashes in sound priorities and limits when multiple players are around.
  • Expand the reactive music beyond action moments. The ultimate goal is to allow the other non-action tracks to evolve and change: triggered by walking into buildings, looting a container, or any other little action that may trigger a change in the track that’s playing. Likewise making sure that they all also blend more organically between each other.
  • Gameplay related sound effects, like modelling the realistic effects of using firearms in enclosed spaces without ear protectors. Also: improved noises for large crowds of zeds, sprinters and bullet world impacts if the coding team can provide their support for implementation.



[h3]OTHER STUFF[/h3]
We are currently debating whether to release the map team’s current work (fixes, polish, improved farm buildings and agricultural areas, more defined Louisville upper class suburbs) in a 41 patch, or whether to outright say that the next export will be for 42 later down the line – alongside some sizable planned expansion into other towns and conurbations that would be beyond the edges of our current area. More on that, and where we are taking the Knox Event location-wise, in future blogs.

As we mentioned last time, we’re coming off the back of Turbo’s serious illness currently – so it’s been something of a month of consolidation rather than massive exciting strides ahead.

That said, sometimes strides ahead come in the form of things that will pay off in the far-flung future. Ever since the success of the 41 release we have had a lot more resources at our command, and have been able to invest it in both middleware that could bring PZ to new heights – and the talent to integrate it with our codebase.

As we all know, one of the weakest things about PZ is the UI. We all get on with it fine, but let’s face it: it aint a looker, and it can be a bit clunky, fiddly and slow. We’ve always said we’d give it an overhaul, but it’s always been a daunting prospect.

Since March, alongside our friends at General Arcade, we have been experimenting with some super fancy AAA high-end UI tech middleware that will make this process easier, and will make the end result better.

For the past few months we’ve been making sure that it’s compatible with the game, doesn’t negatively impact performance and will still allow for lua UI for our modders – and it has been this week that we feel comfortable enough to say out loud to each other that it’s going to work, and is safe to proceed.

So next time you see someone moaning that the PZ UI isn’t exactly glamorous – just tell them ‘they know, and it’ll take a while – but they’re working on it’. It’ll be some considerable time till we talk about this again, but we just wanted to let you know that this is another iron that we have in the fire.


Today’s pile-up campfire from Mr.Crab763. 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. Want to work with us? Details here.