[img]{STEAM_CLAN_IMAGE}/4460946/444a340cf2531eff1d221b6a26ecc08b3b8c1372.png[/img]
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 [url=https://projectzomboid.com/blog/news/2023/01/walk-in-the-woodz/]our last dev blog[/url] is probably a better destination.
[h3]FIRE[/h3]
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.
[previewyoutube=r8k0GLSAl4Y;full][/previewyoutube]
[h3]MP TEAM[/h3]
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.
[h3]FISHING[/h3]
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…
[h3]CRAFTING[/h3]
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.
[previewyoutube=J-RzQP2t5MU;full] [/previewyoutube]
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:
[list] [*]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. [/*][/list]
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.
[h3]LES ANIMAUX[/h3]
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.
[previewyoutube=zNhVX14L2Lo;full][/previewyoutube]
[i]This week’s tarmac follow party [url=https://steamcommunity.com/sharedfiles/filedetails/?id=2920770737]from Darth[/url]. A changelist of all our pre-release and post-release patches since the 41 beta began [url=https://pzwiki.net/wiki/Build_41]can be found here[/url]. The Block of Italicised Text would like to direct your attention to the [url=http://pzwiki.net/wiki/Main_Page]PZ Wiki[/url] should you feel like editing or amending something, and the [url=https://projectzomboid.com/lists/?p=subscribe&id=1]PZ Mailing List [/url]that can send you update notifications once builds get released. We also live on Twitter [url=https://twitter.com/theindiestone]right here[/url]! [url=https://discord.gg/theindiestone]Our Discord[/url] is open for chat and hijinks too.
Experienced gameplay coder and want to join Team Awesome? Jobs page [url=https://projectzomboid.com/blog/jobs/]here[/url]. [/i]