Project Zomboid

Leapdoid



Hey all, a good mix of things this ‘doid.

Fun gameplay stuff, and a chunk of info we wanted to flag for modder-awareness and the more tech-minded amongst you. (Feel free to skip that bit to get to the more enticing gun stuff from Fenris that’s become its first application.)

Onwards, then.


HUNKER INNA BUNKER


Permanent underground structures are being added to the internal build’s map for testing.

As discussed before some basement locations will be randomised to add surprise flavour to your looting, but there’ll be plenty of ever-present locations that will likely be survivor favourites for taking over and making your own.

Here’s a fun example, which also very clearly demonstrates the effectiveness of B42’s tech upgrade that governs the realistic spread of light. It really is very dark down there, and with that very claustrophobic and scary…

https://www.youtube.com/watch?v=m3Tzna-nAM8


Another aspect of the underground structures is sound, and now we’ve got more and more of these in the test build our sound team will be working to cut out wildlife sounds, add muffle, echo, drips and such. Likewise, meanwhile, another focus is adjusting the noise of ‘street level’ activity when you climb higher in buildings.

It’s also worth mentioning that in 42, or at least certainly its unstable release, you will not be able to tunnel or break down the external walls of underground structures. This is something it would be healthy for the engine to be able to do (although we’d never have Minecraft-style insta-tunnels in vanilla, clearly) but is probably a can of worms best opened later down the line.


CRAFTING


In amongst the feverish connecting of code wires from others on the crafting team, Turbo has been working on the new interface that will allow for hand-crafting items on in-game surfaces.

We’ve got something ready to go into the internal build, but in its current WIP form still needs some polish – and probably isn’t quite ready to show off before its rough edges have been smoothed out.

In essence though, this work has been to cater for crafting items that aren’t as straightforward as ripping clothing to make bandages or opening a can of beans (which will always be feasible just in your hands) but don’t necessarily need a specialized workstation either.

Activities like preparing a sandwich or making a nailed baseball bat logically require a handy surface to perform the work. The way it’s being implemented – any logical surface will do (tables, counters etc) but this sort of crafting will no longer be possible while standing in the middle of the street with zombies approaching.

In terms of changes in player habits and behaviour going from 41 to 42, this will probably be the one that’s felt most keenly. There’s a lot of muscle memory we’ll be scrubbing out here, after all. However we are doing our utmost to keep it logical, and to keep it real.

The current challenge has been to devise an interface that accomplishes all the tasks necessary: providing a handy way of browsing or looking up the recipes, allowing for crafting of multiple objects, allowing the use of tools to modify the quality or success chances of the crafting, and giving access to all the functionality provided in the crafting update.

We’re not there yet on this surface level, but functionally on the code level it’s all there and working and ready to be integrated into the game. Next steps will be to make the UI as clean and convenient as can be, improving and iterating as we go, as it’s such a core aspect of 42.

(Just to reiterate, however, simple crafts like ripping bandages and so on will still be craftable in the way they are in 41: right clicking the item and clicking the relevant right click menu option. This is still the most immediate and convenient way for a player to do these split second crafts in the midst of action.)

Meanwhile, of course, the results of all this new crafting continue to get pumped through from the art department, prepped and laid into the code. Here’s a few that popped through recently.






MULTIPLAYER


We haven’t heard from the MP bods in a little while so let’s go over to Andrei for a little while:

“We are very busy on the Multiplayer side of things. When Build 41 MP was first released we had three coders on our team, and now due to the success of 41 we have five.

As many will be aware we have been focused on anti-cheat functionality for the last several months which is now being finalized: preventing cheating with inventory and items by moving their processing from clients to the server.

Clearly simultaneous to this we have also been working on the integration of new 42-specific gameplay – most notably adding support for animals into MP.

We have also been moving the team onto the fixes, feature requests and changes we have heard from the community.

Some highlights of this are as follows, but please note that our list is long and not everything will be mentioned! If you’ve felt it or found it annoying in your MP play then it is probably on our list:

  • Privacy and Anti-Cheat work. We are improving our anti-cheat functionality, and adding various new mechanisms.
  • Improving synchronization of characters between clients. We are debugging and fixing issues where zombies appear unexpectedly for the player, or players teleport instead of walking.
  • PVP animations and logging. Current hit reactions in PVP lead to unfair and unfun behaviours, likewise there are issues with disconnecting during PVP. We are planning to fix this and extend PVP logging.
  • Safehouses. As players will be aware, there are various issues related to exploits and safehouse raids that we need to fix. We also have a lot of things in mind for nice-to-have improvements that we hope to share with you in future blogs.


Thanks to Andrei for his thoughts and, again, to underline – this isn’t the only stuff that’s on their ‘to do’ list. It is, however, what’s in their sights over the month ahead.

While we are talking MP, however, it would be remiss to not mention another side project that’s gone into the game recently.

This is disguise option for multiplayer which, if enabled by the server admin, will allow players to disguise their username by wearing a combination of lower and upper face coverings, or indeed full face coverings.

The hope is that these will create some interesting dynamics for RP and PVP servers, and indeed for general banditry purposes.

(Clearly there’s also a few failsafes having to be built into this! Admins will be able to can also disguise themselves too if enabled and will always see right through disguises, there’s an option to disable disguises inside safehouses, and the system can be disabled entirely on servers that don’t want anonymity to be a feature).


OTHER FUN STUFF


Okay, before we get to some of the more in-depth stuff some quickfire smaller nuggets of interesting things that have gone into the game recently.

We are making some character traits have more direct gameplay implications – with a case-in-point being character builds with vision-related issues. Likewise, helmets and headgear that limit what your player can see will get similar, but not identical, effects.

(PLEASE NOTE: effect seen in the following video is WIP. It was an internal video, but is too fun not to share)

https://www.youtube.com/watch?v=-yqxa8ycChg

The Event Zone’s Wild West tourist attraction is now in testing and open for business – now featuring a new game item that is the wooden coffin.

https://www.youtube.com/watch?v=eExgFjby4Zc

Our good friend Ash from TEA has been working with us to integrate Bink into PZ, which is some cool middleware that grown-up games use to play videos, cut-scenes and the like.

We’re primarily getting it integrated for some cosmetic changes you’ll discover when you boot up the game that’ll be seen at a later date, but it also means that we can now show tutorial videos and such in-game.

In future it also makes moving images on TV screens, cinema screens etc. a possibility – although that’ll be a luxury that comes about long after 42 unstable.

https://www.youtube.com/watch?v=gCu3FFmzVjk

Finally, in the Fun Stuff section – Fox’s 4K-ification mission continues. In fact, it’s nearly done and higher-resolution UIs for 4K players will shortly become available in the internal test build.

With higher resolutions, meanwhile comes higher resolution screen furniture. So bid a hearty hello to some of your new, newly detailed, moodles. Friendly folk, aren’t they?





PROF’S PROC-GEN


ProfMobius, he of Minecraft heritage who we brought on board towards the end of last year, has been working on the procedurally generated wilderness to exist outside the map borders to allow for a not quite infinite but huge world outside the main map.

Currently he’s working on automatic blending between hand crafted content such as the edge of the map with the generated wilderness biomes, to allow for a smooth and seamless transition between them without visible borders.

This will also be invaluable for modders, as currently it’s a rather difficult task to blend the edges of a modded map with the vanilla map, which often results in an ugly sudden border of trees or vegetation changes as you transition.

The new system will blend in the procedural elements gradually into the vegetation that exists on a modded map, so the border will be less jarring.

He’s also looking into generating roads so they continue from the borders of the main map, which will massively expand the canvas for modders to position their modded maps – what with them now being able to space them out amongst a huge game world instead of overwriting or extending the main map which will vastly reduce the potential for conflicts.



Definitions for biomes, as well as template for road styles will be creatable in lua, allowing for easy modding to provide more diverse and new biomes with different vegetation, different road styles, and ultimately modders will also have access to the building stamping functionality provided by the basement system and could well extend that to place buildings in the world too.

The full wilderness map will have a different set of biomes to choose from, allowing less realistic but more varied biomes to be feasible: travelling an hour down the road to get from a desert to a tundra, for example.

For obvious reason, however, the extension of the main game map borders will be restricted to sensible Kentucky biomes, but may be able to include stuff like farmland as well as forests and plains.

With this system in place, and the huge swaths of wilderness with convenient road networks to utilize, it’s our hope that a heavily map-modded game could have a truly huge gameplay area 100s of times bigger than currently, with potentially miles of wilderness between major locations added by modders


IMGUI DEBUGGING


Okay – this is the technical bit for modders I warned you about. There’s some fun gun-related stuff afterwards if you make it through.

Finally, we expect this to be more of interest to modders than general players, but it will also impact the ease of future development of the game so is good news all around.

For the ease of integration of various aspects of Build 43 we took some time to implement a debug gui library known as imgui into the game which replaces our somewhat time- consuming lua based debug interfaces. We realised that it would likely benefit Build 42 content too, and as such it became part of its glorious whole – and indeed started giving us results the very next day.

Imgui is, essentially, the industry standard for providing powerful easy-to-implement debugging uis into game engines and it’s already paying dividends.

If you are bored at this point it’s fine to skip to the guns.

First of all, before anyone gets excited about this being used for mod UIs for gameplay, we’re strictly only allowing this to be enabled when debug is activated in the game.

This is because the way imgui needs to be rendered is extremely detrimental to our rendering multithreading since it doesn’t support it on opengl, as well as this the entire point of the system is to provide extremely quick to implement debugging UI that favours ease of implementation over performance.

As such we need to put our foot down on restricting the new UI to debugging otherwise we’d quickly see our performance gains eaten up dramatically by modded games. We do plan a big UI overhaul in future but want to use UI middleware suited for actual end user gameplay, with all the performance, swishes, fades, pulses and slickness the UI finally deserved. ImGui is not that.

In debug mode, the game can now run with more a ‘development IDE’ feel, with various inspectors and dockable windows to examine the bowels of the game and the game viewport as a dockable and resizable window. For example you can inspect all the game UI elements active to allow for easier UI work and debugging within the game, and you can inspect variables on a plotted graph to help balance values over time. Otherwise you can inspect in-game textures and other assets, and numerous other helpful things which should really aid in demystifying the game’s innards for our modding community.

https://www.youtube.com/watch?v=Qy8xQC1KKh4

Modders will be able to dive in and look into the guts of lua and java at runtime to inspect anything they like: navigating through characters, items, or anything else to inspect them.







Imgui also contains a fully functional text editor. We plan for this to be completely integrated for lua editing within the game itself, as well as a more robust debugger to replace the slightly ropey F11 one we currently have, however this is also a challenge due to the way lua executes so will come later.

In the meantime, for a nice Build 43 behind the scenes, here is the in-game AI behaviour editing UI with breakpoints, stepping and watch window:





In terms of more imminent usage for game-improvement, meanwhile, let’s move over to Fenris at the gun range.


GUN IMPROVEMENTS


From the second imgui was made available Fenris, he of ORGM mod vintage, leapt at the opportunity to use its features to do some intensive firearms work: making them more useful at lower skill levels without breaking balance, while also providing for more tweaks for accuracy based on the player’s actions.

Here he is on the firing range, with imgui active.

https://www.youtube.com/watch?v=sFMPtc4xGkA

Here, the graph shows a new AimingDelay mechanic (the blue line) first initially dropping after the player starts to stablise their aim, then rising with each shot – then overlaid with the recoil delay and animation states. We see him taking timed shots and waiting briefly so his aim stabilises again. The effect can then be seen across the different skill levels, and how the rate of fire changes.

Fenris’ work on improvement here is extensive, but aspects of his commits to the game these past two weeks have included:

  • Rebalance of how hit chances and recoil are calculated, and general RoF with firearms.
  • Improved the target highlighting which was previously misleading, with the colour shifting to green shades with lower hit chances than expected. This is now corrected to go green closer to 80%. Previously only aiming & reloading skills, the distance to target and how long ago you stopped moving had an effect on the highlight.
  • Now Strength helps with recoil, Dexterous and All-Thumbs impact on shouldering the weapon, and Eagle-Eyed and Shortsighted can change the optimal sight range.
  • Rates of Fire have been increased to more realistic expectations, but it now takes a bit of time to stabilize your aim when initially shouldering the weapon or after each shot. This time is reduced by aiming skill and various traits and conditions. Firing as fast as possible is less accurate then taking your time and lining up the shot. The lighting of the target square is also now taken into account.




FINALLY


We saw this pop up on the YouTubes and thought it was a great run-down on what we’ve been working on. Our thanks to CosmiicSteem for the vid!

https://www.youtube.com/watch?v=B9qZ3FYZvR4

This week’s foggy safehouse from Rick Grimes, though presumably not the real one. A full round-up of everything confirmed for Build 42 can be found here. 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.