
How do all. Heres 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. Were all aflutter about it (and trying to remember everyones 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.
Lets 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.
Thats 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]
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 players 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, therell 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 whove 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 hes also been firming up on exactly what sorts of fish well be adding to the game, and whether theyd be found in rivers or lakes (and definitely not swimming pools).
Theres gonna be lot of bass: largemouth, smallmouth, white, spotted and striped. And lets 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 thats viewable in a vid. Please note this is the visible tip of the iceberg, and clearly whats on show isnt final: you do not saw logs in a furnace, and this isnt how you make a hammer.
[previewyoutube=J-RzQP2t5MU;full]
[/previewyoutube]
So whats on show here?
Various objects can now be entirely created using the games scripting language thats 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 its 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. Well 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 games 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.
Ive been diving more and more into a farm animals designation zones which are paddocks you outline for your animals to occupy (as long as they dont get loose) and where the game will allow you to do all your various primary animal-rearing tasks. For most of this week Ive been refactoring and simplifying my animal behaviour and meta code, but theres a few interesting things to mention.
Cows and sheep can now recognize a roof area and stay under it during heavy rain, Ive 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 wont 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]
This weeks tarmac follow party from Darth. A changelist of all our pre-release and post-release patches since the 41 beta begancan be found here. The Block of Italicised Text would like to direct yourattention to thePZ Wikishould you feel like editing or amending something, and thePZ Mailing Listthat can send you update notifications once builds get released. We also live on Twitterright here! Our Discord is open for chat and hijinks too.
Experienced gameplay coder and want to join Team Awesome? Jobs page here.
[ 2023-01-26 22:04:38 CET ] [ Original post ]