Feedback & Analysis of PvE Personal Scaling Over 471 Battles

TLDR Summary:

A mid-level 3-star player should take roughly 100 total damage per enemy level to keep personal scaling in check.

You can level up your roster without affecting your personal scaling too much if you are willing to take more damage in PvE.

Scroll down for fancy data plots.

Introduction:

The mechanics of PvE scaling have long been a subject of debate in the community. An abundance of anecdotes coupled with a dearth of data have generated much confusion and anxiety among the playerbase. Despite many appeals to clarify this issue, the developers have been reluctant to provide much detail about the scaling system. Perhaps it is too complicated to explain easily, or there is a fear that more knowledge of the system may allow players to exploit it. Regardless of what engenders this reticence, it seems like the scaling system is something that players will just have to figure out for themselves.

The mixture of personal and community scaling in PvE made it difficult to untangle their effects in the past. When community scaling was disabled in late June however, I was encouraged to start looking at personal scaling in more detail, so I began collecting various data in a spreadsheet at that time. The hope was that even without any detailed knowledge about the underlying mechanics of the system, one could still obtain some phenomenological results to guide gameplay decisions. The advice offered above in the summary is one such result.

Nomenclature:

Some terms will be defined below to avoid confusion:
  • Node level is the level of an enemy in a PvE node. This level does not normally deviate by more than one between the three enemies in a node, so I will address each node as if it had a single level.
  • Initial node level is the starting node level in a sub event before the player has completed any battles. Many sub events do not reveal all nodes to the player before several battles have been completed however, so it is not always possible to determine all initial node levels accurately.
  • Lower/upper/essential nodes are the three categories of repeatable nodes that can appear in PvE events. There are at least three nodes of each type in a sub event. Lower nodes are the first nodes visible to players. Their level is capped, so they will typically have the lowest level of all nodes and are usually labeled by the game as having trivial or easy difficulty. Essential nodes are slightly higher in level and often labeled as having easy or normal difficulty. Upper nodes are unlocked only after playing the lower nodes, and are generally labeled as normal or hard difficulty but can scale up to deadly as well. The usage of lower/upper/essential nodes is meant to avoid any confusion that may result from designating nodes by their fluctuating difficulty level.
  • Community scaling is the adjustment in node levels that occurred automatically over time in response to how all players in a particular time slice are performing in each node. These adjustments to node levels were generally quite small individually, but they accumulated continuously over the entire course of PvE events and were the primary drivers of extreme node levels in the past. Community scaling was thankfully disabled in late June.
  • Personal scaling refers to the adjustment in node levels that may be triggered by completing battles. These adjustments tend to come in relatively large chunks. A level 120 node could easily gain or lose 15 levels in a single tick for example.
  • PvE skill rating is a single hidden rating for each player that is supposed to represent their performance in PvE. We can be reasonably certain that this rating exists because the developers have referred to it themselves, and it would also be the most expedient method to implement a scaling system in practice.
  • Scaling hell is the result of a negative feedback loop triggered by the current scaling system. Increased node levels may force players to deploy their best teams and use boosts, AP stealing/denial, or stuns to prevent increasingly dangerous opponents from ever firing off a single power. If the player is successful, the game will usually underestimate the difficulty of the battle and further scale up the node level.
  • Scaling ticks are the discreet jumps in node level that are triggered by community or personal scaling. For personal scaling, there appears to be a fixed order in which nodes will scale up or down. This is consistent with a model where each node has a different set of break points that determine when it will scale up or down based on the skill rating of the player. See the code block below for an illustration of this model:
          current skill rating of player ↓
    Low Rating <-------------------------▼------------------> High Rating
    Node A:    <------95-----------102-----------109-------->
    Node B:    <---------------120-----------132------------>
    Node C:    <---------142---------158-----------175------>
    
    Actual node levels due to current skill rating...
    Node A: 102
    Node B: 120
    Node C: 158
    
    Next scaling tick that can be triggered by higher skill rating...
    Node B: 120 -> 132
    
    Next scaling tick that can be triggered by lower skill rating...
    Node C: 158 -> 142
    
    If this is correct, then nodes that are supposed to be in ascending order of difficulty can appear to be out of order because the player’s skill rating may just happen to sit above or below some breakpoints. This would be consistent with the observation that the level of upper nodes can often appear out of order when it would make more sense for them to appear in ascending order of difficulty.
Methodology:

Past experience indicates that playing to one’s full potential would merely provoke a rapid inflation in node levels, with no respite until one finally gets trapped in scaling hell. Playing MPQ like any decent gamer would thus generate a poor data set, as one may not trigger enough scaling downticks to draw any useful conclusions. To improve data quality, I adopted the more unnatural play style of trying to maximize damage taken in battle while still securing a win. We can be reasonably sure that damage taken is the most important factor in personal scaling since the developers have repeatedly stated so in the past [1] [2] [3] [4] [5], and it agrees with the experience of many players as well. To help reduce possible interference from roster levels, I also tried to avoid leveling up any characters during the course of a PvE event.

The following information was collected for nearly every PvE battle I fought since community scaling was disabled.
  • Date and time of battle.
  • Even, sub event, and node name.
  • Number of enemies in node.
  • All node levels in a sub event, both before and after playing each battle. I used the maximum level for convenience, but also tried to ignore enemies whose levels were at the minimum of their star rating.
  • Total level of the highest level team that could be assemble for each node.
  • Level, maximum health, initial health, and final health for each character that was deployed in battle. All temporary healing was ignored and only true health levels were recorded.
  • Number of loaned characters available in each node.
Not all information was collected for all battles however. I did not start recording a detailed breakdown of my team’s level and health until about a third of the way through, and data for the total level of my best team for each node was only added around the halfway point. Information that could reasonably be construed to embody player performance but was too tedious to collect was ignored as well (e.g. turns used in battle, matches made, AP collected, powers used, etc.). Despite these shortcomings, some simple but useful conclusions could still be drawn from the collected data.

Data Plots:

Below is a plot of the total health lost in battle versus node levels. Red and yellow points indicate the battle lead to an increase in level of some node in the sub event, whereas green and blue points indicate a decrease. If a battle generated multiple scaling ticks, they will be recorded as multiple data points. The dashed line marks the threshold for 100 health lost per node level. It is not the best line that could be drawn to separate the up scaling versus down scaling data points, but it is simple and easy to remember, and appears to be sufficiently accurate to be used as rule of thumb. Keep in mind that this data was gathered with a mid-level 3-star roster, over a period of time in which the average level of my 3-star characters have probably increased by 30 or so to reach the current state of my roster.

ya1hYhL.png

Some salient features in the plot above are as follows.
  • The vertical spread of points around level 50 corresponds to the three repeatable lower nodes in each sub event. The initial level of these nodes were generally at 34/43/55 or 43/55/70 for me, and never scaled up or down in an sub event. The level of these nodes may correlate well with the initial level of other nodes in the same sub event, so they may be a useful bellwether in this respect. As I did not set out to investigate initial node levels however, it will take some effort to extract the relevant data to verify or reject this connection.
  • The blob of points around level 100 corresponds to the essential nodes. This dense smear of data points in this region is a result of my essential node levels drifting up from around 100 to 110 over time.
  • The data points from level 145 and onwards correspond to the normal/hard nodes in each sub event. Similar to the trivial nodes, I only encountered a few distinct sets of starting levels. The vertical patterns appear when I am able to complete many battles within a narrow level range by keeping personal scaling in check.
  • While most battles (362) resulted in no change in node levels, there were still many more that lead to up scaling (83) than down scaling (26) despite my attempts to generate more scaling downticks. This discrepancy could have several implications. If personal scaling during an event cannot reduce node levels below their initial values, then any data I gather will be naturally biased towards up scaling. Should that not be the case, then my PvE skill rating ought to be drifting upwards over time due to this imbalance, yet my initial node levels have remained relatively stable over time. This would suggest that there may be some natural decay of the PvE skill rating in between sub events, or that initial node levels are simply not influenced by the skill rating.
  • Only one node ever scaled above level 200, which was two or three ticks above its initial level. This occurred due to me blitzing nodes at the end of a sub event in order to secure some much needed hero points, so players who are not always in a rush can probably control their personal scaling in a similar manner and keep all node levels within a tick or two of their initial values.
  • The heavy dependence of personal scaling on health lost in battle can have undesirable effects on the metagame. A scaling system that looks primarily at damage taken will favor brute force characters that have no damage mitigation but can sustain a lot of punishment (e.g. Thor/Ares). Characters that rely on protect tiles, healing, stuns, or AP denial/steal, but cannot absorb much damage will in turn suffer greatly (e.g. Hood/OBW). This is one factor that also accelerates the negative feedback loop leading to scaling hell. Since many high level nodes cannot be defeated with brute force alone, players frequently have to deploy support characters that will greatly exacerbate their scaling afterwards.
  • At level 161, there is one scaling downtick that appears below an uptick. These two data points were from entirely different events, and may reflect different scaling parameters between them. The crossing may also be due to factors other than absolute health lost influencing the outcome here.
It is possible to generate a plot for percent health lost in battle versus node levels too.

lRgfVAh.png

The plot above is a good illustration of why personal scaling can feel so frustrating to players. Emerging from a battle with 70% health lost would make most players feel like they just barely eked by a very challenging battle, yet the game can still punish players by further increasing node levels because it decided that they still played too well. This is a significant flaw of the current system where the scaling behavior can deviate greatly from player expectations.

Let me note as well here that the high health lost expected from players in normal/hard nodes is not merely an artifact of the unnatural play style I adopted to collect this data. While the lower nodes and essential nodes gave me some leeway to deploy suboptimal teams, I rarely had the same luxury for the upper nodes, and frequently used a strong team with boosts to get through them.

Consistency of Data with Past Claims about PvE Scaling

Claim: The initial level of a node is based on the highest level team you can use in that node.
Sources: Demiurge_Will, more Demiurge_Will, and MPQ customer support.
Verdict: Possible.

The data collected so far is at least consistent with this claim, but the difficulty of running controlled tests on initial node levels makes it very hard to verify or reject this claim conclusively. The top three characters that one can bring into battle are typically the same for each sub event except for the essential nodes, and even then the levels may not differ much if you have an evenly developed roster.

When I began gathering data in late June, my highest level characters were in the 120s, with most others sitting in the 90s. I have since leveled three characters to 150 for PvP, brought a handful of others into the 121-140 range, and leveled up the majority of my 3-star characters to 120 if they had enough covers for it. My relatively stable initial node levels over this period of time would seem to contradict this claim, except that the three strongest characters I can bring into any node has not actually changed much due to character boosting. It is thus possible for this claim to be consistent with the data gathered here.

Claim: Character level and boosts do not affect personal scaling.
Sources: IceIX and more IceIX
Verdict: Partially true.

Character levels do not directly affect personal scaling, but they can do so indirectly by improving player performance, and perhaps by influencing initial node levels. The claim that boosts do not directly affect personal scaling seems very reasonable to me, but I did not collected any data about their usage.

Claim: The truth about PvE scaling and roster levels.
Source: Jamie Madrox / IceIX
Verdict: Consistency requires rejection of claims made by Demiurge_Will and MPQ customer support.

This well intentioned post carried a very confusing message, so I cannot even paraphrase it properly. Nonetheless, the content of the post can still be reconciled with the data collected if one assumes the reported test was performed as follows:
  1. IceIX creates a new account and populates its roster with maxed level characters shown in the first screenshot.
  2. IceIX joins the PvE event. The initial node levels would presumably be set at a minimum if they depend only on player skill rating, and we assume that new accounts start with a minimum skill rating.
  3. IceIX fights through several battles to reach the node shown in the second screenshot. Although it is possible for IceIX to skip battles using developer tools here, that seems like too important a fact to neglect mentioning.
  4. During the fights not mentioned anywhere in the post, the skill rating of this new account would presumably have increased due to the easy battles, and may have triggered several upticks in node levels. Because these scaling ticks would likely be distributed across all the nodes in the sub event, the particular node shown in the second screenshot may only have experienced a single uptick in node level that increased Venom’s level from 1 to 6.
  5. The screenshots get sent to Jamie, but some communication error results in him pointing at the second screenshot and calling it proof of a maxed out account experiencing “base scaling”. This conflicts with the definition given for “base scaling” just two sentences before because IceIX is very likely to have fought through several other nodes in order to reach the one shown in the screenshot.
If the above description of events is correct, then the actual message conveyed by the post is that initial node levels and the magnitude of scaling upticks are not significantly influenced by roster levels under the given test conditions. Unfortunately, this message would also contradict the advice offered by Demiurge_Will and MPQ customer support, who claimed that initial node levels are determined by the level of the best team available at each node. Given the lack conclusive data, this conflict may require developer input to resolve.

Conclusions:

Below are a few things we can learn from the collected data.
  • The amount of damage taken in battle is the primary factor in player skill rating, which in turn determines how node levels are adjusted during an event through personal scaling.
  • It is possible to trigger scaling downticks on purpose by taking lots of damage in battle.
  • A mid-level 3-star player will need to take roughly 100 damage per node level to keep personal scaling in check.
  • Sturdy character with self damaging powers like Carnage, Sentry, Ares, and Juggernaut are invaluable in PvE due to the ease with which they can trigger scaling downticks.
  • Flimsy support characters that generate protect tiles, heal, steal/deny AP, or stun enemies can inflate your skill rating and ruin your personal scaling if they mitigate too much incoming damage.
  • The makeup of the enemy team in terms of heroes or goons has no obvious effect on personal scaling.
  • It remains unclear whether initial node levels are determined by roster level, best team available, or player skill rating. Developer input is likely required to resolve the conflicting official information.
  • Node levels have not been observed to drop below their initial levels through scaling downticks during a sub event. Though I did not test this by repeatedly suiciding my entire roster in battle, it is possible that initial node levels are also minimum node levels for the duration of a sub event.
  • Players who are willing to exploit the personal scaling system’s reliance on damage taken in battle can probably relax the soft caps on their roster. Better PvP performance with a higher level roster still requires a sacrifice of deliberate poor play in PvE however.
«1

Comments

  • Vhailorx
    Vhailorx Posts: 6,085 Chairperson of the Boards
    What a great post. Lots of data to sort through.
    Can't say yet if the conclusions match the data, but it all sounds reasonable and is a great start.

    Thanks OP!
  • Spoit
    Spoit Posts: 3,441 Chairperson of the Boards
    I wish I could upvote multiple times. So to be clear you're suggesting that we should aim to take, for example, 25k damage for a lvl 250 node?
  • Great work thanks for doing this
  • atomzed
    atomzed Posts: 1,753 Chairperson of the Boards
    Give this guy a PhD!!!

    This would be a perfect example of a MPQ thesis icon_e_smile.gif
  • I logged in just to give OP a thumbs up and a thank you.
  • Spoit wrote:
    So to be clear you're suggesting that we should aim to take, for example, 25k damage for a lvl 250 node?
    If you have a similar roster as I did and intend to keep your scaling in check while fighting in a level 250 node, then the data would suggest that you should aim to take roughly 25k damage per battle. It may be difficult to manage your incoming damage in a level 250 nodes however, so it might be more practical to just play for a win there, absorb as much damage as can afford to without risking a wipe, then go back and fix your scaling by taking damage in a lower level node. If you look at the plot for health lost versus node level, you'll notice that I triggered a lot more scaling downticks playing in the lower/essential nodes than I did in the upper nodes. This is because these nodes allow for easier management of incoming damage.
    Can you post the underlying data? To a Google sheet?
    I am too lazy to make another throwaway email account for Google sheets, but you can have a copy of the spreadsheet here. The field names and color coding will probably make no sense to you, and it's missing data in some places because they have to be retrieved from other spreadsheets, but the bulk of the raw data on health lost versus node level should be intact here.
  • Pylgrim
    Pylgrim Posts: 2,332 Chairperson of the Boards
    Excellent job, hopefully a red name will contribute info next week. A question, though: Are you positive that the changes in the player skill rate are triggered by amount of damage taken and not by percentage of damage taken? It seems really obtuse to me from a design standpoint to make a system where teams of characters with heaps of HP (15k+) can generate more negative scaling weight by losing, say, a 50% of their HP than a team of support characters being beaten to 1% of their HP.
  • Pylgrim wrote:
    Are you positive that the changes in the player skill rate are triggered by amount of damage taken and not by percentage of damage taken?
    Nothing is for certain here. I did try to incorporate percent damage taken into a formula as well. Believe me, I tried.

    (you may read the following paragraph in the voice of an Evil Scientist)

    If one looks at the plot for percent health lost versus node level for example, it is possible to draw a straight line through the origin to separate the scaling upticks from downticks, and recommend "take 0.4% damage per level". (that is a pretty line!) The problem then is that such a rule would break at node level 250 (unless the developers were truly sadistic... wait, can we rule that out?), and trying to fix that would just open up a whole other can of worms. (what's the worse that can happen?) Maybe the upticks and downticks should be separated by a logistic curve? (no, but how about a hyperbolic tangent?) Perhaps the developers tried to balance high health versus low health characters by using the product of total health lost and percent health lost? (no, not that... but if I first take the square root of percent health loss...) Shouldn't the expected damage taken at each node level depend on the corresponding expected match/power damage at that level? (sooo... I just have to calculate a weighted average over all possible powers then...) What if there was a different rule for lower/upper/essential nodes? (if I create 471 different rules, I should be able to account for all 471 different battle results!)

    It was just too complicated for me in the end, so I decided to just go with "take 100 damage per enemy level".
  • Zen808
    Zen808 Posts: 260
    Methodology question: did you play all nodes straight up, or did you purposely play some so as to take more damage.

    If the latter, what method did you use to ensure that you took more damage (using weaker characters, not using powers, downing the least dangerous foe first, etc).
  • What about starting the match with low health? Like say you bring in Ares with under 25% health remaining and cast early rampages for quick wins. Does that count or does it only calculate health lost during the match?
  • Methodology question: did you play all nodes straight up, or did you purposely play some so as to take more damage.

    If the latter, what method did you use to ensure that you took more damage (using weaker characters, not using powers, downing the least dangerous foe first, etc).
    My goal was always to play each battle straight up in order to avoid boredom, so I would try to pick teams that could win a battle without completely crushing the enemy. If there's a Maggia Muscle in a node for example, I would probably not bring Elektra/Moonstone to the fight, but I may consider using Daredevil/Falcon to prevent a wipe.

    I did not have any specific method for taking more damage. Everything you can think of was on the table, although self-damage powers like Supernova and Headbutt were definitely my favorites. As long as 3-star Spiderman or a Maggia Don was not the last enemy standing, there was generally no great difficulty in taking a good chunk of damage.
    Enslaved wrote:
    What about starting the match with low health? Like say you bring in Ares with under 25% health remaining and cast early rampages for quick wins. Does that count or does it only calculate health lost during the match?
    It would be reasonable to assume that the scaling system only looks at health lost during a match, since it would be far too easy to manipulate otherwise. As I did not play many battles with heavily injured characters however, this is just an educated guess that I cannot back up with any data.
  • franckynight
    franckynight Posts: 582 Critical Contributor
    Amazing job.. Period..
  • GuntherBlobel
    GuntherBlobel Posts: 987 Critical Contributor
    Great post! Scholarly, too!

    I've noticed that my scaling has been rising quite a bit lately. I think it's because of the weekly boosted characters. I used to pick lots of different teams that would provide an interesting challenge and treat my Roster like 70 health packs.

    But since weekly boosted characters, I've gotten addicted to crushing every node with the boosted characters. The novelty of crushing enemies with otherwise underwhelming characters was fun at first. Bad idea, though. Now the game treats me like I have a Roster full of Lvl 240 characters, which I don't, of course.
  • simonsez
    simonsez Posts: 4,663 Chairperson of the Boards
    Nomination for Best Post Ever...

    One of your bullets needs clarification though: "It is possible to trigger scaling downticks on purpose by taking lots of damage in battle." This is true, to a point. My observation is that each player has a floor, below which you can't reduce scaling, regardless of damage. Eg, if you grind a node that starts at lv225 opponents, and they increase to lv280 opponents, wiping to it can get it to move back closer to lv225, but you will never be able to get it under lv225.
  • Awesome post, thank you for taking the time to do this research.

    As a minor nit, Scaling Hell is actually a positive feedback loop reinforcing a negative adjustment (increased scaling begets increased scaling), while the goal of a proper scaling system should be a negative feedback loop, bringing node levels into check with roster strength, and then maintaining a status quo.
  • I've noticed that my scaling has been rising quite a bit lately. I think it's because of the weekly boosted characters.
    Boosted characters do make it harder to manage personal scaling. I try to put boosted characters in teams with weaker characters, and challenge myself to use any single character in only one battle within a sub event. This helps spread damage around my roster and alleviates the pressure on health packs too.
    simonsez wrote:
    My observation is that each player has a floor, below which you can't reduce scaling, regardless of damage.
    I observed a similar pattern too, and noted after the first plot that initial node levels may be acting as a floor to scaling downticks within a sub event. At one point I thought about testing this scaling floor too, since there was a clear method to do so in theory: play many battles, stay above the "100 damage per level" line, then demonstrate an absence of scaling downticks. The problem was that even though I was already playing like a scrub, the frequency of neutral/uptick/downtick battle outcomes was still at 77%/18%/6%, and I needed 100%/0%/0% to verify the scaling floor. In other words, I had to play even worse than I already was, which made for some very long and tedious battles. Laziness soon prevailed and I did not complete the test, so I decided to leave that point out of the conclusion.
    CrankyDay wrote:
    As a minor nit, Scaling Hell is actually a positive feedback loop reinforcing a negative adjustment.
    You are correct of course. I used the phrase in the colloquial sense of "bad things beget bad things", and in retrospect that was probably unwise. If you are willing to stretch your imagination a bit however, perhaps you can think of scaling hell as a negative feedback loop of... eh... easiness suppression.
  • lukewin
    lukewin Posts: 1,356 Chairperson of the Boards
    Vynyv wrote:
    simonsez wrote:
    My observation is that each player has a floor, below which you can't reduce scaling, regardless of damage.
    I observed a similar pattern too, and noted after the first plot that initial node levels may be acting as a floor to scaling downticks within a sub event. At one point I thought about testing this scaling floor too, since there was a clear method to do so in theory: play many battles, stay above the "100 damage per level" line, then demonstrate an absence of scaling downticks. The problem was that even though I was already playing like a scrub, the frequency of neutral/uptick/downtick battle outcomes was still at 77%/18%/6%, and I needed 100%/0%/0% to verify the scaling floor. In other words, I had to play even worse than I already was, which made for some very long and tedious battles. Laziness soon prevailed and I did not complete the test, so I decided to leave that point out of the conclusion.

    I agree with this point, that you can't drop below the initial node levels. I also think that the initial node levels correspond to your roster, which is why under leveling works. So while you can keep your scaling in check, by taking damage, you can also keep your initial levels down, by not leveling.
  • There's obviously a limit to how much taking damage can affect your scaling. Back when scaling was new, what you'd do is get the last guy down to say, 2K health, and make sure you have a move that can do 2K damage (generally trivial), and then just start matching the top of the board as fast as you possibly can. It'd take almost no time before you started taking massive damage but you're never in danger of losing to the node since you've whittled down the opponent to such a low life total. You'd often end up with a rather absurd case where you beat a node and the level went down because everyone but one guy was downed with only 2000 HP left even though you had the game completely under control. At some point D3 caught on and this tactic just doesn't work anymore. Put it another way, there are a lot of really cheap nodes where you'll often lose even when you're trying to win. So if all it takes to lower scaling was playing poorly, you can just go to say a 'The Hood + 2 Muscles' node, and you wouldn't even need to try very hard to take massive damage if not outright losing. And yet I can't remember a single instance of a guy on the forum that had a super easy time with a typical "Hood + 2 Muscles" type of node even though surely everyone must be taking massive damage on them.

    I suspect there's a point where your roster/past performance is so strong that the game figures anytime you played poorly/lose you must be faking it because there's no reason why someone so awesome like you should ever lose. If you have crossed that point, which anyone seeing high level 200s most certainly have, you're not getting into the game's good graces, ever. Maybe prior to that you can convince the game that you suck and need some help, but there's no going back once the game decides you're awesome.
  • Jack0fAllGames
    Jack0fAllGames Posts: 65 Match Maker
    Did you notice any evidence of a delay in scaling when playing quickly? I've had numerous occurances where I had a performance that I fully expected to result in an uptick and got no change, but then quickly moved to another battle that should have resulted in either no change or downtick and instead "resulted" in uptick(s).
  • 2 related questions in regards to damage taken and regenerators/healers:

    1) Did you record simply health(before) - health(after)? Or record how much damage you actually took throughout the fight?

    2) Do you have any reason to believe that the scaling algorithm looks at anything other than health(before) - health(after)?

    I ask because I wonder about the usefulness of Daken or even OBW's temporary healing to allow a team to absorb more damage then their total health would normally allow.