Baptiste’s Amplification Matrix was sometimes difficult to utilize for his allies without gathering very closely together so we've made it much wider.
Competition is at its best when it's fair. Historically, we've run tournament events like the Overwatch League and the Overwatch World Cup with teams competing head to head, in person, with local servers to provide the lowest possible latency and the best player experience.
In today's world, with so many events and tournaments moving online and teams spread across the world, we wanted to provide a mechanism to ensure that the experience is as fair as possible, regardless of how close the teams are to the tournament's servers.
The Minimum Latency option sets a target latency for Custom Games, leveling the playing field between competitors whether they're 50 or 500 miles away. Players with latency lower than the minimum setting will automatically have their network traffic delayed to meet the minimum target, while players with latency higher than the target won't have any additional delay introduced.
This feature is designed to work with a variety of network conditions, and will generally keep players within 8 milliseconds of the target setting.
We hope this feature will be useful, especially for community-driven competitions that want to Play Nice, Play Fair.
Evaluate Once can be used to isolate a part of a reevaluating parameter and "freeze" it at its initial value. One way this can be useful is when a reevaluating parameter (such as an effect's position) makes use of a For loop's control variable. For example, if you want to create a vertical stack of effects that move with a player, you could loop over a Create Effect action using Global.Y as your control variable and "Position Of(Event Player) + Vector(0, Evaluate Once(Global.Y), 0)" as your position (with reevaluation enabled). Doing this, the position of each effect would move along with the player, but thanks to Evaluate Once, the vertical offset for each effect would be frozen to the value of Global.Y when that particular effect was created (instead of the final value of Global.Y when the loop ends).
Update Every Frame increases the rate at which certain values will update. For example, "Position Of(...)" only updates 12.5 times per second, but "Update Every Frame(Position Of(...))" will evaluate 62.5 times per second for conditions and other logical checks and as fast as your framerate for visual output, such as effects and camera. This value can be used to create highly sensitive positional triggers and smooth movement for effects and camera work. Depending on your usage, this value could have a significant impact on server load, framerate, or both, so use it only when needed. That said, executing a single condition or action that contains an Update Every Frame is still much more performant than repeatedly executing an action in a tight loop to try and achieve the same result.
Upcoming heroes and maps are tested on the Public Test Region (PTR) before official launch (PC only).