1. Project Zomboid
  2. News

Project Zomboid News

41.71 - Released

41.71 compiled changelist


(Includes changes from builds 41.69 to 41.71 from the unstable branch.)


[h3]NEW[/h3]
New action music system
Instead of switching between tracks mid-combat, the music is reactive and can increase and decrease in intensity during combat and other dramatic moments.

Added "Stubble" checkboxes to the Hair and Beard sections in the character-creation ui.
Added new items + updated 3D models
Added new forage items

Added the skeleton mannequin and scarecrow.
Added additional item categories and addressed some blunders
Added compilation of new hair types
Added option to "add all" to partially full Thread, Duct Tape, Twine etc
Added media/scripts/mannequins.txt which describes the model/texture/animation/etc for different mannequins.
Added BackupsOnVersionChange server option.

Added a second set of translations to the Survival Guide that are displayed when using a controller.
Added formatting to rich text, where XXX is the name of a Joypad.Texture.XXX texture.
Device options can now be opened when radio is on floor, in loot window or when radio just dropped from inventory

Added methods Texture.saveToCurrentSavefileDirectory(filename) and Texture.saveToZomboidDirectory(filename).
The filename may contain folder names, but not "..", to prevent saving to arbitrary locations.
These methods replace the broken Texture.save(filename) method.

Clicking and holding the left mouse button when placing items now locks the item to the clicked square.

Added XBOX_Menu.png and XBOX_View.png controller icons.
Added autouse new sack of gravel/sand/etc when pouring it on ground
Renamed Skill books so that they are easier to categorise.
ISClothingExtraAction now sets the item's job type to "Wear" and displays the progress of the action in the inventory window.
Updated credits
Updated community translations.

3D items now shown as textures instead of models. They shouldn't slide around as much when the player moves.
This helps a lot with framerates when there are 100 nails on the ground, for example.
In debug mode, holding the HOME key will disable the item atlas and render models as before.
Added IsoSprite.ItemHeight and IsoSprite.Surface debug options to display a rectangle around surfaces that items can be placed on.
Changed some ItemHeight and Surface tile properties.
Added a title bar to the mini-map window which allows the mini-map to be repositioned. The title bar and bottom row of buttons are hidden unless the mouse is over the mini-map.
Changed setHaveConstruction to apply only when constructing and placing objects


[h3]MODELS/ANIMS[/h3]
Changed Diamond Pattern Sweater Vest and V-neck Sweater Vest to use Sweater body location
Changed High Viz vest to use Sweater body location
Added a different animation played when destroying floors with a sledgehammer.


[h3]MP[/h3]
Removed vehicle physics from server (not client) to address some of the vehicular weirdness sometimes seen online
do not apply impulses to static / kinematic vehicles
limit changes of linear and angular velocities
Passengers no longer allowed to exit the car while moving

Enable packet processing on the server
MultiplayerSeeNonPvpZones debug only option is added

Local admin check is delayed after set-access-level command
Player update replay is commented out
Check for local admin kick is improved
Turn on player teleport logs on the server
Admin is not kickable from safehouse

Burnt or smashed vehicle check is added for dismantle vehicle command
Car wreck is removed via new "dismantle" vehicle command
Only admin can delete vehicle via "remove" vehicle command
Add vehicle UI allows creation of burnt and smashed car wrecks

Anti-cheat: fixed kick local admin issue
Cancel auth ticket on client shutdown

Toggle timer is disabled in non-pvp area

MultiplayerLightAmbient debug option is removed

Refactored SafetySystem
Server option process cycles for SafetySystemManager are simplified
PVP safety is now set to true when PVP is disabled on server
Set the default Host server memory to 4GB on 64-bit systems. This is the value displayed in the "Server memory" combobox which is saved in Zomboid/Lua/host.ini.
Don't create a backup of the server savefile in Zomboid/backups/version if BackupsOnStart=false. This backup is created when a new version of the game is released, but only for the first server that is launched.
Hide the black overlay when the sleeping players are killed

Improvements to how the MP game handles dead player bodies
DeadBody creation is moved to the server
DeadBody ID is added (World version 192)
Client does not allocate dead body ID

Fixed player death animations
Fixed desaturation being set for dead player
Fixed reanimation delay timer starting immediately without 10 seconds delay
Fixed reanimation delay of 0-30 seconds
Fixed player death final animation
Fixed possible null point exception when zombie bites dead player
Fixed dead body grabbing breaking reanimation
Fixed dead body id not changing when added to world
Fixed desync of safety cooldown timer
Fixed sleeping player not being woken up in case of kick from safehouse
Fixed PVP icon being located over the map
Fixed players who could be kicked when admin removes that player from safehouse
Fixed when a non-owner player quits a safe house, other players also getting kicked.
Fixed when safehouse owner goes offline, the non-safehouse-members get teleported immediately
Fixed PVP button becoming inactive for each player across the map if Admin shot\got shot by a player"
Fixed player being kicked when admin creates or removes PVP zone
Fixed SyncNonPvpZone packet send/receive loop
Fixed newly connected player not having all the non PVP zones
Fixed possible nullpointer in checkForNearbyRadios
Fixed zed texture 4 being used for player texture 5 instead of random index
Fixed reanimated player corpse disappearing
Fixed being able to turn pvp on when server option PVP set to false.
Fixed BufferUnderflowException on the server in SneezeCough packet processing
Fixed possible NullPointerException in ClientPlayerDB.getAllSavedPlayers().
Fixed player appearance sync in multiplayer with greater than 32 connections.
Fixed erosion growth not being suppressed when building floors or digging graves in multiplayer.
Fixed radio sync in MP
Fixed players outside the Non-PVP zone being able to kill a player with a bomb located in that zone
Fixed player being able to remove PVP button cooldown in non-PVP zone
Fixed unexpected anti-cheat kick just after leaving non-PVP zone
Fixed being able to turn pvp on when server option PVP is set to false.
Fixed player being able to remove PVP button cooldown when in a non-PVP zone. (Safety cooldown timer is now stored/restored when player enters/leaves non-pvp-zone)

VHS Fix
Fixed listened-to media lines being saved globally instead of for each player. This could add over 200KB to each player's saved data if every line is listened to.
Fixed ClientPlayerDB handling of WorldVersion.
Transfer known media lines from recorded_media.bin to the player on the first load.
Check for null arguments to RecordedMedia.hasListenedToAll(). A mod seems to pass null for the IsoPlayer argument, which was ok when listened-to lines were stored globally instead of per-player.
The mod file is es.info.books.main.lua.

MODDER WARNING: This could break any mods that modify ISRadioInteractions.lua or are using the OnDeviceText event (which gained a new parameter).


[h3]MODDING[/h3]
Fixed mod animations not being loaded if they aren't in a subdirectory of anims_X, or aren't in a subdirectory registered in animations_meshes.txt. Any such animations are added to the MaleBody model by default.

Item tagging changes

MODDERS: PLEASE READ ADDENDUM DOCUMENTATION FOR INFO


Added new tags to some items: BlowTorch, Fork, GasMask, Glue, HazmatSuit, Knife, Razor, Scissors, Sledgehammer, Spoon, StartFire, WeldingMask. These tags are used in multiple places instead of looking for specific item types.
Added methods ItemContainer.getBestConditionEvalArg() and ItemContainer.getBestConditionEvalArgRecurse().

Script properties item.staticModel and item.worldStaticModel are set to the fully-qualified "module.type" after loading scripts. This is to fix mod items not finding "model" scripts that aren't in the Base module.

Added a new item-script property ReplaceTypes which supersedes ReplaceOnUseOn (which is still supported).
The format is "ReplaceTypes=Key1 Type1;Key2 Type2;..." where each key is some string (such as WaterSource) and each type is an item type.
ReplaceTypes allows specifying different replacement item types for different uses of an item, for example, filling an empty item with water and/or with gasoline.
It is used for the same thing as ReplaceOnUseOn, but allows multiple key/type mappings instead of only one.
These new methods were added to both Item and InventoryItem classes:
String getReplaceType()
HashMap getReplaceTypes()
String getReplaceType(String key)
boolean hasReplaceType(String key)
The existing ReplaceOnUseOn lines in items.txt add a new value to the item's ReplaceTypes HashMap.


[h3]SOUND CHANGES[/h3]
Added global parameters Electricity, RoomType, and Water.
Added a new tile property named "AmbientSound" to support custom ambient sounds from objects. Current values assigned to some tiles are:
FactoryMachineAmbiance
HotdogMachineAmbiance
PayPhoneAmbiance
StreetLightAmbiance
NeonLightAmbiance
NeonSignAmbiance
JukeboxAmbiance
ControlStationAmbiance
ClockAmbiance
GasPumpAmbiance
LightBulbAmbiance

The FMOD global parameter "Electricity" is set to 0.0 when the new WorldEventElectricityShutdown event passes the "ElectricityOff" timeline marker.
Added FMOD parameter value RoomType=Factory.
Changed debugSetRoomType() to accept an integer instead of the name of an enum value.

Added sounds:
ArcadeMachineAmbiance
CanisterAddFuelFromGasPump
CanisterAddFuelSiphon
VehicleAddFuelFromCanister
VehicleAddFuelFromGasPump
VehicleHeadlightsOn
VehicleHeadlightsOff
VehicleWindowHandleOpen
VehicleWindowHandleClose
VehicleWindowElectricOpen
VehicleWindowElectricClose

Synchronize room lights and other objects losing power with the ElectricityOff timeline marker.
Added PlaceOneSound and PlaceMultipleSound item script properties.
These are played when placing items using the "Place Item" command.
The default sound played if these aren't defined is PutItemInBag (the same sound played when dropping items).

Added BoxOfRoundsOpenOne and BoxOfShellsOpenOne sounds to some recipes.
Increased the time of these recipes to allow the sound to play. The time is still quite short (was 5 ticks, now 15 ticks). Probably nobody will die waiting.

Added FountainBigAmbiance sound played to the multi-tile water fountain.
The sound doesn't seem to loop and stops after several seconds.

Added RepairWithWrench sound played when plumbing sinks and for the moveables Wrench tool sound.
Added value MetalGate to the FenceTypeLow and TripObstacleType parameters.

Added sounds:
BBQPropaneTankInsert
BBQPropaneTankRemove
BBQPropaneRunning
BBQRegularAddFuel
BBQRegularLight
BBQRegularRunning
CampfireAddFuel
CampfireRunning
CampfireLight
CampfireBuild
FireplaceAddFuel
FireplaceRunning
FireplaceLight
ZombieTrip
ZombieThumpGarageDoor

Added EquippedBaggageContainer FMOD parameter.
Added "SoundParameter = Name Value" item-script property.
Added FMOD parameter SinkType=Generic|Ceramic|Metallic which affects the WaterDrip sound.

Hitting trees with weapons and bare hands plays the weapon's HitSound instead of ChopTree.
A melee weapon's SwingSound is now played via animation events instead of at the start of SwipeStatePlayer.
This allows using different sounds for different attack animations.
Currently this is used to play a different sound for spear stab versus spear slash attacks.

Play the WorldEventElectricityShutdown event from the nearest square in a building when outdoors.
Set the FMOD parameter "RoomType" using RoomType objects added in WorldEd.

Changed how ambient sounds are played from doors and windows.
Instead of choosing random objects, only the nearest exterior objects will play sound.
Different sounds are played depending on whether the door or window is open or closed.
This will be used for playing rain and wind sounds when the player is inside.

Fixed the BurningFlesh sound not stopping in multiplayer after a player dies.
Fixed the barbecue and fireplace extinguish sounds stopping instead of being triggered to fade out.
Play an animation when turning a propane barbecue on and off.
Fixed crouching when extinguishing a charcoal barbecue.
Fixed SFX and music cutting out in busy situations (often seen on MP servers)
Reimplemented ZombieVocalsManager to limit zombie voice events to the nearest 20 zombies.
Optimized sorting objects in DoorAndWindowEmitters and ZombieVocalsManager.
Changed handling of object ambient sounds so they only play from the nearest 20 objects. This includes doors, fridges, trees, windows and any sprite with the AmbientSound property set.
Removed DoorAndWindowEmitters. This is combined with ObjectAmbientEmitters.
Fixed ZombieVocalsManager not actually stopping vocal events when one of the 20 slots was reassigned to a different zombie.



[h3]CONTROLLER / STEAMDECK IMPROVEMENTS[/h3]
ProjectZomboid64.exe will disable the -XX:+UseZGC option if a required function is undefined in Kernel32.dll.
Steam Proton does not define the MapViewOfFile3() function, which prevents the Windows version of the game starting on the Steam Deck.
Conveniently, MapViewOfFile3() is only available on Windows 10 1803, the same version ZGC requires.
When options.ini doesn't exist on startup, set the display to fullscreen desktop resolution.
When options.ini doesn't exist on startup on Steam Deck, call Core.setOptionActiveController() to enable the controller.

Allow precise positioning when placing items using a controller. This is done by holding the Y button and using either D-pad or the left joystick to move the item around the square. When there is more than one surface, it can be changed by pressing the right shoulder button while the Y button is held down.

Enabled the on-screen keyboard in CoopUserName.lua.
Leave room for two lines of tooltip text at the bottom of the character-creation profession ui.
Several panels in the main menu can be scrolled using the right joystick.

The Start/Menu button will display the main menu in single-player, or resume normal game speed.
This is instead of pressing once to pause the game and double-pressing to display the main menu.
The game can still be paused using the Back/View button radial menu.

Added controller navigation in the Workshop ui (for submitting Workshop items). NOTE: The controller doesn't work in the Steam overlay, which some buttons display.
Allow mouse clicks etc in the inventory and loot windows when a controller is active.
Added controller navigation to the Temperature tab of the character info window.
Made the selection in the Health panel easier to see.
Made the character-info window more opaque.
Made CharacterCreationMain wider at lower resolutions to avoid overlap.
Added a button to the on-screen keyboard to hide and show password text.
Enabled controller navigation in the server browser ui.
Enabled controller navigation in the server-settings editor.
Put the inventory and loot windows in their default positions if the controller is disconnected and "Use Keyboard and Mouse" is selected.

When placing items, the inventory and loot windows are collapsed if they aren't pinned open.
When placing items, mouse clicks on world objects are ignored to prevent the loot window popping open.
Set the width of ISEquippedItem to match its buttons. This fixes the wider invisible area blocking mouse clicks.
Set the texture compression option to be on by default.

Fixed navigation in the Multiplayer tab in the options.
Fixed editing server spawn regions with a controller.
Fixed the filter checkboxes going outside the ui on small screens.
Fixed being unable to navigate to the filter checkboxes and some other buttons.
Fixed controller focus when creating a splitscreen player.
Fixed toggling the mod under the mouse pointer when pressing the controller A button.
Fixed several cases of improper controller focus after clicking buttons with the mouse.
Fixed Lua error in MapSpawnSelect when the filename entry is hidden.
Fixed LoadingQueueState disconnecting immediately due to the A button being pressed, after pressing it in the last character-creation panel.
Fixed ISGameLoadingUI not receiving the controller focus when an unexpected error occurred while loading.
Fixed BootstrapConnectPopup, ServerConnectPopup and ServerWorkshopItemScreen not working with a controller.
Fixed Build 41 popup and DebugScenarios ui appearing overtop BootstrapConnectPopup.
Fixed cancellation in ServerWorkshopItemScreen throwing an exception in ConnectToServerState due to GameClient.connection being null.
Fixed using the controller X button to "Toggle Vision Info" in the foraging ui.
Fixed rendering the post-death ui for split-screen players 3 and 4 in the top half of the screen.
Fixed a Lua error pressing the Y button when moving furniture when the player isn't on a square.


[h3]BALANCE[/h3]
Added BedType property to the Pizza-Whirled seats which fixes pizza spawning on them.
Added amount of bait items to Fishing UI
Added dismantling cameras for scrap/skill points
Plastic bags and paper money can now be used as tinder.
Doors broken by zombies now give unusable wood instead of planks.
Container items now grouped together into their type in the context menu, so you can 'fill all' of a certain container.
Players now able to stack and unstack logs on the ground
Cars now remember their cruise control setting
Breaking vehicle windows now produces broken glass
Decrease zed attraction volume of “remove broken glass action"
Updated and fixed item categorizations
Updated evolvedrecipes.txt and items_food.txt.
Removed Cookable:true from the Burger evolved recipe.
Added the "|Cooked" flag to Burger ingredients in farming.txt.
Updated distributions Lua files
Muffins produced by the "Get 6 Muffins" recipe have the name of the ingredient added to the muffins, if any, such as "Apple Muffin".
Muffins produced by the "Get 6 Muffins" recipe are marked "Cooked", so the hunger-reduction bonus due to being cooked is applied.
Fixed adding a spice to a stale Taco increases boredom and unhappiness.
Added new methods to the Food class (to fix the above issue):
getBoredomChangeUnmodified()
getEnduranceChangeUnmodified()
getStressChangeUnmodified()
getThirstChangeUnmodified()
getUnhappyChangeUnmodified()
Higher level carpentry crates now have more space.
Can now move empty composter.
Can now move military crates.



[h3]DEBUG[/h3]
Updated Debug context menu.
Updated Debug Menu UI.
Added Z param to teleport.
Added change vehicle skin option to debug.
Added Sync for changing color, blood and skin of vehicles.

Refactored "Remove Item"-tool UI.

Added option to the F11 UI: Disable Welcome message (Works only in debug mode).
Added Reload Lua button to main screen (only in debug mode).
Added Cheats Panel in debug menu. Updated cheat list (merged in options from Admin and F11 menu).
Added fast move cheat (Controls: Arrow keys, Page Up/Down) (Debug and Admin panel).
Added Admin context menu options (some options from debug).
Added cheat Spawn Key door

Added LootZed tool
Added LootZed tool cheat (Check what can spawn in a container with what chance)
Added remove items tools
Added Remove items tools in Debug mode (Option for remove items from container menu and option in Debug UI for remove items in area)
Added options to the "[DEBUG] Objects" menu to:
1) Change a mannequin's script.
2) Create a Moveable item in the player's inventory for a chosen mannequin script.

Changes to the debug Items List UI:
Don't recreate the ui each time it is displayed, because it's slow.
Keyboard focus is set to the "Type" text-entry box each time the ui is displayed.
Pressing the Tab key switches focus between the "Type" and "Name" text-entry boxes when either one has the focus.



[h3]FIXES[/h3]
Fixed the player's head being semi-transparent where hair and beard stubble appears. This also fixes semi-transparency that has always been there around the edges of holes in clothing.
Fixed the controller tooltip text in the character-creation profession ui not displaying.
Fixed the overly-long delay before changing the volume of a cd player or television when using a controller.
Fixed spam messages about CDplayer's invalid world sprite.
Fixed the player not running when moving too slowly to sprint.
Fixed the character-creation Add Trait button being covered by the controller tooltip text.
Fixed placing multiple items locking the items to the first square that is clicked.
Fixed controller focus not being set to the "Check back cover" ui.
Fixed exploit holding down the Escape key before starting certain actions.
Fixed taking damage when walking down stairs while faster-forwarding.
Fixed a NullPointerException in InventoryItem.update() when an item's ReplaceOnUseOn refers to an invalid item type.
Fixed the post-death ui appearing in the main menu in multiplayer, if the player dies while the main menu is displayed.
Fixed use of an undefined variable in SPlantGlobalObject.stateToIsoObject().
Fixed buggy player rendering in the in-game map when the player is attacked.
Fixed "Decaying Corpse Health Impact" health reduction for "Low" and "High" both being less than "Normal".
Fixed some duplications and formatting in MainCreationMethods.lua.
Fixed custom Sandbox floats displaying too many decimals in the tooltip.
Fixed walls in Fire station in LV remaining cutaway for no reason.
Fixed character being able to rest on seats seen through some windows.
Fixed siren and light bar shutting off once you get a certain distance away from the vehicle. Now even when you go over 1000 blocks away and come back, the lights and sirens on cars are still going off.
Fixed not being able to attach sheet ropes at certain locations.
Fixed cars not remembering their cruise control setting.
Fixed "Place item on ground" ignoring item's favourite status when placing items.
Fixed being able to interact with rain collectors through the wall.
Fixed player-built doors inside houses being transparent at any angle of view.
Fixed Walkie-Talkies not showing new "equipped" weight when equipped.
Fixed Metalwork locker container name being "Crate" in the loot window.
Fixed a spawned bowl of pasta or rice not being edible.
Fixed Painted Crates becoming white after Pick up / Place down.
Fixed Rotten food showing in right click menu as (Fresh) when newly spawned.
Fixed Applying Disinfectant to an un-infected wound making that body part immune to infection.
Fixed player-built walls cutting away completely when built inside of another building.
Fixed typo in AdjacentFreeTileFinder.lua.
Fixed "Cake Preparation" not spawning rotten in 6 Months Later scenario.
Fixed Dish Towel having option to "dry self" even if char is dry.
Fixed Hair/Beard types grow back to their dyed colour, instead of their natural colour.
Fixed Coffee / coffee beverage fatigue reduction values not saving on quit / restart.
Fixed replacing disassembled floors with dirt tiles above ground level.
Fixed clock Size option not being changable while in game.
Fixed nil variable in ISWorldObjectContextMenu.doSleepOption() when tired enough to sleep on the ground.
Fixed disassmbling floors playing the standing animation instead of crouching.
Fixed saved Radio Stations being removed when a radio is removed and reinstalled.
Fixed Foundation Makeup requiring a mirror when it already comes with one.
Fixed characters not using a Knive that was equipped or in main inventory when crafting while a better Knive was in a nearby container.
Fixed ISPaintMenu error when near a placed radio.
Fixed weirdness installing and uninstalling radios in vehicles.
Fixed NullPointerException in ParameterInside.
Fixed Composters not having a container icon and title.
Fixed blank VHS Home tapes spawning. They are now replaced with a random Retail VHS when spawning loot.
Fixed an occasional exception in ISInventoryPane.sortItemsByTypeAndWeight() caused by a bad item-sorting comparison function.
Fixed parts of weather effects not being rendered sometimes. This resulted in some clouds not being rendered at different zoom levels, causing the scene color to change when zooming in/out, for example.
Fixed items replaced by their ReplaceOnCooked type not being synced in multiplayer correctly.
Fixed Lua error when the mini-map doesn't exist.
Fixed jumbo item-atlas textures being drawn the first time models are loaded.
Fixed mannequins that spawn in containers being invisible when placing them the first time.
Fixed being unable to transfer the same item between containers until a timeout expires, if the first attempt was interrupted. This happened in multiplayer only.
Fixed item models being drawn jumbo-sized for one frame when they are still loading, when using the old way of rendering 3D items.
Fixed item-atlas textures being drawn in the incorrect position sometimes.
Fixed items floating in air or remaining on the ground after removing or placing furniture.
Fixed items on furniture being visible through walls. Item alpha is set to match that of the furniture it is placed on.
Fixed not setting the keyboard focus on the debug Items List ui the first time it is displayed.
Fixed the character-creation profession screen displaying controller icons after activating mods in the New Game ui, when no controller is active.
Fixed building Wallframe using two planks but giving three when disassembled
Fixed cooking an egg showing the progress bar twice
Fixed shirts and other clothing items getting auto-removed from the world when they shouldn't be.
Fixed the character-creation profession screen displaying controller icons after activating mods in the New Game ui, when no controller is active.
Fixed ISMap.canWrite() and ISMap:canErase() not using the Write and Eraser tags.
Fixed support pillars for stairs not being created on the server or other clients.
Fixed inability to burn corpses in MP
Fixed Millipede and Millepede2 in forageDefinitions.lua both using type=Base.Centipede.
Fixed forageSystem.modifyItemDef() incorrect use of _itemDef.type.
Fixed forageSystem.removeItemDef() possibly using a nil _itemDef variable when printing a warning.
Fixed HumanVisual.naturalBeardColor possibly being uninitialized before being copied in HumanVisual.copyFrom().
Fixed OldBrake1 VehicleType being 3 instead of 1.
Fixed the "Enable left joystick radial menu" option not being saved.
Fixed a Lua error pressing the Toggle Search Mode key before starting a game.
Fixed the Toggle Search Mode key getting in the way when the game is paused.
Fixed crafted radios getting less maximum range at higher Electricity levels.
Fixed crafted Ham Radios weighing 1.5-3 pounds instead of 20.



[h3]AND MORE[/h3]
Changes to food and balancing can be read on our forums, since they would have this post hit the character limit.
https://theindiestone.com/forums/index.php?/topic/54121-4171-released/

Project Zomboid version 41.71 out with Steam Deck and controller upgrades

Project Zomboid, a survival game from The Indie Stone that's currently in Early Access just had a big new stable release, and it should now work better on the Steam Deck and with controllers overall.

Read the full article here: https://www.gamingonlinux.com/2022/05/project-zomboid-version-4171-out-with-steam-deck-and-controller-upgrades

Howard Ze(n)d



For our last blog we released the new unstable beta version of Build 41 – which was 41.69 (nice). Today we are releasing 41.71, which follows last Thursday’s 41.70.

You can subscribe to the Unstable beta branch and download 41.71 by right-clicking PZ in your Steam library, and selecting Properties. Now go to the Betas tab and select the "unstable" branch from the dropdown menu.



These have generally been iterative patches, polishing the unstable beta up to a standard that we hope to be ready for a wider stable release next week.

This week’s primary task has been our Sound Team and coder brains fixing out some nasty total sound cut-outs that had been cropping up on busy servers.

Another primary thing we’ve been adding patch-by-patch is our new approach to action music. Instead of switching between tracks mid-combat, the music is reactive and can increase and decrease in intensity during combat and other dramatic moments. The familiar tune can cross-fade into a high action version, essentially.

So far we’ve been getting a very positive reaction from players on the beta. With 41.71 we will have ten out of the fourteen action tracks working in this way, so let us know what you think!

Otherwise in these patches we’ve been fixing lots of different longstanding niggles with the game, so have a peek at the changelists – and jump in if you fancy on the unstable beta to let us know whether you think the build is ready for wider public consumption.

Finally, if you notice that the Unstable beta is misbehaving with your favourite mods, then please let your favourite mod authors know – though please also be patient with them as they all exist in the real world with real lives/jobs/families/pets/TV shows to watch.

Finally finally+ a reminder that we will be removing some legacy builds from the Steam betas once the latest unstable beta goes stable. If you are playing on an older Build 41 beta, then please return to the mainline if at all possible.

[h3]NEXT[/h3]
Meanwhile, new stuff continues to build for future updates to Build 41. The MP team continue their long-term work on having all items operate server-side to prevent item-spawn cheating, while also providing improvements to 41’s more iterative patches.

At the moment there’s also MP work in the can on stuff like vehicle radios now receiving radio stations, VOIP and radio chat messages in bubble text over the car. Likewise improvements have been made to your client predicting where your friends are falling/dying which is resulting in resulting in far less corpse placement weirdness.

Work is also currently going into the smoothness of vehicles being controlled by other folks on the server – especially when they are moving at high speed.

On the TIS side, meanwhile, EP has been integrating a new feature into the in-game map system that will be of great interest to admins and server owners: the ability to see where individual players are on Build 41’s in-game map.

Server operators will also have the option of allowing members of safehouses or factions be able to see each other on their own map, if that suits their playstyle more than the usual default of having absolute no idea where your friends are.



While it’s still not imminent, Aiteron is also integrating new animations into his fishing system that are starting to look really cool. This is super WIP and will get a lot of polish, but this is what it looked like this morning.

Please note that in the vid the character is following the cursor: the cursor doesn’t represent fish placement. Gameplay hasn’t been fully tied to the anims yet.

[previewyoutube][/previewyoutube]

We are also looking for feedback and local knowledge from PZ players from Kentucky (and nearby surrounding regions) who enjoy fishing themselves.

If this means you, then please check out the questions on this Google form. Massive thanks to those who previously emailed and have already given us some direction also!

 
[h3]NEW HIRE[/h3]
Avid TIS followers will know that for a while we have been on the hunt for an Animation Engine Specialist to join the Project Zomboid team, and we are delighted to welcome one Howard Smith to our ranks. Howard is a big PZ fan, and also has big brains that have previously worked on the likes of Call of Duty, Halo and (wait for it) Left 4 Dead.

Truth be told, in the big push for MP our work on our animations tech stalled somewhat – and there’s still many, many aspects of PZ combat and movement that we want to streamline and improve, and likewise many complex systems we’d dearly love to integrate in the future. Howard has a tasklist a mile long covering areas in which our animator has been logjammed recently, and as such will be something of a busy boy.

Something else, meanwhile, that this gets us back on track with is work towards a release of our internal AnimZed animation tools to the community. This won’t be an imminent thing, but part of Howard’s work while getting bedded down in our code will be in building documentation and making some improvements both for us and the modding community.

[h3]MORE NEW HIRE?[/h3]
Following the success of Build 41, we also find ourselves in a position where we can hunt down other experienced Games Programmers to join the Project Zomboid team.

We are looking for coders willing and able to refresh some of our older systems, polish the existing ones and then to delve further into the features that will be part of the Knox Event’s exciting future.

Interested applicants should check our jobs page, but we should underline that we currently don’t have any entry-level positions available. You will need to have a fair amount of experience we are afraid.

[h3]TILL NEXT TIME[/h3]
That’s all the major news for this blog, but tomorrow we will have a surprise treat for denizens of the PZ subreddit. Pat_Bren has tracked down and interviewed a community hero, which has finally allowed us to say…



This week’s arboreal scene from a S1ngle Man. 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.

41.69 Unstable - Niiice



Heya everyone, so today we’re pushing the 41.69 patch out into the Unstable beta, which you can subscribe to by right-clicking PZ in your Steam library, selecting Properties, now go to the Betas tab and select the "unstable" branch from the dropdown menu.




This is a the first release of a wide-ranging version that touches many parts of the codebase – including some fairly foundational stuff to improve the smooth running of MP, some handy new hooks for modders and many and various different fixes and improvements.

The full and unexpurgated changelist is pretty vast, but a quick topline run-through of its contents will now follow:

  • In MP: improvements to car physics, admin improvements, anti-cheat fixes, better handling of dead bodies, PvP and safehouse fixes, fixed grass growing through safehouse floors and much much more.
  • VHS fix – an end to the peril of one-time-use video tapes on servers.
  • A raft of Steamdeck compatibility improvements.




  • New items, new forage finds, updated 3D models, new hair types and more.
  • Scarecrows and Lab Skeleton ‘mannequins’ that can be kitted out in player clothes.




  • Quality of life features: renamed Skill books, better item placing, movable minimap and many and various other things.
  • 3D items now shown as textures rather than models. As such they now slide around less when the player moves, and have far less of a performance impact when all piled up.
  • New/improved tag system for modders, and other general mod-side improvements.
  • Added ambiance noise for different areas on the map tied to particular buildings and items, such as a little bit of mall muzak.


[previewyoutube][/previewyoutube]

  • Relevant ‘power down’ noises for the above-mentioned sounds to flag the power/water cutting out.


[previewyoutube][/previewyoutube]

  • New sounds for arcade machines, gas pumping, vehicle headlights and car window opening (both via handle and electric windows). Also BBQ noises, campfire sounds, fireplaces and more zed trip/thump stuff.
  • Improved treatment of inside/outside sounds depending on whether doors and windows are open or closed.
  • Loads of UI and controller improvements that are universally handy, but have primarily been put in for (you lucky!) Steamdeck users. 41.68 works okay with the new handheld device, but 41.69 should provide some vast improvements.
  • Lots of general balance, including a spotlight on foods and recipes.
  • A shitload of general fixes.


We would be hugely grateful if players could move over to 41.69 and report any oddness or hiccups, and likewise to inform the creators of any mods that have been broken.
 
We have done our best to bypass disruption, but in such a wide-ranging patch there will always be mod toes that the code has unavoidably trodden upon.
 
(Creators of radio/TV-related mods should especially pay attention to the MP VHS fix, as it may cause some issues.)

[h2]OTHER STUFF[/h2]
Elsewhere work continues on Build 42 and 43 content continues, with RJ still focusing on farm animals, and also the introduction of some basic AI versions of wild beasts also. Please consider these WIP!



Also coming to you today with a WIP tag (as we are working on far better player directional ‘strain and lean’ animations rather than a repeated ‘pull animation’) is a video from Aiteron showing his current work on the fishing update.
 
A lot of work these past few weeks has also been into making it work online, and our testers have been having some impromptu fishing competitions already.
 
Here, also, you can see:
 
  • Water splashes (visuals WIP) to show placement of groups of fish, ultimately we plan to move to a more constant surface disturbance to show the positions of fish at any given time, as well as use the current splashes instead when the fish is struggling on the line.
  • Lines and hooks that can be changed on the fishing rod that have an impact on your fishing.
  • A fishing net you can catch items in, and a new ‘generic trash’ item that can also become snared up in your tackle and provide you with a random item (not always a shoe!)


[previewyoutube][/previewyoutube]

In the land of MP meanwhile the Strike Force are currently working on vehicle smoothness, and rare strange physics during and after vehicle collisions. They also have some imminent plans for better hit-fall position prediction, which should make corpse placement much closer to how it looks in SP.

We are also partway through a longer term process of making the inventory system completely server side (or rather authenticated server side) to avoid any kind of item spawning cheats. This is something we really need to do to close up the potential for item hacks on MP servers.

It will not likely appear for a while, most like coming in a major build rather than an iterative patch as it is a major piece of work and will also come with the potential for mod breakage for mods that spawn items directly on the client.

(We’ll make sure to keep it unstable a good period to give mod authors a chance to fix when it rolls around, and will provide some method for modders to legitimately spawn items recognized by the server when needed.)


This week’s stand-off from Viиicius. 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.

Project Zomboid NPCs will have complex, dynamic stories

Now that everyone is settling into Project Zomboid's lively multiplayer modes, developer The Indie Stone has its sights set on another transformational addition to the lo-fi zombie survival game. The NPC system, which the studio revealed earlier this year, is shaping up to be a complex narrative engine that generates detailed individual stories for each character - and you'll be able to become part of any one of them.


The Indie Stone discusses the NPC system in a blog posted this week. When they arrive, Project Zomboid's NPCs won't simply be holed up in various houses or fortresses, they'll be in the process of working toward their own goals, and they'll be able to relate their stories to you around the campfire.


The post is an interesting peek into how games are made. Each NPC in Project Zomboid - once they arrive in update 43 - will start with a set of circumstances that determines the opening of their story. From there, the NPC system will send them out into the world, where the system will track where they are and what happens to them. A family might set out to reach the Louisville hospital when they discover one member has fallen mysteriously ill, but have to leave their vehicle when they encounter a military roadblock on the way.


Read the rest of the story...


RELATED LINKS:

Project Zomboid now supports 100-player servers, sort of

Project Zomboid multiplayer - what you need to know

Project Zomboid: how to barricade windows and doors