by Andrew McLeod and Lee Bledsoe on February 26, 2015
As we began populating the Heart of Maguuma with new creatures and new challenges, we saw an opportunity to take a system that exists in the game—the Defiance boss effect—and make it both easier to understand and more conducive to interesting combat moments. Today we’ll talk about that change and how it applies to the wyvern—a new champion creature you’ll encounter as you adventure through the jungle.
In Guild Wars 2, there are many skills that we consider control skills because they control what an enemy can do. These skills can stun an enemy, make them run in fear, knock them down, or otherwise prevent them from moving and attacking as they wish. These become problematic for boss creatures, which could be permanently controlled when fighting a coordinated group or large number of players. That’s where the Defiance system comes into play. Champions receive stacks of defiance based on the number of enemies engaged. Each stack of defiance nullifies one control effect and is removed in the process. Once all of the stacks are removed, the next control effect that a player uses is applied to the boss. This makes it possible to coordinate usage of control skills to interrupt the boss without overwhelming it.
However, defiance as it currently exists has room for improvement, so while working onGuild Wars 2: Heart of Thorns™, we decided to revisit this issue and formulate a better solution.
While coordinated groups can use the Defiance system to interrupt enemies at key times, it is much harder to use the system intentionally when playing in the open world. A player using a control ability at a bad time could nullify the efforts of the other players present. Additionally, every control effect is treated equally. This means a 3-second stun from Skull Crack has the same effect as a 0.25-second daze from Head Shot. Blindness doesn’t fit well into the system due to its ease of application, and it has its own specific rules instead of working like other control abilities. To resolve these issues, we are making changes to the Defiance system inHeart of Thorns.
In the expansion, we are adjusting defiance to display as a bar beneath the creature’s health bar. Using a control ability against a creature with defiance will remove a portion of the bar, and the bar will regenerate over time. When multiple control abilities are used together, the defiance bar can be fully depleted and the creature becomes broken.
When broken, some champions may simply be stunned for a time while others may have specific mechanics like a defensive shell that can be shattered. With the new system, we can adjust how much of the bar is removed so that a skill that stuns the enemy for several seconds does much more than an ability that briefly dazes the target, and blindness can remove an appropriate amount of the bar instead of having its own special rules. With the regenerating bar, we’re able to reduce the amount of control required to trigger defiance while still requiring coordinated effort to control the boss. Badly timed control abilities can no longer ruin the efforts of other players, and the bar’s visibility makes it easier to see when other players are attempting to control the boss and help out.
With the greater flexibility of the new Defiance system, we’re able to better incorporate specific encounter mechanics. For instance, in the Heart of Thorns announcement trailer, we showed off glimpses of a new champion creature that has custom defiance behavior as part of its encounter design—the wyvern. Wyverns are flying, fire-breathing creatures that inhabit the jungle canopy and rule the skies above. They can be found harassing their enemies from the skies as players traverse the jungle below, and players can journey into the upper reaches of the canopy in order to try their hands at killing them.
A wyvern fight is composed of two stages: a ground phase where the wyvern is on the ground and fighting players directly, and an air phase during which it flies through the air and ignites large swaths of the battlefield. While the wyvern is not normally affected by control abilities, it gains a defiance bar when it attempts to take off and transition into its air phase. If the wyvern completes its takeoff skill without being broken, it cannot be attacked while flying and players must avoid its aerial attacks. However, if the defiance bar is depleted before it finishes taking flight, it is knocked out of the air and is vulnerable on the ground for several seconds, giving players the opportunity to attack.
Most of the wyvern’s attacks are with its deadly fire breath, which coats the ground with napalm-like flames. This fire burns for a long time, cutting off large portions of the battlefield while the wyvern uses its tail and wings to knock players back. The ignited ground is very dangerous, so players must be careful to position themselves well and avoid the wyvern’s attacks, as getting knocked back either onto the ignited ground or off of the platform’s edge will likely be fatal. The fight is designed so that players must dodge and move quickly in order to stay alive.
Bringing the Wyvern to Life: Visual Effects
The wyvern’s heavy use of fire attacks presented the visual effects team with some challenges. The first is that the wyvern can create multiple areas of fire, and those areas then remain in the world for a long while. This results in dozens of fire effects on the screen during a battle.
Too many heavily detailed fire-area effects will cause frame rate performance to drop to unacceptable levels because of overdraw. Overdraw refers to the number of particles on the screen in a given area. The more particles, the more overdraw, and the more performance and frame rate become an issue. To make realistic fire, you may want lots of particles for flames, fire licks, smoke, heat distortion, and scrolling flame geometry. We knew early on that we wanted the wyvern to breathe believable fire. To keep our particle and geometry counts down so that performance remained high, we developed several new fire material types.
The first new fire material we developed was a lavalike ground decal that would become the main visual element of the wyvern’s fire areas; the incinerated ground becomes a liquefied pool of molten material. The decal is supported by a few well-placed particles and fire geometry effects. We also developed a flow material for the flame-breath effects so that we could rely more on geometry effects rather than having to use hundreds of flame particles.
The biggest challenge we overcame with the wyvern’s visual effects was how to indicate to players that the wyvern is about to breathe fire. We wanted a molten glow to travel up from the wyvern’s belly to its throat before it released the flames.
Effects like this may be easy to show in a movie, where particle count and shader complexity aren’t issues, but for an MMO game where performance is key, we had to get creative. For this, we pushed the limits of a little-used system called material replacement. This is a pretty basic creature system that players may be familiar with. For example, when a player is poisoned, you’ll notice that your player model texture is changed to a sickly, yucky green. This is material replacement.
The visual effects team worked hard to leverage the material replacement system in ways we never had before. Working with our programming team, we added new features to material replacement, expanding its capabilities and giving us the ability to animate the materials’ shader values and texture sets over fixed durations of time. The material replacement system is not a friendly system for an artist to work with—being all text field entries and no instant visual feedback—but in the right hands, it’s become a powerful visual tell for the new creatures in Heart of Thorns.
To leverage this system for the wyvern, we created another custom glow material that allows us to control regions or areas of glow on its body, enabling us to fade different glowing areas on and off. We knew we wanted the glow to build up in its belly, moving to the chest and neck, and finally to the throat and out the mouth, and we wanted these areas to glow consecutively, supporting the napalm-like fire effects. Using material replacement, we then animate by adjusting text values for the different glow areas to match the animation of the wyvern breathing fire, resulting in a wyvern that—through the buildup of molten lava inside itself—shows fire is coming, giving you ample time to evade the impending inferno.
If you’re attending either PAX East or EGX Rezzed, you can look forward to playing our PvE demo and facing off against the wyvern yourself. Stop by booth #5116 at PAX East, or East Mall 3 at EGX Rezzed, to get your hands on the first-ever playable demo ofGuild Wars 2: Heart of Thorns!