The Spectator Mode We Deserve
By Brad “Innuendo” Phillips
I know from various places Arenanet has mentioned that "spectator mode" is currently road mapped for "whenever the community yells enough about it that they prioritize it over other features," so before we get too far, this is me yelling about it.
Joking aside, I find it odd that we'll talk about item preview as "mandatory before ship" but something like spectator mode is "based on player demand." Everyone who wants to see sPvP take off from a competitive standpoint knows that spectator mode is simply crucial. Not helpful, crucial. If I (or other viewers) can't easily spectate on high level play, I can't see sPvP becoming what Arenanet have stated they want it to become. This includes stored replays, post round analytics, and other features in this same vein.
Today I wanted to discuss a vision for how spectator mode could (and in my opinion, should) work. I think Arenanet needs something to raise the bar here. The worst part about spectating in a game with 2+ players is the constant need to micro manage your camera. Sometimes I feel like I do more work to watch the game than I do playing it. Trying to find the action, trying to get a good view of said action, making sure I don't miss anything important to the game. It's a hassle, and if you just introduce a bare minimum spectator mode I'll agree with you guys, it's not worth the time before launch.
What I'm about to lay out is an evolved spectator mode meant to be "hands free" and yet still provide a caster-like experience to every spectator (with bonus customization to suit each viewer’s needs).
Autocast aka The Spectator Mode We Deserve
Cheesy name is cheesy, but it sums up the idea in one word. I'll dive into how the nuts and bolts would look in a second. First let me say the idea is simple: let the game handle the camera and viewing angles. Let the game predict where the action is, and ensure that every spectator sees all the action they want to see, and none of the lull they don't. Let the Spectator who joins a match click once to enter and then get to sit back and enjoy a TV like experience. This level of accessibility and quality could instantly put this game on the e-sports map, in ways other games can only aspire.
You could do this fairly simply I believe, at least from a "how it works" point of view. I'll break it down into steps.
1. Add fixed and dynamic camera locations to each sPvP map
The idea here should be pretty easy for Arenanet to add to each map. Place about 50-75 "cameras" in the map that give an overview of all the major locations. These cameras will be possible camera angles that Autocast can select. If some areas are tight or it feels appropriate Arenanet could use cameras that track around an area and pan through one for more visibility. An example would a camera that slowly circles around a capture point, back and forth, showing a broader angle without having to have 2 unique cameras in that area.
In addition to those map cameras, each player in the game gets a chase camera that sits a little further out that the normal player's character maximum zoom, no player UI visible (e.g. skill bar, target interface, or map) and shows just the area around the player, The orientation is pointed towards "anchor points" that are placed on the middle of open areas in the map. These anchors ensure that wherever the character is the camera, it is pointed towards the area most open on the map.
In addition to the chase cameras, there is an additional player camera that is just their character's view box. Skill bar and target visible (but I would say no map or chat). This camera sticks to the character's regular in-game camera, so when the player turns the camera this follows. This is easily the most intimate view.
2. You have your cameras, now add your director
Based the above there would be roughly 70 to 100 cameras in the map. 50-75 map cameras, 10 chase cameras, and 10 player view cameras. So the next question is how does the game know what camera to use? How does it focus on the most interesting action, while maintaining a level of sanity so that players can follow the camera switches? The answer is “weight”.
Each camera starts the game with a weight value. Camera weight at first is based on its type (map, chase, or player). And then as the match plays out the weight will change based on what the camera can see in its field of view. This would use similar technology to the Level of Detail (LoD) Arenanet is using for particle effects. In short, it tracks what the player can see and it lowers the quality on everything else. Only in this case the game would be tracking what each camera can see and adjusting its weight value as things enter and leave the frame.
Let’s give some examples of a weighting table. For each of these objects in the camera’s field of view, add this weight to the camera. This is not a complete list, but some examples:
- Player Character = 30 weight + 20 weight if <25% health + 50 weight if downed
- Capture point = 50 weight + 50 points if contested
- Pet/summon/minion = 10 weight
- Regular ability being triggered = 5 weight, lasts 3 seconds from ability's activation
- Elite ability active = 30 weight
And to refine, you would add map specific values:
- Trebuchet under attack = 50 weight
- Trebuchet repair pack = 20 weight
- Forest NPC = 50 weight
Each camera adds up its weight and Autocast would prioritize the heaviest camera since it will contain the most action. You'll notice in the above table common actions like ability use adds short bursts of weight, while more fixed attractions like capture points carry an inset weight of their own which ensures the camera will tend towards them. With this system in effect, you can add weights to all sorts of actions as well, even skill specific (e.g. death shroud used, warrior burst skill used, heal skill used). The game is already aware these things are different, now they just add a little extra information about their usage to the cameras that see them.
This system in a pure form would result in two unfavorable side effects, at least two I thought of immediately. One, it would get "stuck" on the largest fight for overly extended periods, hopping between various angles of the same fight, at the detriment of all other "side action." Two, it would switch at too frequent a rate to be tracked by players as the weights of these cameras would be very volatile.
This brings me to step 3.
3. Make that director smart
This is where you start to fine tune the experience so that it flows naturally. Now all of these numbers are just theory for me; if this was implemented Arenanet would have to tune them to feel correct.
The way you make the system smart isn't a bunch of rules and manual switches, you just evolve the weight system to add contextual weights. Here are some examples, with explanations of their impact on the system (as before, this is not exhaustive):
A) While a camera is active = -100 weight to all cameras within 50 meters.
This has the effect of preventing switches to cameras with identical or nearly similar views. Hopefully the camera would travel around the map a bit, which is desired to see all the action. This is aimed at solving the first of the two issues above.
B) When Autocast switches to a camera = +200 weight.
This provides the camera some "stickiness" after a camera swamp and prevents "quick cuts" which would be jarring to watch, addressing issue two above.
C) While a camera is active = -2 weight per second it has been active.
This would make it unlikely any one camera angle would be used for a long period of time. This, in combination with the above, would create an Autocast that once it cuts to a new camera would stay their briefly, and then after some time be more likely to switch away. Of course, if the action stays intense, the camera would overcome this weight loss.
So what these do in concert is create a camera the after it switches will stick with that view for some period, and then after a little bit, based on the rate of action in that camera, move to a new zone of action, preferably at a location 50+ meters away to ensure you see the all the action on the map. If at any time a new burst of activity comes up and really shoots a new zone of activity up the weight scales, Autocast would still be able to overcome these built in regulators and cut to that action.
At this point I think you *could* stop. You would have a dynamic system that shows the whole fight, focuses on the hot spots without lingering, and also ensures nothing goes unnoticed. But this isn't good enough. We can do more with this tool to really make Autocast the talk of the town.
4. Make that director personal
This is where I get excited. Everything above is great, but it's one-size –fits-all. With A simple panel of Autocast preferences I could tailor the view to my exact desires. I'm eager to explain this, so I'll jump right in. Some example sliders follow. Each of these sliders is -10 to 10 (with 0 in the middle).
- Map Cameras vs Player Chase/Viewbox Cameras
- Player Viewbox Cameras vs Player Chase Cameras
- Players vs Objectives (capture point and map specific)
- Camera Cuts vs Camera Stickiness
Based on the settings, you update the weight impact of each of those cameras or variables. Favoring characters for example would make base character weight an additional 10 or 20 based on the setting. Favoring Camera Stickiness would make the "when camera switches..." effect in step 3 above add 300 or 400 instead of 200 weight, causing the camera to linger on a steady shot longer.
I would imagine the default settings in a system like this would be tailored for new players (Map cameras favored, objectives favored, camera stickiness favored) because that would present a more "sport" like experience where you just see the action without getting too much of a peak behind the curtains. Thankfully GW2 is a very visual game, so you'll see what is going on without needing to see the skill bars of players and become overwhelmed with all the information.
As players watch more they would naturally want to switch to seeing the player’s viewbox more since it will make sense to them, and if they want they can increase the camera switches so they see more action with a less "steady" camera effect. You could even weight certain professions (say I play a warrior and really want to watch other warriors play. Simply add +20 weight to all Warrior cameras).
Players could even have settings to favor elite abilities more, or kills more from these settings. In the end I get to see the action I want, in a way I want. Imagine watching an (American) football broadcast where I get to choose what positions I get to see. If I was a wide receiver growing up I would love to watch their routes down field instead of always watching the QB in the pocket. That would be incredible. Or say I like watching blitzes. I could set settings to see every blitz as it comes off the edge.
All of this would be dynamic, and all without me having to constantly hop around the cameras manually.
An example more specific to e-sports would be something like Tribes: Ascend. Without going into too much detail, the casters for that game really suffer from "follow the capper" since they are the most dynamic part of the field. But when I play Tribes, I play clearer or Heavy on Flag. When I watch a tournament, it would be great if the camera angles I got to see tended towards those roles.
5. Everything else
That's it for the nuts and bolts really. I think the benefits are obvious, but I don't think it can be understated how cool this would be. Imagine a tournament going on of the top players, and with a few clicks I could chose to spectate on the match and sit back and enjoy the whole experience like I was watching it being cast by a live person. This means literally every match in GW2 could have the top quality viewing experience, and the end spectator gets the best possible experience no matter what they want to see. Some games have features where the community could "step in" to cast a game, this feels like a natural evolution of that manual system.
There are fringe benefits to this system too. Since each camera is aware of what it sees, you can introduce some labeling or Auto-Announcing to the system. Imagine the bottom of the screen telling spectators what they see. For example, "Two Red team attacking the Henge", "Blue Warrior attacking Svanir", "Blue defends the Clock Tower in a 3v2", "Innuendo uses Tornado!"
Of course at any time the game could give players an "override" option that lets them manually switch cameras or go into a free float camera, essentially switch to a traditional spectator mode. But that's just bells and whistles. The UI for this would need to be simple as well. I would suggest mirroring the party bar on the top left of the screen to the top right (so that the left side is the red team and the right is the blue). This way at a glance you can see the player panels for all the combatants, and a snapshot of their health and conditions. But again, those things are just extras.
I really think Autocast would introduce new players to the sPvP scene in a way that is unprecedented in other games currently on the market. The game will be telling them what is important, why it's important, and focus on all that action in a dynamic and interesting to watch way. It fosters curiosity and invites new players to learn more about the game. If Arenanet wants the sPvP scene to flourish, if they want it to be inviting to new players just learning the ropes, so this level of presentation could be immensely valuable.
For now, we'll wait and see what they do decide to implement feature wise for spectator mode, and more importantly when those features will be ready. Here's me yelling again that's it should be sooner rather than later.
Thank you for reading.