Development rolls on, and this week we have Creative Director Brian Hicks and Lead Gameplay Programmer Mirek filling us in on where we’re at in regards to subjects such as network synchronisation, the new audio tech, and dynamic spawning of the infected.
Dev Update: B. Hicks
Over the last two weeks the team has been hard at work tackling bugs and final missing functionality on intended .61 milestone goals. Not to mention a few additional improvements not listed on the milestone goals, such as dynamic shadows, network sync improvements, and expanded improvements in the audio technology side of Enfusion. The test / fix / regression process between when a build is feature ready for experimental and functionally ready for experimental can be a bit of a grind here in the office (especially when you consider the branching that occurs so that the stable candidate can be worked on, while the rest of the team continues work on .62 and forward), but as always I’m proud to say the team has been relentless.
To give you an example, just over the last week the QA, Programming, and Design teams have squashed bugs such as:
- Client freeze on server connection
- Isolating remaining issues with new synchronization system
- Audio configuration issues w/ interior and exterior surfaces
- Infected hit detection issues
- Reload / Chambering not occurring when player initiates animation
- Chambered ammo not being depleted when firing (ooh boy that one is nasty!)
- Dynamic shadows not behaving properly with certain geometry within Chernarus
- Client side control failures under certain animation states (locked into one direction after jumping off)
- NavMesh problems with Infected (ignoring some structure geometry)
- Character gear loss under certain crafting, and connection scenarios
- Client crashes when using Exp Debug window
- Dynamic events not showing on client side
- Virtual Machine exception related to containers
- Infected being blocked by collision with corpses
- Server crash caused by animal behaviour
- Server delay registering clients after initial connection
This is just a brief look at some of the issues tackled over the last week – and does not include issues the team is still working on. Countless issues are tackled before the player even sees the next testable build – and I hope this gives you all at least a small example of the work that goes into getting a build to experimental. Unfortunately the reality of development is its never quite as easy as just making the desired functionality, and pushing it to the experimental branch.
Past that – Miroslav will be talking to you guys this week about exactly what he hopes to see from the upcoming improvements to network synchronization, and while I might have a bit more caution to my optimism I can safely say I am excited to see how it will behave under a larger testing pool. Keep in mind as well, he specifically calls out that there is a high chance the initial experimental builds for .61 won’t be spawning vehicles – as he and his team are currently working on the synchronization improvements for them specifically.
0.61 Milestone Goals:
- Server Login Queue
Ready for experimental branch testing – no current issues preventing this at this time.
- Merge of New Audio Technology from Arma 3 Eden Update.
Technology successfully merged into DayZ branch. Ready for further testing on experimental branch.
- Update of Weapon Sounds for New Audio Technology.
All current firearms configured – Audio team is working on completing SFX for future firearms, as well as working with design and programming team to tackle configuration, and surface effect issues as they pop up in QA.
- Dynamic Spawning of Infected.
Programming team is currently working on plugging animal spawning into this system. Once this is functioning properly they will continue working on adding the additional functionality of per-player impact on the quantity inside a defined area.
- Predators (Wolves)
We’re cautiously optimistic here. While we’re seeing improvements on our end, there is still a high chance this milestone goal will be pushed to a future build. Network synchronization improvements could make this viable for .61. Testing, and regression will give us a better idea.
Past the milestone goals for .61, as you all know we have several improvements we’re aiming to also be present for that build. Including but not limited to:
- Experimental Branch Debug Monitor
- Network Synchronization Improvements
- Dynamic Shadows
And for those who don’t keep an eye on our development board – we’ve pushed a few updates there to give you an idea of what some of this can be expected to look like:
Lastly, I completely understand the frustration many of you may feel in the lull between build publishes to experimental, and stable branch. There is a saying that goes around the community that after two months of a build being available, it starts to get long in the tooth and the community is eager for the next, and this is entirely true. However, it is not just the community – we (the developers) are just as eager as all of you out there playing, and participating in DayZ’s development, as hard as that may seem to believe. As we move closer to beta, the builds we push out are less about initial prototyping and more about large changes to DayZ’s engine.
Enfusion is a massive change for us on so many levels, and it is because of that that these builds seem to take longer to push out. We’re all massively grateful for those of you who continue to ride through the storm with us, and help to shape the final product that DayZ will become. I’m personally very excited to jump into .61 experimental when it goes live, and start a new series of adventures in Chernarus.
Dev Update: M. Maněna
As we are moving closer to 0.61 experimental, we’re mostly stabilizing the build (catching crashes, tweaking character selection from the main menu and new infected/animal spawner).
But there will also be one big thing we would like to enable in 0.61 experimental which Brian mentioned in the last status report a bit. We were reworking major parts of the network code and completely changed synchronization of player controlled entities, which should deal with position desynchronization. This means that there won’t be any weird deaths (on stairs, near the edges of roofs, etc.), character won’t be blocked somewhere else on the server side (infected or other players won’t hit you from large distances and if the player is inside a building, he won’t be blocked outside), the game should behave much better under stressful network conditions and it should deal with a lot of issues that were present in the game since EA release.
I have to admit that these changes aren’t applied on vehicles yet, so vehicles won’t probably spawn in the first iterations of experimental builds, but once we will enable them for vehicles, they should fix most issues like lagging and freezing, when a vehicle is in proximity of another vehicle.
Also, please don’t expect everything will be amazing, we still have some animation issues and a couple of other bugs, especially related to ladder movement and it’s very likely that more will appear after the experimental release. It’s even possible that the network changes won’t hit stable if a lot of issues appear and instead will be postponed to 0.62, because we don’t want to block 0.61 stable release for too long.