Forum > Games Discussion
Project Zomboid
Asid:
41.77 Released
Tue, 4 October 2022
Compliled changelist (41.74-41.77).
These small updates were intended to address the crashes affecting Linux MP servers and improve the client-to-server connections.
MP
- Improved client connection.
Important for server providers: Servers now have two ports for clients to connect to.
The game port (UDP 16261 by default) is used to handle Steam queries. The additional port (UDP 16262 by default) is used to handle the direct connection. These ports can be configured through the server options.
Clients will first try to use a direct connection. If direct connection fails, clients will try to connect via Steam.
The non-Steam version works as usual.
UPnP rules were changed accordingly (UPnP is used in cases to prevent manual port-forwarding).
The client will show the warning message "WARNING: SERVER HAS PORT %1 CLOSED. PERFORMANCE MAY BE SEVERELY AFFECTED" if the client can't connect through direct connection.
- ZNet libraries rebuilt for Windows, Linux, and Mac.
- ZNet, Connection, and Kick logs are improved.
- Improved Type5, and Type21-24 Anti-Cheat behaviour to reduce false positives.
A note that if you do not run a public server (i.e. a server exclusively for you and your family & friends without the worry of griefing and cheating), you can entirely circumvent any sort of frustration with false positives by disabling all AntiCheat protections in the servers .ini file.
- Split the large ConnectionDetails packet into several smaller packets with one of the ConnectionDetailsPacket.State enum values indicating which data is requested.
- Improved algorithm for the transmission of large files while playing.
- Loading screen now shows the download status of large files when connecting to a server.
- Extended checksum logs for debugging CRC differences.
- Increased kick delay for CRC differences.
- Additional logs were added.
- Fixed ObjectModData packets not being sent while the server was in the FastForward state.
- Fixed bug in world dictionary when an item in a different module but with a similar name as an vanilla item was removed.
- Fixed a new stubble Beard getting added to remote players after each appearance change, which resulted in receivePlayerZombieDescriptors errors.
- Fixed kicks after disabling VOIP.
- Fixed connecting to host after disconnection from a dedicated server.
- Fixed infinite connection attempt to non-steam server when it's not up.
- Fixed the client displaying "Disconnected" instead of "Wrong username or password".
- Fixed players being able to change their saved password for an already created account in some instances.
- Fixed Type21 black screen at connection stage when Type21 anti-cheat check is disabled.
- Fixed the character model always using media/textures/Body/Masks instead a clothing item's UnderlayMasks folder.
- Fixed black screen issues with certain mod constellations.
- Fixed the timed-action progress bar position not being updated during actions without a fixed duration.
- Fixed the animation speed of the timed-action progress bar at different framerates.
NEW
- Added a looping progress bar for timed actions that have no defined end. This is mainly a stopgap "fix" for entering cars, to visualize that there is an ongoing unfinished action until we can have visually open doors, etc.
Specifically added for the scenarios where players reported being bitten through the car door after they had entered a car and interrupted the "enter car" action before it could finish (e.g. by opening the map, etc), i.e. before the door was "closed".
This bar extends to other "infinite" actions like Walk To.
MODELS
- Added new body locations: Jacket_Bulky, JacketHat_Bulky, TorsoExtraVest, and JacketSuit.
- Assigned new body locations to existing clothing items to avoid clipping.
- Tweaked and added many clothing masks to avoid clipping through each other.
- Adjusted several clothing models and bone weighting to improve clipping.
- Removed Bowling shirt model from Bowling shirt definitions and made Bowling Shirt a texture. The model was left in the files in case mods use it.
- Improved base Body mask to help with clipping.
- Re-exported ALICE packs as some straps were missing.
Asid:
Recipes for a Disaster
Thu, 27 October 2022
Hola, zomberinos. Short-ish blog this week, but some fun info-nuggets none-the-less.
FINAL 41 PATCH
We released 41.78 to Unstable last week, and released a fix-up patch yesterday. There’ll probably be another update to it before we consider it safe for a full stable release, but there hasn’t been too much to mop up this time around – so our thanks to Blair who was the chief coder on this release.
One thing it might be nice to get in before we wrap 41 and the long wait till 42 begins, are the products of our investigations into ways to make it clearer to modders and users alike where errors in their mod setup lies – when it comes to different capitalisations in folder paths and different file orders between server and clients.
These often result in error messages that are confusing and/or unclear, making things hard to troubleshoot for modders and our support team. It’d be nice to bring about some clarity before we leave 41 for pastures new – so that’s the main thing we’re waiting on now.
WORK ON 42
Slightly technical details from the land of 42, but something that Blair has also been moving onto is working on the architecture of our recipes system – to make it more foolproof and effective for both us and modders.
We are streamlining our evolved recipes – using ‘templates’ similar to the tags we use for individual items. This will make it more straightforward and simple for both us and the modding community to add in new evolved recipes and food items.
The system ‘as is’ in Build 41 has a sizable amount of ‘clunk debt’ associated with it – that gets compounded by the number of food items we have in the game. The way we are restructuring things strips out some of the complexity, and lets us add new stuff easily – while simultaneously managing our existing recipes and foodstuffs.
Next up, we also have more ideas about further streamlining this using item tags to offload a lot of the recipe ingredient stuff to tags and templates. We’ve also got the roots in place of an Evolved Recipe name system that will notice you putting ham and pineapple on a pizza – and call it a Hawaiian Pizza. Or name a sandwich a BLT if you’ve added bacon, lettuce and tomato.
On top of this there’s a lot of wash and brush up of existing features. There’s a lot of big name gameplay stuff going into B42, but when it eventually rolls around we want to underline that there’ll be a bunch of more iterative improvements on existing PZ too.
For example, right now we’re working on making the randomized profession house stuff more cool and obvious- right now you probably aren’t aware when you’re in a carpenter’s or an electrician’s home as there aren’t enough indicators. We’ve got stuff going in to make it clearer and more thematic. Likewise we’re improving the procedural loot system to make loot and looting more interesting in of itself.
There are also new ‘zed story’ events to come across where costumed zombies will tell a story – gun store sieges, hillbilly hoedowns, kids party raves in the forests, a variety of campsites to come across etc.
Oh, and we’ll be widening the melee weapons pool a bit also. They’re not in-game yet, and no SFX for them yet either, but here’s a quick look at some of what’ll be on offer.
This week’s prison visit from Abby. 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.
Asid:
Spiffo and Friends
Thu, 10 November 2022
Hello survivors! Three things of note this week.
FINAL BUILD 41 PATCH RELEASED
This afternoon we put out 41.78 to the stable branch, and you can read its changelist here https://steamcommunity.com/games/108600/announcements/detail/5940838760377829626?snr=2_groupannouncements_detail_
Nothing seems to have exploded just yet, but there will very likely be a hot fix for anything that does crop up. We’ve had a few complaints of visual issues with some clothing that we’d thought we’d fixed for instance, that can probably get a quick look-over again before we move on.
This patch is largely quality of life changes, some MP tweaks and fixes for longstanding annoyances – so hopefully you’ll see a few things in the changelist that make you feel both cherished and warm.
Other than that hot fix, unless we return if circumstances demand it, the final devs who were tinkering in Build 41 will from this point on all be fully aboard the Build 42 train.
BARNYARD FRIENDS
First, let us reiterate – Build 42 is still a long way off. However RJ’s development playpen for the domestic animals that the build will feature is still ticking along quite nicely. This week he has prepared two videos for your delight but first TWO caveats.
First, our animator Martin wants it known that one of the things we’ll be working on will be the way animals turn / turn when they move.
Secondly, clearly what you’re seeing here is debug dev-stuff – especially how it looks and operates when leading an animal around on a rope. We haven’t quite landed on the best way to herd animals around yet, and will likely have to land at a halfway house between realistic, feasible and fun. Likewise, thirdly I guess, UIs clearly aren’t final yet either.
So here’s proof that you can pet the cute little animals in Build 42 of Project Zomboid.
And here’s how to coax them into a trailer so you can cart them off to slaughter them somewhere distant so their loud desperate squeals won’t attract zombies.
MAGICAL WOODLAND FRIEND
Yes, it’s happened. Spiffo merchandise is finally a thing. Behold! More information to come later on down the line. But for now…
To register your interest in crowdfunding a Spiffo plushie visit the Makeship Store! The full campaign begins in less than a week!
To find out how you could win one of two free plushies visit this twitter post! https://twitter.com/theindiestone/status/1590724694549753856?s=20&t=BCKFG7ccHeWwhvz0zQjhPQ
This week’s table arsenal from Polaris. 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. No-one is allowed to make a jar-based gag in the presence of our Spiffo plushie, please, as we had to google it and oh dear god no please no.
Asid:
My Zeds is on Fire
Thu, 26 January 2023
How do all. Here’s a check-in from a few different Build 42 departments, that also occurs in the lead-up to the first in-person meet-up for the wider PZ team since 2018. We’re all aflutter about it (and trying to remember everyone’s real world names instead of online handles) and hope to have lots of good B42 chat in amongst the introduction of an international team to traditional Geordie culture.
Let’s pop into a few different areas, then – with the caveat that for a fuller B42 overview our last dev blog is probably a better destination.
FIRE
Work continues on the fire rewrite branch with the intention being to bring it up to a state in which it can safely enter our internal test build.
It recently came to mind that a lot of the ‘fire dev’ chat in blogs took place in the distant past, before we had to reshuffle and our current MP team became what it is today – thereby forcing flames into the sidelines for an elongated spell.
As such the guys have made a vid for us today that spells out some of the foundations of what is being done here, in terms of how fire spread, size and duration is governed – and indeed the sort of stats that lie beneath the hood that we can balance with, and that the community can mod with.
That’s the first half of the video: done with our old fire effects (which are too transparent and also on fast forward) so please take this aspect as instructional/iterative rather than a fait accompli.
The second part of the video then moves on to show our experimentation with fire visuals, working alongside our VFX artist friend Brian, as we work out different ways to make in-game flame effects better match our particularly coloured iso-world.
MP TEAM
As regular readers will know, alongside tidying up smaller multiplayer irritations as they go, our MP team are currently transferring player inventory actions over away from the client and onto the server. They have another three or four weeks set aside for the first stage of this: at which point we will the player’s inventory loaded from the database on the server, and the server always having an up-to-date player inventory – hopefully all working in sync with the progress bars, item move times and expected results you get currently.
At this point the second major part of the code work will be getting underway: having all the item manipulation occurring on the server side, and ensuring that the server no longer trusts clients (those sneaky clients!) so that stuff like item adding cheats are rendered defunct.
After this, clearly, there’ll be a heap of testing and such – but we thought the more technically-minded amongst us would appreciate a catch-up on where the guys are with it.
FISHING
This past week Aiteron has been working with the testers who’ve been reporting back on bugs and gameplay in the latest version of our revamped fishing – and has been largely working on an improved/experimental control system for a more chilled out and less button-holdy-tappy experience.
He has also been working with our aforementioned VFX specialist friend Brian, who has been supplying us with various splashes, bubbles and signs of water movement that will indicate the presence of fish, and also be a suggestion of the size of what lurks beneath. On top of bug fixes, changed recipes and improved items for the system he’s also been firming up on exactly what sorts of fish we’ll be adding to the game, and whether they’d be found in rivers or lakes (and definitely not swimming pools).
There’s gonna be lot of bass: largemouth, smallmouth, white, spotted and striped. And let’s not even get started on the crappies…
CRAFTING
After an awful lot of code-side tinkering, a super WIP version of our crafting improvement has surfaced into something that’s viewable in a vid. Please note this is the visible tip of the iceberg, and clearly what’s on show isn’t final: you do not saw logs in a furnace, and this isn’t how you make a hammer.
So what’s on show here?
Various objects can now be entirely created using the game’s scripting language that’s been made similar to the way items and vehicles etc. are defined.
This covers various currently planned objects that can function as a craft station: stuff like blacksmith furnace, tailoring bench, fletchery, brewing stands, kilns etc. And, unlike the way it is now, these can also be objects consisting of multiple tiles/sprites with various rotations etc.
At a craft station the player is able to use their normal recipes (which may provide a bonus for doing the recipe at a craftstation) but it’s here that they can use their blueprints – and which ones are available will be defined by the associated object script.
Blueprints (working title) are similar to recipes in that they can take inputs, and produce outputs. However they are distinct from your usual recipes in the following ways:
• They have different duration modes – in real world seconds, game minutes or can run passively in the background for long periods.
• They may not require the player to be present. For example, a melting process may run on the craftstation while you run off to do other things.
• As well as items, they can take the input (and produce) Fluids and different in-game ‘energies’ – Electric, Heat, Kinetic or Steam.
• When active a Blueprint in progress can store its inputs/outputs, and may have storage capacity for them. For example, a blueprint that needs water as an input may well have an internal storage buffer for water. We’ll probably show this in a development vid next time.
Blueprints are processed much like recipes where the inputs by default are consumed to create the outputs. However the default behaviour can be complemented or overridden by custom lua code for certain blueprint events like OnStart, OnUpdate, OnFinish, OnCancel. This is similar to normal recipe events such as OnCreate.
Using this custom lua code interesting things can be done – like for example a blueprint for a Meat Drying Rack which has several input slots for meat. The blueprint can be set to run passively, so it wont require a player to manually start it up.
The OnUpdate event then triggers a lua function which checks if the Meat Drying Rack is situated in a exterior space, and if so we can then go into our usual PZ super-nerdery level of depth by calculating the amount to dry a meat item based on temperature and the cloud intensity / sunlight at that time. So when a meat item is dropped in one of the UI slots it starts passively drying the meat.
Another feature of blueprints is that their UI can be scripted. The video shows a few simple (bizarre) test examples of different UI layouts. However they can potentially be scripted to have any desired appearance – using any of the game’s existing UI elements, or indeed modded ones.
As mentioned heavily above: the video is very early WIP, especially where the UI is concerned, and there are still some parts not yet functional. In a future update we can show a more functional UI, and run through some more interesting case examples.
LES ANIMAUX
Finally, over to RJ in the animal zone.
“I’ve been diving more and more into a farm animal’s designation zones – which are paddocks you outline for your animals to occupy (as long as they don’t get loose) and where the game will allow you to do all your various primary animal-rearing tasks. For most of this week I’ve been refactoring and simplifying my animal behaviour and meta code, but there’s a few interesting things to mention.”
“Cows and sheep can now recognize a roof area and stay under it during heavy rain, I’ve been trying to get sheep to move in more of a flock most of the time, and baby animals will follow their mother more correctly. You can also now drop food directly on ground for them to eat, or in the feeding trough container – where it won’t spoil quite so quickly.”
Also, among many other things (haircare, first aid, dropping bags, new emergency broadcast system noises) the Sound Team have also started making animal noises.
Behold, the cows now have hoofsteps.
This week’s tarmac follow party from Darth. 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 gameplay coder and want to join Team Awesome? Jobs page here.
Asid:
The Skillful HuntZman
Thu, 11 May 2023
Hello all!
This week we’ll be checking in with three of the main four pillars of Build 42 – work on the fourth, the server-side player inventories and general MP improvement, has been fairly ‘business as usual’ the past month or so and there’s not much to talk about that’d be juicy for enough for public consumption.
Steady your loins, then, as first of all we jump into…
ANIMALS AND MIGRATION
RJ has been taking a holiday (American translation: vacation) from his work on domestic animals and husbandry, and has taken to the woodland and forests of the Knox Event.
Wild animals will be important to B42 for both reasons of ambiance and necessity – it will make your experience feel no end more engaging to see deer skittering through the treeline, but also will make hunting a viable survival technique – and one required for some of our advanced crafting recipes when society is long-gone.
What RJ has been working on, in particular, this week is the movement of animals over the map – their migration if you will. So if you could all also have a looksee at the following video too, then we can run into it in some more depth afterwards.
Also clearly: USUAL WIP CAVEATS APPLY. Things can and will change through development and testing.
So what are we seeing here?
Well basically throughout the day our deer will follow paths that our designers (and modders) can map out in our WorldEd tool – and in the vid you can see a virtual animal following a path.
Right now, one virtual animal is a group of animals that’s been defined in a lua file. Our current group, for example, consists of one buck, several doe and some fawns. Though clearly once they are fully implemented the variation will be greater, and also dependent on stuff like the time of year.
Once players get close to this coded ‘virtual animal’ these deer will then spawn into the world as real animals – and once you retreat away they’ll revert to their virtual status so the game can take over their movement and activities once more. If the group has become separated meanwhile, they’ll team back up again when their paths next cross.
In their virtual form the animals will move over the map, doing potential set activities at set different places. They are timetabled to have several ‘sleeping’ and ‘eating’ periods – currently sleeping for a period of half an hour at some point between 12pm and 4pm, eating at some point between 5am and 7am, and eating again for an hour at some point before 4pm and 6pm.
(Clearly, all this is easily changed at the dev-end – and can also be adjusted for whatever different animals we choose to add in future)
To aid players who want to be hunters, deer will leave evidence and tracks of where they’ve been and what they’re doing. So there’ll be footprints (with a direction suggested), poop, and broken twigs and undergrowth – while flattened plants will indicate a sleeping spot, and grazed areas an eating spot.
The way in which we represent these visibly in-game is currently being worked out, but for now (and perhaps later on too) we will be providing for it in a dual use for eris’ super foraging mode that was introduced in B41.
A goal for the player, then, might be to follow tracks and work out the deer’s possible sleep or eating spot, mark them on their map, and then wait near those spots at the correct hours and hope that animals will stop by.
We’re also working out on ways for a Tracking skill to be integrated into this, though seeing as the design is still under discussion we’ll probably talk about that at a later date. Something else that we’re aware should be factored in is human smell and wind direction potentially spooking animals, as it would in real life, but we plan to add that layer in a bit further down the line.
RJ would also like to give out a call of Special Thanks to Inrictus for the time he’s spent teaching him how to be a proper huntsman!
Finally, here’s another quick video of a survivor setting up camp with our new tents and whatnot (no deer this time) to give a little flavour of what the surrounding gameplay will feel like too.
ENGINE UPGRADE
Operation Optimization is going very well, easily obtaining several hundred FPS on our dev hardware when zoomed out.
However at the moment we still need to look into optimizations for how our current fog and puddles work – both of these are intensive graphical operations that need updating frame by frame. Thus, at the moment, they invalidate our cached chunks and diminish some of the gains from the optimizations.
As such at a later date – either before a first public release, or very possibly in a follow up build to it – we in particular plan to revisit these systems to optimize them for our new rendering system. Particularly the fog system, in fact, since having a depth map will now provide opportunities to make our visual effects look much better since we will have a solid representation of surfaces and depth to allow us to much improve how it interacts with objects in the scene.
CRAFTING UPDATE
Now the crafting systems are all in place, we’re starting to fill out the tech tree of recipes and wanted to show what’s currently being implemented.
As a reminder to those who perhaps aren’t as interested in the long term crafting and survival systems we are implementing, these will be completely optional as to whether you want to engage with it.
If you’re more interested in evading zombie hordes in the centre of towns and cities then you’ll still be able to do that.
However, to address our game’s weaker late game, provide many roleplay opportunities, and provide depth of gameplay outside interactions with zombies – we’re going all out on making the crafting possibilities as exhaustive as possible. Likewise, we are building new and more powerful crafting systems that modders will really be able to get their teeth into.
Remember, our benchmark is that a group of players should be able to build a functioning village even if spawning on a wilderness map with no signs of civilization. We want to make sure every aspect of crafting is covered to give multiplayer communities the opportunity to build and thrive, and provide modders with the tools required to make cool as hell expansive tech mods as seen on Minecraft, allowing Zomboid to become a more diverse survival, crafting and automation game modding platform in future.
An example of this would be working with clay. Clay can be dug up near rivers, and will be used to make bricks, tiles, roofing, pottery, and a whole host of other items and tiles to place in the world.
Those living on a barren map wanting to build a secure home will be overjoyed to be able to use bricks and tiles to make a proper dwelling that’s sturdy enough to stop zombies from breaking in. Likewise even on a smaller-scale basis, this craft will prove vital when survivors don’t have access to modern cutlery or liquid storage.
So here’s a quick video (very WIP still, we have a lot of balance, UI and polish to apply yet) that will show off some of the crafting systems when working with clay.
In future Thursdoids we’ll try to demo different diverse parts of the tech tree and their related professions as they implemented, as well as UI and quality of life improvements as we make them
SOME WELCOMES
The Indie Stone would like to extend an excited hello to two new fine folks this week – Egor who will be joining the MP team as they move ahead with their upgrades, and community fan favourite DaddyDirkieDirk.
Dirk has joined our art team to pump out ever more delectable tiles to give our map more life, and its deepest parts some more intriguing objects to perceive in the darkness – and if you are interested in his fantastic work as a modder then we ran a Mod Spotlight on him only last week.
Thanks all!
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 industry gameplay coder and want to join Team Awesome? Jobs page here.
Navigation
[0] Message Index
[#] Next page
[*] Previous page