The hardest part of developing a huge open world game isn’t building a massive amount of locations, missions, and features. It’s about making sure all the elements of a game work together as one cohesive and exciting experience.
In Watch Dogs: Legion, players have the unique opportunity to play as anyone in the sprawling near-future London – a gameplay innovation never seen in a game before. To ensure players aren’t overwhelmed by all the new things being thrown at them, the mission technology team created the Player Attention System.
It started as a bugfix for a problem with the game’s missions, but soon turned into a valuable tool to help keep the gameplay experience rich and rewarding for players.
Jurie Horneman, team lead programmer for mission technology on Watch Dogs: Legion, explains.
A problem leads to new solutions
“Mission givers” (characters that give you a quest when you talk to them) are a well-known convention in games. But for Watch Dogs: Legion, we wanted to use a different approach to starting missions.
Watch Dogs games are set in a world where wireless communication is ubiquitous, so it didn’t make sense for every mission to start with face-to-face contact. In fact, we wanted a more fluid experience where missions could start themselves. We call this “pushing” missions, and it creates the impression of a world that does not sit around waiting for the player to do something.
My team had the responsibility of making this happen.
The initial design direction was simple: don’t push missions when the player is near a restricted area or in combat, because the player will be distracted. And don’t push too many missions too quickly, because the player will have trouble absorbing so much information at once.
To solve this, we implemented a simple solution where each unlocked mission looks at what the player is doing, and at a global timer to decide whether the mission should start.
During development in late 2018, all the missions were hooked up in the game and we started seeing the limitations of this approach. Each mission was deciding for itself when to start without priorities. We ended up with weird situations where you would finish one main story mission with a cliff-hanger… only for that to be followed by a random side mission that also happened to be ready, and which squeezed in before the next main story mission. This resulted in breaking player immersion in their current mission.
At the same time, we were beginning to see something else we wanted to improve.
Why fix one problem when you can fix two?
The put an enormous amount of effort into making sure that characters in London are memorable and interesting.
You would see them on the street, get to know them better during recruitment missions, and finally win them over to join your DedSec team… and then they suddenly lost their personality. To fix this, we realized we could make operatives feel like real people and DedSec feel like a team by adding more contextual dialogue to the game. But how can we make sure we don’t play dialogue when the player is busy?
It was time to take a step back to restate the problem. Our key insight was that this was a similar problem to making sure we don’t push missions at inappropriate moments. Instead of missions looking at a timer to see if they could start, what it really needed was something that told them when it was a good time for the player to pay attention to the missions. Playing contextual dialogue needed the same rules, and this is how the idea for the Player Attention System was born.
The Player Attention System
The Player Attention System is like the player’s personal assistant, making sure they’re not bothered by too many demands on their time. Whenever a system needs the player’s attention, it must fill out a request form, which you can imagine contains questions like this:
- What type of thing are you? A mission? Contextual dialogue? Something else?
- How important are you?
- How attentive do you need the player to be?
- What’s the longest you can wait for the player’s attention?
A request from a mission would look like this:
- I am a mission.
- I am pretty important (it depends on the mission).
- I want the player to be fully attentive.
- I can wait as long as it takes – the mission is not going away.
But a request for some team banter, like “WHOA! Did you see that freaking KILLER DRONE?!” would look like this:
- I am contextual dialogue.
- I am not that important.
- I want the player to be fully attentive.
- I can only wait 5 seconds because after that the player won’t understand which drone we’re talking about.
The Player Attention System constantly monitors how busy the player is. When it looks like they’re ready for something new, it scans through all the requests and picks the one with the highest priority. Then it starts a timer for that type of request. If we want there to be no more than one mission per minute, we start a 1-minute timer, and all the other mission requests must wait.
The mission will eventually get called back with a message from the Player Attention System saying it can start, but the team banter is more likely to be called back with a message saying the player’s attention was not available in the five second window. In that case, the team banter system simply tries again the next time the player character encounters a cool drone, which luckily happens a lot.
How do we determine the player’s attention, and what does it mean when we ask: “How attentive do we want the player to be?”
can’t actually know if the player is paying attention to the game. We have no way of knowing if they are playing while watching TV on the side, or petting their cat, or chatting with friends. The only thing we can know for certain is what the game throws at them. We know when they’re in a restricted area, or being chased by the authorities, or watching a cut-scene. The Player Attention System looks at all these things that could be distracting the player (we call them attention aspects) all the time.
Most player attention requests want the player to be relaxed and ready to absorb new things. But sometimes we want more nuanced control. For instance, the first time you put on a mask, your character might say they’re feeling cute, and other DedSec members might agree. The only problem is you put your mask on while in restricted areas, so you won’t get to hear that dialogue. To ensure the player gets this piece of team dialogue, we want to say that being in a restricted area is fine for this request. Think of the “how attentive” part of the request as a long list with one checkbox per attention aspect, so each request can say exactly what they need.
Once the new system went in, the results were very positive: We had more control over the timing and ordering of pushed missions, and we were able to play engaging that made DedSec feel more like a group of people rather than interchangeable player resources.
Since then, we’ve done a lot of tweaking to the player attention aspects. Through playtests and internal reviews, we discovered more situations where it was hard for the player to absorb new information, such as:
- The player is looking through a security camera.
- The player is controlling a drone or spiderbot (and probably doing something tricky).
- The player is looking at an in-game menu.
- The player is inside a building, which is probably filled with enemies.
- The player is listening to narrative.
- The player is escorting another character.
- The player is delivering a vehicle.
- The player is near a tracked mission objective.
The last one was particularly interesting. Missions in Watch Dogs: Legion often play some narrative when the player approaches the mission’s next location. We found that if we play some different narrative at that moment, it tends to confuse players. For example, if we tell you to go to the London Tower, and as you get close… we suddenly inform you about a different mission, that is confusing. Adding this player attention aspect solved that problem.
Along with tweaking the Player Attention System, we also found a lot of new ways to use it. Because it is an independent system rather than something tied to missions, it can be used by anyone. When the player’s AI assistant Bagley explains how the game’s Parcel Fox or Street Art activities work, or informs the player there’s a valuable potential recruit nearby, we use the Player Attention System to make sure the player is not too distracted to absorb this new information.
By taking the small problem of when to push missions and solving it in a more universal way, we were able to ensure the player is never bombarded with information, no matter the context. s always there, quietly guiding the player into a smoother, overall better experience, never drawing attention to itself.
As it should be.
Thank you, Jurie!
For more details on Watch Dogs: Legion, visit https://www.ubisoft.com/en-ca/game/watch-dogs/legion