Data collection for guild wars

Hi gemmers / GoWers / matchers,

Just wondering if anyone would like to help me collect data relating to guild wars?
In the most raw form - videos of entire GW matches including tapping on the opponent hero once and finding out what class they’ve got equipped. Tap each troop once to display their magic level.

From such videos, it might be possible to extract all the raw parameters required for modelling the GW score calculations.

  • troops surviving, and summoned and killed
  • turns taken on both sides
  • mana gained, expended, left over (total and per troop)
  • damage dealt, taken whether AoE, splash, direct
  • troops of the correct colour
  • score at the end of battle, and which battle it is (1-5)

Probably non-factors

  • life healed
  • player’s stat bonuses (should be calculable from troop armor, life, magic and attack)

If you’re meticulous and can either

  • submit parameters from all 5 battles in text/data form; or
  • help with looking through videos and transcribing into data form

Let me know as well - your help will be very much appreciated!

Big unknown - it might turn out to be quite simple to decode with only a few data points, or it might turn out to be a futile exercise. But I hope it will be an exciting journey :laughing:

Join me here: Discord

Many thanks.

From just after base score was changed to a flat 300 and the formula was divulged.

Official Formula is here:
https://gemsofwar.zendesk.com/hc/en-us/articles/360000340936-Point-Scoring-for-Guild-Wars#:~:text=Setting%2024%20unique%20troops%20in,first%20win%20of%20each%20day.

In text form:
BASE_SCORE + BASE_SCORE * (COLOR_BONUS + SURVIVAL_BONUS + SPEED_BONUS + MANA_BONUS + DAMAGE_BONUS)

I’m having difficultly finding a source on this, but I believe SURVIVAL_BONUS weighting or limit was changed, possibly after this point. There were no other announced changes to how this formula works to my knowledge.

The methodology of each category is explained in the link. Spelled out point blank.

Remember for the first battle of the day, you have to subtract your given defense uniqueness bonus, since thats just tacked on to the given score display while having nothing to do with the battle.

So, you could glean this with relatively few samples, but doing so would require intentionally sacrificing points to do so. Alts in lower brackets would be a good way to do this.

The easiest way you are going to get consistent trials here is to break color and use a team that has little chance of dropping the turn in a lower bracket to glean how much SPEED_BONUS has changed and the upper bounds of the score threshold. So you want to get “perfect” marks in MANA_BONUS and DAMAGE_BONUS and SURVIVAL_BONUS for a few initial trails, while only dropping your COLOR_BONUS by a known amount (which should still be 50% per troop of matching color, per all the information we were given to start). If you aren’t willing to assume COLOR_BONUS has not changed, you could glean this information with a few more samples by using a team with one fewer or one more correct color, since SPEED_BONUS (per action) is very small and COLOR_BONUS is relatively large. With COLOR_BONUS contribution % known and SPEED_BONUS contribution % per action known, you can calculate the upper bounds of a guild wars score. This is as far as I bothered to go with my initial tests. So what would be the best way to get the precise values of the remaining variables?

The next easiest thing to remove as a variable would probably be Survival Bonus. You can certainly use a team with something like a Fire Bomb that never actually gets hit by the enemy or allows them to take more than a single mana match after you have gleaned your per action score contribution, however, there is no way to tell if sacrificing your own Fire Bomb would count as you taking damage or not (lowering both your DAMAGE_BONUS and your SURVIVAL_BONUS, making it difficult to get DAMAGE_BONUS), since this was not explicitly stipulated for the rules (it is that instakills and devour do not contribute to either damage bonus calculation, but there is no significant data on if this includes self-induced instakills outside of death mark). An alternative to try would be to enter a battle with less than a full team, and still completely shut out the opponent while counting your actions. Remember, the scoring criteria explicitly states that it counts troops alive at the end of the battle, not how many have died. With perfect MANA_BONUS and DAMAGE_BONUS, you know exactly how much SURVIVAL_BONUS is for each troop if you ended with a three troop team, since you already know how many points you lose for not having a troop of that color and how many you lose for each action you take and what your max possible points for that battle would have been.

Once you have removed SURVIVAL_BONUS as a variable, the last two remaining variables are MANA_BONUS and DAMAGE_BONUS. You’ll know how much score both of them combined can contribute, but not their ratios to each other. If we are talking alts will probably be gathering this data either way, you are likely going to have to run into a team with non-threatening spells that you can barrier-tank while allowing them to take a lot of mana matches. Of course this, again, requires an assumption that the damage nullified by a barrier does not count as damage. Alternative strategies like Web and/or Entangled could be employed, but your goal here is to land with at least 4 times as much damage given as the opponent while recording every point of mana taken for both sides (as well as how many actions were taken). With your DAMAGE_BONUS maxed out for said battles and a few trials with a variable MANA_BONUS, you should be able to zero in on how much MANA_BONUS is contributing which by process of elimination would also give you DAMAGE_BONUS as the final remaining variable. The alternative here would be to minimize your DAMAGE_BONUS by purposely initiating a war of attrition where you are taking more damage than your opponent but healing way more in kind, but that would require so much more data to be collected to ensure that you are recording a correct MANA_BONUS (which would then be very very difficult to keep maxed out or consistent between battles).

All this assumes the posted methodology for how the formula works is accurate and there aren’t any major bugs impacting single score calcs. Repeated anomalous results could be an indication that one or more of the criteria does not work as stated or there are additional criteria that are not stated.

3 Likes

I think most people who’ve been around will have seen the “official word on scoring”, which may or may not even be accurate - it could be paraphrased pseudo algorithm just to illustrate the basic premise of the four things to look out for. Actual code could look nothing like that, or may even haven’t changed over time without notice.

But if the formula is as simple as shown with only a few variables, solving it could be quite trivial. e.g. There are only so many number that can be fitted into a 5-variable equation that will hold true for 20 different scores. That is, of course, if it is that simple. Maybe it is? That’s something to find out.

That would be my preferred approach rather than doing controlled, targeted testing to work out single variables at a time. In this age of big data, analysis often happens after the fact on volumes of data, and large scale simulations are more often than not faster than inspecting individual outcomes sometimes.

But who knows, there are possibly much smarter people than I who can make use of raw data once it has been collected and tabled properly. So that’s just my first goal - data collection.

The data is a matter of national security. Analysis is futile

My current progress (not sure how secret this is or how long it’ll “stay correct”):

Based on several battles where enemy got no turns (thus mo mana or damage), I was able to narrow down the A% (speed bonus multiplier).

A = 1, or 0.01

That means the maximum SPEED_BONUS is 30 x 0.01 = .3 (if you finish in 0 turns) or more realistically .29 for finishing in 1 turn.

While I’m still working on the mana, damage and survival multipliers, I have concluded they sum .475 (these values are multiplied by 4 (4 surviving troops, max 4 for mana and max 4 for damage), you get 1.9).

Thus, maximum multiplier 4 x 0.5 (4 daily color troops) + 1.9 + .3 = 4.2

Putting that into the formula:
TOTAL = BASE + BASE × MULTIPLIER
Or, more simply
TOTAL = BASE × (MULTIPLIER + 1)

MAX = BASE x (5.2)

So maximum score you can get in a day is:
1500 x 5.2 = 9800

1500 is the sum of 250 + 275 + 300 + 325 + 350

Hopefully will be able to narrow down at least one of the other multipliers tomorrow.

5 Likes

This is where I was at, too:

So with two independent people coming to a similar answer, I’m feeling good about that.

I thought I potentially saw somewhere a mention of moves being changed to cap at 50 instead, but couldn’t find anything on that just now, so will assume it was just in my head.

I’ve also been a bit suspicious of True Damage, lately. I know it only counts the actual damage you do, i.e. to Life, so the potential for damage is less. However, I recently had a couple of battles where I only took 1-2 skull hits at 60-80 damage, and killed all four opponents with True Damage/Rope Dart along with a bonus, cascading skull hit or two, at over 100 Life each, but seemed to score a bit low despite not taking many turns or losing Troops, etc. (or using off-colour). If the ratio still caps out at 4:1, this seems a bit weird, so I guess I wonder if either that ratio has changed (e.g. now caps out at 6:1 or 8:1) or something else is happening to make True Damage/similar not count properly.

2 Likes

I guess it’s because GoW is a 5 year game and only has a player base to pull in several $million in 6 years, as compared to Pokemon Go which pulls in $billions over its lifetime - I didn’t get too many responses to help.
I may have enough data on hand (recorded videos), but not the time to transcribe them.
Here’s an example of what I do to dissect one single video.

My guess is it may need as few as 5-10 sets of data, maybe as many as 30-50, since there are only so many parameters to decode. But I don’t personally have the time to pursue it to completion.

“Turns” is pretty unambiguous and there are enough scores around so 9,800 and also the turn multiplier should be a well known secret.
The other parameters are much harder to track down - let’s look at a single one - “mana”:

  • Does this include starting mana bonus? Medal of Anu? Traits/Talents?
  • Does it include mana gained from traits/talents?
  • Does it include overflow mana? (e.g. gained 5, added 3 to troop, 2 wasted)
  • Is it decreased for mana drained? (i.e. counts as negative gain)
  • etc.

Hence so many columns in my first-cut spreadsheet.

Damage - FWIW from my experience (B4-5, B9-15) it feels like true damage teams (2x Bee, 2x convertor) never score too highly even with 1st turn wins with few actions. Not damaging the opponent’s Armor counts against you (my conjecture only).

If we knew all the parameters for calculation, one could make edge-case decisions, such as spending an extra turn to collect 24 more mana to make a cap to score more the next turn, instead of finishing off the opponent this very turn. For most people though, I’ve come to believe they are not invested in GW, and/or would not be able to use information on the fly, rendering the exercise moot. Picking a ready made team from the GoW Library (discord) and scoring 9400-9700 consistently each week is pretty darn fine.

2 Likes

Mix of this ^, and

not so much this, but I think I would have been more invested in working it out if Brackets hadn’t been so messed up throughout my time here and there was more of a tangible reward. Hard to be too invested otherwise.

2 Likes

Noticed the same thing about true damage. On purple day, I used a skull team and got 100% bonus for all fights (1.9) only impacted by turns. Meanwhile, another guildmate used Gray King and did considerably worse, even when not taking any damage (which was weird since that should default to 4 based on the formula.

That leads me to the unsettling direction that even the pseudo-abstracted formula is not entirely correct. It works fine for turns, color bonus and total value of other bonuses. However, as @cyberkiwi pointed out, there are a lot of other variables.

The only way I see us solving this is reducing the variables further:

  1. Determine survivability bonus (most likely testable with Fire Bomb or Dwarven Slayer to kill last enemy)
  2. Collect no mana (4x Keghammer, Gemhammer or Tau against very weak team)
  3. Deal only lethal/devour damage (i.e. deal no damage)
  4. Deal only true damage

2 would be the easiest to test. Since we know the color bonus and “know” the turn bonus, and assume that the remaining 1.9 is correct, if we collect no mana while receiving no damage, then the mana multipler is:
MANA = 1.9 - POINTS/BASE - 1 - [COLOR] - [TURNS]

I would test this today but first enemy is too strong to one-shot with any of those empowered troops.

Next step would be figuring out 1 (survivability bonus). This would “easily” be tested by not letting opponent get a turn and finishing off with Fire Bomb or Dwarven Slayer.

Once those are out of the way, we’ll know the damage multiplier and can test lethal/devour/true damage and how it actually affects end result.

3 Likes

Not in your head, I remembered too! I had trouble finding it, but it was communicated in a weekly event post: Ladyhawk (PC/Mobile and Console)

1 Like

Interesting. With 50 moves, that means the total points coming in from turns is .5 instead of .3. But since we assume the max modifier is 5.2, then that leaves 1.7 instead of 1.9 for the remaining 3 multipliers.

Another way of looking at it is:
Max color bonus: 2 (4 x .5)
Max speed bonus: .5 (50 * .01)
Max everything else: 1.7

So about half your score is based on using the day’s colors (2) and the other is quickly overpowering the other team (2.2).

1 Like

@Avathar Thanks!

This should realistically be added to the Help Centre article (as I believe it currently shows 30 moves per Sirrian’s original forums post).

2 Likes

Tomorrow is red day so will be a good test of Fire Bomb. Will post results if I manage to narrow anything else down.

Pretty confident on the survival multiplier.

1st battle:

  • 1 fire bomb, 3 other red troops (red day)
  • 1263 points
  • 5 turns

1263/250 - 1 = 4.05
4.05 - 2 (4x red troops with 50% bonus) - .45 (50-5 x 1% speed bonus) = 1.6

Maximum extra multipler: 1.7
Hypothesis: Survival multipler = .1 or 10% per troop

2nd battle:

  • 2 fire bombs, and 2 other red troops
  • 1361 points
  • 5 turns

1361/275 - 1 = 3.95
3.95 - 2 (4x red troops with 50% bonus) - .45 (50-5 x 1% speed bonus) = 1.5

Maximum extra multipler: 1.7
Conclusion: Survival multipler = .1 or 10% per troop

Tomorrow is yellow day so hoping for a 4x Tau or Keghammer team on first battles to confirm mana multiplier.

1 Like

I think we cracked it!

Guildmate ran a 4x keghammer team today for first battle, getting 2690 points, or 690 without defense bonus.

690/250 - 1 = 1.76 (Out of max 4.2)

No day’s color troops were used, so that doesn’t factor in.
No mana generated, so doesn’t factor in.
No troops died, so (as per previous post): 4 × .1 = .4
Took 4 turns: (50 - 4) × .01 = .46

That leaves only damage bonus: 1.76 - .4 - .46 = .9.

Since damage dealt was much higher than received, assume max damage bonus, meaning damage multiplier = .9 / 4 = .225

To get mana bonus, we subtract all that from max multiplier:

4.2 - 2 (color) - .5 (speed) - .4 (survival) - .9 (damage) = .4 (mana).

Since we got 0 out of maximum 4, that means mana multiplier = .4 / 4 = .1

Full formula then reads:

FINAL_SCORE = BASE_SCORE + BASE_SCORE * (COLOR_BONUS + SURVIVAL_BONUS + SPEED_BONUS + MANA_BONUS + DAMAGE_BONUS)

FINAL_SCORE = BASE_SCORE + BASE_SCORE * (COLOR_BONUS + Survivors × .1 + Max(50-Turns) × .01 + Min(4, My_Mana/Enemy_Mana) × .1 + Min(4, Damage_Dealt/Damage_Received) × .225)

This assumes that empowered troops (and so anu and traits that give starting mana) do not count as generated mana.

Feel free to verify for yourselves.

TLDR: Variables from website formula:
A (Survival) = 10% (Max 40% or .4)
B (Speed) = 1% (Max 50% or .5)
C (Mana) = 10% (Max 40% or .4)
D (Damage) = 22.5% (Max 90% or .9)
COLOR = 1-50% (Max 200% or 2)

MAX_POINTS = BASE × (1 + 2 + .4 + .5 + .4 + .9) = BASE × (5.2)

EDIT: Besides the above formula, here are things that still need testing:

  • Damage-based
    • True damage
    • Armor removers (mang, megavore, etc)
    • (Optional) Status effect damage (poison, bleed, burn)
  • Mana-based
    • Mana drain
    • Banners
    • “Wasted” mana (mana earned beyond what troops need)
    • Enchanted
    • Spells/traits that give mana

I believe that empowered/Medal of Anu/starting mana traits do not count as mana, but will check during my own Keghammer fight tomorrow. Also because of this:

We base another bonus on mana collected during play

11 Likes

I found this quite interesting. And awesome work overall btw, thank you!!!

Does this mean that the damage Fire Bomb inflicts on itself isn’t counted as damage against you for the calculations, or was the damage you dealt in these fights far enough in excess for it not to matter?

E.g. if I go in to a random battle and explode some Fire Bombs, this is what I see:

I’ve typically avoided using Vash’Dagon for this very reason. Could the damage inflicted even be counted towards your own damage bonus?? That would be a little bit crazy (・o・) (and perhaps reason for players to be angry at concealing the formula making it harder to uncover discrepancies like this – although I guess you didn’t need it here). Would be a bit of a twist if using Vash’Dagon was in fact a way to max out damage :sweat_smile:.

Also wanted to throw it out there that the initial ‘-1’ or 1x base score might be a ‘win’ bonus that you don’t receive when losing? Making it based on # of enemy troops remaining instead could encourage people to keep giving it their all against tougher opponents (but maybe further incentivise a summoning defence).

This part, I mean:

I’ll be interested to see for sure whether or not Empowered traits or similar count as mana generation, since I wouldn’t have thought the calculation to be clever enough to distinguish mana gained regardless of source, but maybe it really does just take into account mana generated from the board (matches, explosions, destructions).

I’d actually also be interested to know whether mana generated for colours your troops don’t use counts. This could be one explanation for why using exploders does very well for the mana generation part of one’s score. Alternatively, I wonder whether exploded Gems count as .5 (banker’s rounded), or .8 (the previous amount from explosions) or even the full 1 mana in the calculations. It’s hard not to be suspicious of laziness (or just lack of action/attention) based on the amount of attention (not a lot) given to Guild Wars over the years.

2 Likes

Great questions! And I’ll answer based on my observations:

I believe this counts as lethal damage, which is excluded based on info from zendesk:

  • Devour & Death Mark (insta-kill skills) do not count as damage

Also, in my battles, I fought against very low level troops (750 and 3000 power), so my fire bomb had more life than their whole team, and in second battle I had 2 of them. Since I only noticed a .1 and and .2 difference in the multiplier, which correspond nicely with losing 1 and 2 troops, I concluded that the only thing affecting the multiplier was loss of troop and not fire bomb’s self-damage.

Possible. All my calculations involve winning so let’s go with that idea until it’s tested. If that’s the case, this is what I’d expect from a lost battle:

TOTAL = BASE * (COLOR_BONUS + TURN_BONUS + MANA_BONUS + DAMAGE_BONUS)

But damage and mana bonus could be low or 0 if you lose to looping. So it might be “simplified” to:

TOTAL = BASE * (COLOR_BONUS + TURN_BONUS)

Or

MAX_LIKELY_LOSS_TOTAL = BASE * (2 + .5) = BASE * 2.5

MAX_LOSS_TOTAL = BASE * (2 + .5 + .4 + .9) = BASE * 3.8

From keghammer fight, each has 12 mana, so 48 on guildmate’s side. Enemy got 11 mana. This would be max mana bonus since 48 / 11 > 4. Yet there’s .4 missing (everything else maxed), which is what led me to the mana bonus/multiplier conclusion. As mentioned, feel free to test on your own and but I believe that any starting mana is excluded but initial exploders count.

That’s one of the unknowns under “wasted” mana.

Things that could “easily” be tested:

  • Ally troop killers and devourers (vash, widow queen, sacrificial priest, black beast, etc)
  • Use armor removers and take enough damage that it might make a difference. I.e. enemy team has 50 total life and 50 total armor. Take at least 25 damage. If armor strip counts, you’ll get close to full damage bonus. If it doesn’t count as damage, then you’ll get close to half that.
  • Use only true damage dealers and try to not take damage.

I don’t know how to test mana except to carefully keep track of everything generated, which is tedious and difficult unless you play very slowly and probably record fight.

5 Likes

Sorry for being a bit rambly in my thoughts. Thinking back to times that I’ve lost, especially on low-levelled alts where I’ve had a look at the difference between losing with a colour team vs off-colour team, my initial suggestion there seems unlikely thanks to the way you’ve spelled it out – i.e. 2.5 * BASE seems much more generous than I’ve ever seen in points from a loss. It seems more likely that it would be something like 0.2 * TOTAL, but I won’t conjecture too much without thinking about it more rigourously :sweat_smile:.

From reading your explanation, it seemed like the .4 missing relied upon the damage multiplier that you worked out by assuming mana collected was 0, i.e. zero multiplier from the x1.76 observed being allocated to the mana bonus.

If we were to make an alternate assumption that the Mana bonus was actually maxed, due to the 48/11 ratio, it wouldn’t be possible to work out how much of the remaining multiplier was from damage and how much from mana, right?

Thanks. Crazy!!!

I suppose if mana was considered maxed, that would leave an awfully large chunk for mana and not much for damage in the final calculation, though :sweat_smile:. Sorry for the rambling, please be gentle :sweat_smile:.

Correct. If the damage ratio was equal to or less than 4:1, then we would not have any control and thus too many variables. I will be retesting keghammer tomorrow to have more than one data point.

Also, when I said that damage dealt was much higher, I mean 4 damage received vs 50+ damage dealt, which would max the damage ratio twice over.

I just remembered I have a recording of a loss that I could check. Will do that and edit this with findings. Otherwise, can purposefully lose a fight tomorrow and see what kind of scores I get.

EDIT: Lost fight generated 239 points on 300 point fight after 7 turns using 4x troops of the day’s colors.

239/300 = .7967
Reason I’m not rounding up to .8 is because you can only get 239 with .795 to .798

Color bonus itself would put it at 2, and turn bonus at .43. Mana is close to if not 0 because gobtruffle loops. Same with damage but will confirm once more awake tomorrow.

So either we disregard color bonus and mana + damage = .796 - .43 = .366 (high based on first looks) or there’s a “loss penalty” that converts 2.43 into .796. It’s very close to 1/3 expected points so will double check turn count.

1 Like