7/7/2017

Operation Health: Diagnosis – Hibana’s Complexity

After a great deal of focus, we believe we have isolated nearly all of the cases in which Hibana’s gadget can malfunction and resolved them. Beginning with Title Update 2.2.1.1 on July 11 across all platforms, you will see more reliable behavior from Hibana’s X-KAIROS Launcher.

The Case: Hibana’s unique design

Prior to the advent of Operation Health, we’d received reports of issues with the consistency of Hibana’s X-KAIROS Launcher. After investigating the underlying causes of these issues, our team discovered fundamental problems with Hibana’s gadget architecture that meant we needed to rebuild how we handle her projectiles. We spoke with Animation Programmer Alex Busby, who described both our initial approach to Hibana’s mechanics and how we intend to fix them once and for all.

First off, though, there are some details we should cover regarding what makes Hibana different from other Operators, then we can explain how the approach we took in executing her unique design has caused the problems you may have encountered. Hibana uses her gadget to fire up to six X-KAIROS pellets that can be detonated at her command. To build Hibana, the team set up separate net objects for her body, her gadget (the Launcher) and each individual X-KAIROS pellet – no other Operator has this many net objects active at the same time.

“Even though we do have something similar, which is Ash, this is the first time where we have multiple phases where you can shoot many times, multiple pellets and multiple phases where you can shoot more pellets or blow up different ones or reload.” – Alex Busby, Animation Programmer

So what are net objects? In order for us to process events in a match, we need to split them up and accept them out of order when necessary. To make sense of it all, we assign different authorities to some of these processes to ensure everything happens for all players exactly the way they expect – we refer to these as Host Authority and Local Authority. Basically, we have a timeline of events from each match running on both the server and on the local machine of each player – if there’s a disagreement between machines, Host Authority prioritizes server information while Local Authority prioritizes local machine (your console or PC) information. Generally, all of these calculations and comparisons happen fast enough so that humans can’t perceive any discrepancy.

The Problem: Discrepancy between host and local authorities

With Hibana, we needed to monitor a lot of events occurring all at once for this single Operator – she has her launcher, which can send messages to the server regarding when it is discharged, at what trajectory and when it can be reloaded; there’s her position in the world to keep track of in case another player sees or shoots at her; finally, there are up to six X-KAIROS pellets that are sending messages regarding their position and state of activation. In order to keep track of all of these things accurately, we assigned each one a net object to communicate this information to the server.

However, once we released Hibana, we began to see degradation of our servers’ ability to deal with all of the information her different net objects were sending. For example, Hibana’s launcher would fire six pellets, but the flow of information would sometimes be interrupted by extremely high latency (lag) or other poor network conditions. There are a lot of different combinations that can cause Hibana’s gadget to malfunction due to these messaging mix-ups, and a lot of it had to do with whether we assigned Host Authority or Local Authority to the different steps.

The Solution: Streamlined net objects

After months of hard work, we’ve streamlined the handling of Hibana’s net objects. We started by reducing the overall number of net objects we need to monitor. By doing this, the potential conflicts between Host Authority and Local Authority timelines are reduced, and thus players will not run into the complications that result from a desync between the two.

“The fixes that we’ve done have moved a lot of the stuff to be Host Authority while trying to maintain as much of the reactiveness and responsiveness as we can. That has been the main trend of the fix. We isolated where it can go wrong or where it can go out of synch, and we’ve pushed the gadget to be more and more host authority.” - Alex Busby, Animation Programmer

Additionally, we’ve meticulously gone over the scenarios in which we saw other outlying issues occurring, such as pellet placement, and visual errors, and corrected those as well. You will be able to find more details about the overall fixes that Hibana will be receiving in Title Update 2.2.1.1 in the patch notes, which will be published on Monday, July 10th.

Not only will these changes improve the gameplay for Hibana, but it also frees us up to potentially include more variety in future Operators that may use similar gadget behavior.

Hopefully this helps explain how deeply rooted the issues with Hibana ran and why we needed to devote our resources towards rectifying them during Operation Health.

Thanks very much for your continued support!

Visit Other Social Channels

facebook icontwitter iconyoutube icontwitch icon