Visor Developers explain how Visor works

Continuing the discussion from We need to talk about Third Party Software

Visor developers have posted an article explaining how their app works. In great detail, they explain what many others have already explained, and clear up many misconceptions and outright lies that have been spread around by noteworthy players who have a negative opinion of Visor.

You can read that article here;

https://medium.com/visorgg/listening-to-feedback-and-building-for-you-489ef67287cf

How Visor Works
For those of you who aren’t familiar yet, Visor is a game analytics engine built by a team of passionate gamers. We have been building products for the Overwatch community full-time for over a year now, and our mission has always been to reinvent and improve how gamers play. We believe in advancing the status quo through building intelligent and powerful products for the everyday gamer because in reality, we are also building Visor for ourselves. As such, we take a firm stance on anything that goes against the integrity of the games we build for, and just like Blizzard, we feel strongly about listening to our community.

Over this past week, we were made aware that Blizzard had issued warnings regarding the use of any third party applications that are not expressly authorized by the company, including Visor. In Blizzard’s official forum blog post they have provided four example features that may violate its rules, while also identifying Visor specifically in the comments. The first thing we want to do is address these features because there appears to be a misunderstanding about how Visor works.

Blizzard states in their examples that a third-party application which offers information such as “enemy position, enemy health, enemy ability usage, or ultimate readiness” impedes the competitive integrity of Overwatch. As gamers, we agree completely with the importance of competitive integrity and would never do anything to undermine it. To clear up any confusion about what Visor does — and does not do — we address each of these points below. We are doing this not because of Blizzard specifically, but because we feel it is necessary to clearly explain how Visor works across the board. Before going into detail, we would like to emphasize that this is our own interpretation of Blizzard’s perspective based on their postings, and we would be happy to discuss this with them directly at any point.

Enemy position
Visor does not have, and has never had, enemy position information. We don’t parse or use that information in any feature or product. Blizzard and others may be confused by our “Play Aggressively” and “Group Up With Team” alerts because we indicate the enemy may be trickling or scattered. However, this alert and the underlying mechanism does not rely on enemy or ally positions. Visor uses solely your killfeed for these alerts (only what you can see as a player).

By seeing when your enemies and allies die, Visor can determine the time between each death. If the time between deaths remains consistently high (8+ sec), Visor will send an alert which we believe can help you learn to identify moments you should group up or play aggressively. We have found that consistent, long duration between deaths correlates highly with enemies and allies either trickling or being scattered. This has been one of our users’ favorite educational alerts.

Enemy health
We are not sure why this feature is one that Blizzard has mentioned, but Visor does not provide or have access to any enemy health information. Since no feature we are aware of uses this information, there is not much more we can say.

Enemy ability usage
We are not sure how this may have been identified, but Visor does not have and never uses information on enemy ability usage. Visor does however see your own ability usage. This means that Visor can help you identify if you are efficiently using your abilities and managing cooldowns! It’s a really great feature that we love and provides a great benefit to helping improvement.

Since Blizzard categorizes “ultimates” as a separate item, we will address them as a separate ability as well.

Ultimate (Ult) Readiness
We know this has been the most debated topic by our community and we accept a lot of the responsibility for not dispelling the misconceptions about this sooner. In building Visor, we tried very hard to make the alerts feel concise, quick, and actionable. But due to unclear phrasing, our “enemy ultimate alert” suffered from a lot of misunderstanding in particular. We are here now to resolve the confusion.

To start off, Visor absolutely does not have ultimate readiness information of any enemy players. The way that Visor has always interacted with enemy ultimates is based on a standard timer which is triggered by killfeed detection. We have hard coded average ult charge durations for each hero, and when Visor sees an ult appear in the killfeed (as a result of the ult usage producing a kill), we start a timer. The timer triggers the alert, and the ult charge durations are all publicly available information.

  • The first time we launched this alert on 8/14, it stated, “Watch enemy hero — Ult in 10 seconds”. This phrasing would trigger whenever Visor’s timer hit 10 seconds before the end of the average ult charge duration. We realized very quickly that the phrasing of this alert implied precise predictive capabilities when in fact that was never the case. We truly apologize to the community for that confusion, and at the time, we acted immediately to adjust the alert.

  • Within 48 hours, on 8/15, we adjusted the alert to say “Watch enemy hero — Enemy hero may have ult soon”. We wanted Visor to feel like a friend sitting next to you, helping you, giving you encouragement and feedback so you can learn. We felt this adjustment reflected that sentiment. The timer mechanics of the alert never changed, just the phrasing.

  • After a few weeks in production and some iterative feedback, we realized it was actually even more beneficial and educational to just state the mechanism directly. So the week of 9/10, we adjusted the alert to say, “Hero Ult — Enemy hero used their ult 45 seconds ago” with the time varying for different heroes. Since this was always how the alert functioned, we were satisfied that this phrasing reflected the right logic.

From the very beginning, Visor never had information on the enemy’s ultimate readiness. The logic for the alert was always a timer based on publicly available averages, and the trigger was always a visible ult kill that any player can see on their kill feed.

Now that we have covered these specific issues, we would also like to take a moment to explain how Visor works generally so that there is clarity going forward.

What Visor Does

  • Visor functions by receiving a stream of your game — a video stream composed of individual frames, exactly like Twitch or Youtube. This is the same gameplay that you personally see on your screen while you play, and it is transmitted the exact same way a streamer streams to Twitch.
  • All processing is done on our servers when we receive your video. Nothing is processed on your machine, nothing is stored on your computer, and Visor only requires 600kbps upload speed. Just like your viewers on Twitch telling you to use your ult in Twitch chat while you play, or a friend sitting next to you reminding you to be more aggressive, Visor “watches” your game.
  • Visor then takes what has already happened on your screen, and presents that information back to you in a clean, useful, and efficient manner to help you learn. For example, in Overwatch, Visor can help you identify how many times you personally die per minute and let you know at any point in the game if you’re above or below your own average.

A related example would be runners using a watch while they are running a 5K. The watch helps them understand their splits so they can identify how they’re performing and beat their average time. Without watches giving real-time feedback (or pacemakers setting a pace in professional marathon competitions), many runners would struggle to improve. In fact, the record breaking, sub 4-minute mile is attributed to real-time pacemaking.

Visor also provides a post-game analysis with unique insights after the match ends, as well as a detailed match history in our client app that gives you a comprehensive breakdown of your match, hero performance, and team fights.

What Visor Does Not Do

  • Visor does not mechanically or technically interact with your gameplay. It does not touch the game code, game memory, write to any game files, or provide any active assistance.
  • Visor does not have any information you don’t have and cannot do anything for you. It can’t see through walls and it can’t help you aim. Visor is like a stream viewer or friend yelling from the sidelines. It is up to you in terms of how you use the information and play. Based on our experiences, a high DPI mouse and some blazing fast internet provides more mechanical advantage than Visor.
  • Visor does not make predictions during the game. It provides feedback on what has already happened, using the exact same information that you have, so you can finally learn and improve while you play.
    In addition to breaking down how Visor works, we also want to outline the three remaining alerts that Visor provides in game.

Alerts

  1. Help Ally Hero — Your ally hero has died many times to the enemy hero.
  • Visor can look at which ally heroes are killed by which enemy heroes. Once that number reaches a hardcoded threshold, Visor can remind you to keep an eye on your teammates and lend a hand whenever possible.
  1. Help Healers — Healers are dying early in many team fights
  • Visor can determine when a team fight has occurred and identify if healers died in the first half of a team fight. If that tends to happen more often than not, Visor can send you an alert reminding you to monitor your team before and during team fights.
  1. Prioritize Ult Use — You’ve been holding your ult for 60 seconds
  • Visor can see if you have your ult, and once you do, will start a timer. At certain intervals (60 sec, 90 sec, etc.), Visor will send you a reminder to help you build habits around actively identifying opportunities to use your ult.

For those who are interested, this is what Visor can see.

https://www-visor-assets.s3-accelerate.amazonaws.com/obs_example.png

As many people have pointed out (myself included), Visor’s live notification feature set has been entirely based on what it can see, and nothing more.

Visor has, in the mean time, been reconfigured to run on vanilla OBS (it already ran on a heavily modified version of OBS) for post-game statistics only, removing live notifications.

This should open up a discussion about Visor/Pursuit and other third-party programs beyond “it breaks the ToS/EULA therefore it’s not allowed” which sidesteps/ignores that other third-party programs exist and are used constantly with Overwatch.