Author: zoopercat (page 2 of 15)

Healer sims (Part 2) – modeling boss fights

Part 2 in this series looks at how boss mechanics and phases get incorporated into a healing simulation.

As a real (human) healer, you react to your environment. If the raid takes a ton of damage all at once, you use a big AoE cooldown. If a tank takes spike damage, you use an instant heal. If no one is under immediate danger, you HoT a few people or use small, mana efficient heal.

Every time you fight that boss, it seems like chaos. However, boss mechanics are very predictable and happen on a specific timer. That means it is easy to model into a simulator.

Each attempt on the boss feels chaotic because who gets hit and how many people get hit changes on each attempt. Some people run out of fires quickly, others don’t.

Our healing simulations can account for all of this. Below are some examples, but everything can be customized since the simulator is controlled by the open-source wiki.

Defining boss mechanics in the simulator

This is best explained by example.  Let’s take a common boss mechanic where someone is randomly targeted to take a lot of damage, and that repeats on a timeline.

To create that spell in the simulator, I’d have to designate a target, when it happens, and how much it hits for. Not so bad, right?

To make that work, I would program the following variables into the boss script:

  • Target: 1 random player, melee or ranged
  • Time: target someone 15 seconds into the fight and repeat every 20 seconds thereafter, until phase two.
  • Damage: 50% of ally health

To continue this example, let’s say some raid-wide damage happens at the start of phase 2. There are a few things I would program differently:

  • Target: entire raid
  • Time: start of phase 2
  • Damage: 70% damage multiplied by a random variant (to account for differing health pools)
  • Event type: Predictable AoE

Notice that the ‘Event Type: Predictable AoE’ flag shows up. This is important because it lets the simulator act like a human would, and it holds your big AoE heal until this event happens.

While the Single Target spell is predictable on a timeline, we don’t know who it will hit, so as a healer, it’s not possible to plan ahead. But for something like the AoE event,  healers can plan ahead.

Player positioning

Sometimes it matters where each player is – maybe they take more damage from a mechanic, or maybe it affects the healing they get. The simulator accounts for both.

For example, sometimes when the boss casts an AoE spell, players take less damage the further away they are (like the transition phase for Garothi). In the simulator, we can program melee to take more damage than ranged if we want to assume they don’t run as far away. Or we could  add an even greater variance in damage formula to account for some people running really far and others not so much.

In another example, some healing spells heal a group of players in a targeted area. We can define the number of players in an area and how far apart they are spread out.

Tanks also get special treatment in the simulator

Tanks are one of the most important targets to keep alive since a wipe is very likely if one goes down. So they’ve earned some special logic in the healing simulations.

Regular boss mechanics are easily programmable, like auto attacks and other single-target hits that focus on the tank instead of the rest of the raid. But let’s look at something a little more tricky and life-threatening.

Let’s say a boss applies a stacking debuff that causes the tank to take bigger and bigger hits. The tank starts to take critical, life-threatening damage at 4 stacks, but can’t swap with the OffTank until 6 stacks. Here’s how I’d program that into the simulator:

  • Target: tank
  • Time: start at 10 seconds
  • Repeat: stack debuff every 3 seconds
  • Max stacks: 6 (tank swap)
  • Damage: 15% of tank’s health per stack
  • Event Type: Tank

You might recognize the “Event Type” flag from the AoE example. This time, it is telling the simulator that is a predictable mechanic for the tank, who will be taking a large amount of damage. This lets the simulator plan ahead and pre-HoT the tank before she reaches 4 stacks and then gets ready to pop cooldowns and use big heals until the tank swap.

But what about that guy who stands in fire?

We all have a firestander on the team, don’t we? (I admit, I’ve stood in my fair share of fires, no judging here!) One common concern regarding healing simulations is, “You can’t predict when someone will stand in a fire.”

That’s true, you can’t predict it. Neither can a simulator.

So both humans and computers are in the same boat… neither can see the future. But we can simulate the chance of this happening, which would looks like this:

  • Create a damage effect in the boss script – let’s call it “Fire Patch”
  • Give Fire Patch a chance to target someone
  • Once someone is targeted, give Fire Patch a chance to either do damage, or not do damage (to simulate someone who moves out of it). This could be adjusted to the average your teammates tend to stand in fire.

There’s also one more important thing to consider: we use healing simulations to determine what talents to use, what gear to pick, and which stats are best. And all of those things have to be chosen before the fight begins – you can’t change talents mid-fight to cast bigger heals on a fire stander.  You can’t magically change all of your gems and enchants to haste mid fight so you can spam heals on a tank who’s about to die.

We have to make some decisions before the fight begins.

My advice is to choose one of the following strategies ahead of time, then use the simulator to account for that. For example, you might want to pick talents and gear assuming one of the following…

  • Your team will execute the fight really well
  • Some people on your team will mess up, but nothing drastic
  • The number of fire standers in your raid will drive you crazy

If you pick the first option, you might end up with gear that does the most overall healing. If you pick the last option, you might end up with gear that has really high burst healing but not as much total throughput. You could even do something crazy and have one of your healers on the team gear assuming the worst, and everyone else gear assuming the best or somewhere in between. That way, if someone does take a huge spike in damage, you have a healer equipped to cover it.

Up Next

Now that I covered the incoming raid damage, next I’ll talk about how to heal that damage. Healers don’t have a ‘rotation’ like DPSers do, but their logic is still very programmable. Simulate healers - part 3 - healing rotation

Healer simulations (Part 1) – Factors that need to be accounted for

Healers have gone so long without a simulation model, that “you can’t sim healers” often gets passed off as a fact.

It’s obviously more difficult to sim healers than DPS, but nowhere near impossible.

We started working on this in Legion and we’ve iterated on healing simulation models throughout that expansion. It proved to be pretty solid for the last tier, so now it’s ready for a featured debut in BfA.

I probably shouldn’t call this article series a ‘featured debut’ because that makes it sound like I have an action-packed, entertaining line up for you.  This is probably going to read more like a documentary… it won’t be as entertaining, but like any good documentary it should be educational, eye-opening, and dispel some myths. I just hope it doesn’t put you to sleep.

What factors need to be taken into account for a healing simulation?

One of the biggest challenges when creating a healing simulator has been, “Can we account for all of the necessary variables?”

To get a starting point, let’s look at DPS for a just a moment. Simulating DPS boils down to damaging a boss, switching to adds when necessary, and moving out of fire (among a few other small things).

Simulating healers requires reacting not only to boss mechanics, but the ever-changing health of each raid member. Things get a lot more complicated for healing sims.

So what’s needed to build an accurate healing simulation?

Damage taken by raid members: you have to know how much people get hit for so you know who to heal and how much healing they need.

  • Tank damage, including auto attacks from the boss, raid-wide damage, and spike damage
  • Player damage, including random-target boss mechanics and standing in fire
  • Raid damage, including raid-wide AoE damage

Boss fight mechanics and phases: this is important so the simulator can plan ahead just like you would in a real fight. For example, this allows the simulator to account for things like:

  • Phases: Pre-HoT team members before a big AoE spell
  • Phases: Save big healing cooldowns for a specific phase of the fight
  • Mechanics: tank swaps might make you change healing targets or heal differently if one of the tanks has a stacked debuff or a ticking DoT

Other sources of healing: 

  • Other healers on the team, including how many and how much they heal
  • The aggressiveness and/or skill of your other healers. This accounts for healers that might always outheal or underheal the rest of the team, which factors into overhealing
  • Overhealing: other healers are being simulated with their own logic, which lets us sim overhealing for all of your spells
  • Sharing big cooldowns: some parts of a fight benefit from coordinating the use of big heal cooldowns within the healing team

Your healing: The simulator needs to know  how you heal in a real fight so it can make decisions like a real player.

As a healer, you don’t really have a ‘rotation,’ you have a set of rules that respond to the environment and players’ health bars. You react to what’s going on around you. Here are some examples:

  • Heal the player with the lowest health first
  • If no one is missing a lot of health, use a small, mana-efficient heal on people who aren’t at 100%
  • Keep HoTs on the tank
  • If someone takes spike damage, use an instant, big heal to save them

Metrics: When you simulate a healer, you need some outputs to determine which talent or item has potential to do more healing.

  • HPS (Healing per Second) – A good measure of total throughput (on meters, it isn’t always a good measure of who your best healers are)
  • Ally Deaths – Another measure of how good a healer is – how many people died in the fight?
  • Mana – did you run out of mana? How much did that affect your total healing?

Simulating everything in these lists:

The simulator accounts for everything listed above (and more), which we’ll get into during this series of articles.  Meanwhile, if you think something is missing or have questions or ideas, head over to the forums to discuss these articles.

Healing simulations - modeling boss damage

Tank sims (Part 3) – DPS, Heals, & Metrics

As a tank, do you have enough gear to live through damage spikes? Can you live long enough for your healing team to help you recover? Are you tanky enough that you can use gear and talents that favor DPS a bit more?

By accurately modeling a healing team and measuring your tankiness vs damage, we can use tank simulations to answer these questions. Continue reading

Tank Sims (Part 2) – Modeling bosses & rotations

There isn’t much use for a tank simulator unless you have something to tank. I know, I’m captain obvious over here.

The boss mechanics and how tank ‘rotations’ interact with them are the core of tank simulations (and I think, the most interesting). I’m covering both of those things in this post (Part 2). Continue reading

Tank sims (Part 1) – Overview

Simulating DPS, even as a tank, is pretty straightforward. Most people who are familiar with simulators ‘get’ this concept and have used tank sims for this purpose.

Simulating your survival as a tank isn’t as straightforward and requires a more complex system. Since it’s complex and new to most people, I’ll be covering the system in detail in this series of tank-simulation articles. Continue reading

Uldir – Taloc guide to analyzing DPS

Taloc is mostly single target, with a phase in the middle where you kill some adds. There’s a moderate amount of movement, some of which puts melee out of range of the boss. This isn’t a guide on how to kill the boss, rather some analysis on how the boss will impact your damage, trinkets, and other gear. Continue reading

BfA updates for Ask Mr. Robot

We have some exciting updates and new features launching on Monday. If you have any questions for feedback, visit this forum thread.

One trend stands out in our BfA site: all gear and stat recommendations are based on simulations we do for you ahead of time, so you don’t have to do it yourself.

Continue reading

Stat Analysis – automatic “stat weights”

I put “stat weights” in quotes, because there’s a lot more to stats than just a simple set of weights. Stats seem simple, but they are actually quite complex if you want to “min-max.”

Stats are complicated because… Continue reading

Join the GloNet for BfA

If you’ve ever wished you didn’t have to run ‘stat weights’ every time you changed talents or gear, you’re reading the right article.

We’ve been doing it for you throughout most of Legion. That’s what our “Adaptive Gearing Strategies” do – they use simulation data that’s customized to your character. That’s possible because we’ve already simulated the required talent and gear setups for you, ahead of time. Continue reading

AMR will be ad-free for BfA, even for free users

No one likes ads.

Just ask the 75% of gamers who run ad block. Or ask any web designer who grumbles about ads interfering with pretty site designs. Or ask any developer who has had to deal with slow page load times.

But at the same time… we all kind of like ads because we understand that they help keep websites free. And that’s worth a lot.

People don’t mind ads unless…

When ads on a site start to get out of control, people notice. I wanted to quantify this, so I ran a survey to gather people’s opinions about ads. I know, it’s probably not surprising to most of you – we’re data driven – even when it comes to ads! Continue reading

Older posts Newer posts

© 2019 Mr. Robot's Blog

Use the tools on AskMrRobot.comUp ↑