Project Zomboid

Thurs…weather…shaders….chat!



Welcome to this week’s Thursdoid! (Last week's Thursdoid can be found here) We’re a bit light on the team this week as a few of us (including, as you can probably guess, the developer in charge of Thursdoid punnage) are having a well deserved holiday after the exhausting and mega stressful vehicle push for so many months finally came to an end, and like buses several of those holidays coincidentally happened to come at once, but still a few things to report.


Weather Build Update


We’ve just updated the weather branch. The main addition is the first version of our overhauled multiplayer chat system developed by Stas at General Arcade. The new chat is a bit fancier and more functional and more in line of what you’d expect on an MMO or similar types of games. You can activate the window to chat by pressing T or Enter. Let us know how you get on with it and if there are any problems

Various fixes include reintroducing the low lighting mode, and an option for disabling the new building hiding system, which will provide better performance on low end machines (more on this subject in a moment), removed the weird sound echoes, various Linux compatibility / java fixes, fixed multiplayer zombie attacking / defending issues, and many more. We’ll try to get you a complete change-list soon.

Work continues apace with animations, nothing flashy to show or talk about, but many fixes have been made to the tool and Martin the animator now has access to regular builds to help integrating all the anims. Steve at BitBaboon nears completion of the new build system overhaul, which will vastly improve our internal organisation of builds, and should allow us quicker testing and releasing of builds. With this we’re making wider changes to the team organisation to help us deal with the bigger team size and the various irons we have in fires.


Shaders & Compatibility


We’ve had a small number of people reporting that cars are invisible on their low end machines. This is due to the fact that the way the vehicles are rendered require shaders to overlay damage and other effects, so cards that are unable to use shaders, as with the 3D characters which use GPU skinning, will not be able to render the vehicles.

We’ve fought for many years to keep our minimum specs where they are, wanting to keep our potato running Zomboiders in the game for as long as possible. However, as the years progress, the numbers dwindle as more people upgrade, and at this point we’re talking about an extreme minority of PCs, bottom end Intel laptops any of them close to or over a decade old, at least in terms of technology, and constituting less than 1% of all our customers – It’s gotten to the point where retaining compatibility with machines mostly over a decade old is starting to hamper development in several ways.

1) For example to add support for vehicles for this minority of machines, including testing and bug-fixing would take a substantial amount of development time, which at this stage could be spent working on the features, optimisations and improvements the vast majority of our customers would benefit from and that would take us toward the fabled 1.0.

2) There are a whole host of avenues for optimisation that we’ve for a long time written off because they would end up raising the minimum spec by requiring shaders to work and would be too fundamental to switch off. Since the game and simulation have become massively complex at this point, optimisation is becoming ever more important. Vehicles at one stage ran so badly on top end machines that we simply had to spend significant time doing extreme and very disruptive optimisation work, and the game still doesn’t run adequately in built up areas on machines that should on the face of it be able to handle it.

However the available routes for optimisation are becoming extremely sparse–there’s only so much blood you can wring out of a stone and we’ve shaved practically every millisecond we can from the game’s frame time, so we really need new directions to be able to explore to keep the game running well particularly when features such as Louisville, the new animations (which will bring performance benefits and pressures, and it’s unclear what the net result will be) and of course the NPCs go into the game.

The way the rendering system works with the lighting, shading and isometric perspective is hugely costly and it’s difficult to see how it can possibly be improved having no guaranteed access to literally any of the rendering advancements developed in the past 13 years.

Having guaranteed shader support will open up many optimisation opportunities in the future, our rendering being far and away the biggest bottleneck, and there comes a point where it becomes unfair to the huge majority of our customer-base not to exploit these. While it’s frustrating the game not running well on an old laptop, it’s certainly much worse for it not to run well on a top of the range gaming PC and that’s something we have more responsibility to fix and avoid in future.

So while we understand this decision will upset a few of you (though it’s a decision we hope you appreciate we did not take lightly, and resisted as long as humanly possible to give as many the opportunity to upgrade as possible), we hope that the few affected by this understand why we’ve come to this decision. In the meantime, build 38 will always be available via the Steam betas, and there are many affordable old laptops with GPUs that have the requisite shader support, so hopefully we’ll see you back in the new builds before long.

This week’s tense disagreement from QwencGames. A general list of stuff added to PZ, and vids of features being worked on, is kept here – so you don’t have to plough through endless dev blogs for info. 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 blogs like this and patch notes direct to your mailbox. We also live on Twitter right hereOur Discord is open for chat and hijinks too.