gaining points is always a good thing — it means that your server is stronger than your rating would have predicted, and it makes it more likely that you will face stronger servers more frequently in the future.
if you don’t want to face stronger servers, then you should by all means sandbag and attempt to lose by as big a margin as possible.
-ken
Glicko-2 ratings are supposed to be accurate to within twice the deviation value. so for a server with a 1500 rating and 100 deviation, you can theoretically be 95% confident that the true rating is between 1300 and 1700.
and yes, Glicko-2 does not measure skill. it measures effectiveness. some servers rely on coverage to be effective, other servers rely on skill. in the higher tiers, no server can afford to rely 100% on skill because coverage is so important.
-ken
I hope we won’t see any zoom hacks this week. there’s a difference between what you can do in Windowed Mode, and what zoom hacks will do, often an obvious difference.
-ken
the chances of HoD+BP+DR getting matched up were something like one half of one percent. congratulations.
-ken
also, make sure you’re not playing on a rank 1 alt. wvw ranks are character-specific, not account-specific.
-ken
this is mostly a thread about zoom hacks, rather than arrow cart damage. the problem isn’t how much damage the arrow cart’s doing, it’s about the places where the arrow cart is hitting.
-ken
now that is a very interesting idea, having the Outmanned buff allowing you to use waypoints even if they’re contested…
-ken
It wouldn’t surprise me if there are errors, due to the strangeness with the EU matchups this past week. but things should be correct from this week forward.
But to answer your question, GW2 uses the Glicko-2 system, not ELO. in ELO rating changes all add up to zero, but in Glicko-2 it’s possible for them to add up to non-zero amounts, due to the influence of deviation and volatility.
-ken
If Rome sends all his army to the moon, don’t expect Rome to be defended.
exactly my point
while this might help in a more even match, I don’t think it would do any good for Fissure of Woe (or Vabbi). they are always so badly outnumbered that even without waypoints they would still have a hard time taking a keep.
-ken
Unfortunately, it doesn’t work that way, in 2 respects:
1. the matchup system puts Vabbi and FoW together because these 2 servers have the lowest ratings in EU, far below any other server. so “Vabbi vs FoW” is considered a close matchup, the only question is which server gets picked for the third spot in the match?
2. even if Vabbi and/or FoW get matched with 2 strong servers, that won’t make things any easier. in any given matchup, every server tries to take as much territory as possible, in order to get as many points as possible. if Vabbi and FoW are the easiest targets, that means both servers will take all your stuff, then fight over your territory between themselves. unfortunately, that won’t actually give you much more maneuvering room that you’re getting now. instead of everything being green, it will be a combination of green and blue, and while the relative amount of green versus blue may change, there will never be much red anywhere on the map.
-ken
sorry, I should have said that SoR+BG+JQ is the #1 most likely matchup in the US.
in EU, that honor goes to Vabbi / Fissure of Woe / Arborstone:
Vabbi
46.664674 Arborstone [FR] Fissure of Woe
21.400611 Whiteside Ridge Fissure of Woe
14.165766 Ring of Fire Fissure of Woe
12.697459 Blacktide Fissure of Woe
2.282423 Dzagonur [DE] Fissure of Woe
1.828723 Underworld Fissure of Woe
0.422119 Ruins of Surmia Fissure of Woe
0.299046 Gunnar’s Hold Fissure of Woe
0.231401 Fort Ranik [FR] Fissure of Woe
0.006473 Whiteside Ridge Arborstone [FR]
there’s virtually no chance that Vabbi and Fissure of Woe won’t both be put into the same match. the only question is, against whom?
-ken
Could be worse, I guess. ET and FC are probably tired of seeing each other. At least they’ll be getting some variety now in who beats them.
Eredon Terrace
17.086796 Henge of Denravi Ferguson’s Crossing
15.584487 Devona’s Rest Ferguson’s Crossing
8.844888 Northern Shiverpeaks Ferguson’s Crossing
8.625119 Devona’s Rest Henge of Denravi
5.044956 Northern Shiverpeaks Henge of Denravi
4.726414 Gate of Madness Ferguson’s Crossing
4.661238 Northern Shiverpeaks Devona’s Rest
2.909290 Gate of Madness Henge of Denravi
2.795598 Sorrow’s Furnace Ferguson’s Crossing
2.743255 Gate of Madness Devona’s Rest
Ferguson’s Crossing
17.086796 Henge of Denravi Eredon Terrace
15.584487 Devona’s Rest Eredon Terrace
8.844888 Northern Shiverpeaks Eredon Terrace
5.136206 Devona’s Rest Henge of Denravi
4.726414 Gate of Madness Eredon Terrace
3.307111 Northern Shiverpeaks Henge of Denravi
3.139062 Northern Shiverpeaks Devona’s Rest
2.795598 Sorrow’s Furnace Eredon Terrace
2.618045 Isle of Janthir Eredon Terrace
2.317031 Gate of Madness Henge of Denravi
But the #1 most likely matchup across all servers is SoR+BG+JQ:
Sanctum of Rall
38.489829 Blackgate Jade Quarry
10.127311 Blackgate Dragonbrand
9.887990 Blackgate Tarnished Coast
8.676520 Jade Quarry Dragonbrand
8.464115 Jade Quarry Tarnished Coast
5.210674 Blackgate Fort Aspenwood
4.484711 Jade Quarry Fort Aspenwood
2.793736 Tarnished Coast Dragonbrand
2.532925 Tarnished Coast Fort Aspenwood
2.458367 Dragonbrand Fort Aspenwood
-ken
Top 10 Most Likely Matchups for June 7
Ehmry Bay
10.025946 Borlis Pass Anvil Rock
5.048311 Borlis Pass Darkhaven
3.983436 Yak’s Bend Crystal Desert
3.571205 Kaineng Crystal Desert
3.547438 Borlis Pass Sorrow’s Furnace
3.546777 Borlis Pass Isle of Janthir
3.153728 Maguuma Crystal Desert
3.135843 Kaineng Yak’s Bend
3.093776 Anvil Rock Darkhaven
2.951938 Sea of Sorrows Crystal Desert
Borlis Pass
10.025946 Ehmry Bay Anvil Rock
6.426541 Stormbluff Isle Anvil Rock
5.048311 Ehmry Bay Darkhaven
3.547438 Ehmry Bay Sorrow’s Furnace
3.546777 Ehmry Bay Isle of Janthir
3.262005 Stormbluff Isle Darkhaven
2.883221 Crystal Desert Anvil Rock
2.250754 Stormbluff Isle Sorrow’s Furnace
2.250213 Stormbluff Isle Isle of Janthir
1.762934 Ehmry Bay Gate of Madness
Anvil Rock
10.025946 Ehmry Bay Borlis Pass
6.426541 Stormbluff Isle Borlis Pass
3.093776 Ehmry Bay Darkhaven
2.883221 Crystal Desert Borlis Pass
2.508383 Isle of Janthir Gate of Madness
2.456616 Isle of Janthir Sorrow’s Furnace
2.452050 Sorrow’s Furnace Gate of Madness
2.400696 Darkhaven Gate of Madness
2.227232 Darkhaven Isle of Janthir
2.182122 Darkhaven Sorrow’s Furnace
-ken
I think we got tired of locking threads around week 6 or 7. really, I think all of us on all 3 servers (EB, BP and AR) just want something new.
-ken
If you don’t want to use any wrappers,, have a look at this:
https://forum-en.gw2archive.eu/forum/community/api/Simple-C-Example-Rating-Calculation
It’s C#, it doesn’t use any wrappers or libraries except what .NET 2.0 comes with, and it has been updated with more comments to make it a little bit more beginner-friendly.
If nothing else, it will show you the basic mechanism to invoke the API and process the results.
-ken
The Glicko-2 math isn’t that hard, it’s just tedious. But I see a lot of people still don’t understand how it works. So, here’s the story with EB and AR’s ratings:
At the beginning of the match, EB had a rating of 1550.0354 and a deviation of 182.2718, and AR had a rating of 1287.0150 and a deviation of 178.1011. When you convert these numbers to the Glicko-2 rating scale you get:
EB mu=0.2880 phi=1.0492
AR mu=-1.2260 phi=1.0252
(mu = (rating – 1500) / 173.7178, phi = (deviation) / 173.7178)
The next step is to calculate the value of the Glicko-2 g function for EB and AR:
EB g=0.8656
AR g=0.8706
(g = 1 / sqrt( 1 + 3 * phi^2 / (pi^2) ) )
Then, you calculate the value of the Glicko-2 E function for EB versus AR, and AR versus EB (unlike g which depends on one server only, E must be calculated for each pair of servers, and in both directions — A versus B, and B versus A):
EBvsAR E=0.7889
ARvsEB E=0.2124
(E = 1 / ( 1 + exp( g2 * (mu1 – mu2 ) ) ), where mu1=server rating, mu2=opponent rating, g2=opponent g value)
The final step is to figure out how big your own score has to be in order to beat the Glicko-2 expected score E (this part is based on the particular way ArenaNet has implemented Glicko-2, but is not actually part of Glicko-2 itself):
EB: m=2.2901
AR: m=0.4387
(m = ( 0.5 + arcsin( 2 * E – 1 ) / pi ) / ( 0.5 – arcsin( 2 * E – 1 ) / pi ) )
So, in order for EB to not lose any rating against AR, EB’s score needs to be 2.2901 times as big as AR’s score. And in order for AR to not lose any rating against EB, AR’s score needs to be 0.4387 times as big as BP’s score. Note that these values depend solely on the previous week’s ratings and deviations. The previous week’s scores are not involved.
Right now EB has 238,160 points compared to AR’s 134,980.
EB 238160 / 134980 = 1.7644
AR 134980 / 238160 = 0.5668
Since 1.7644 is lower than 2.2901, EB is losing rating points. and since 0.5668 is higher than 0.4387, AR is gaining rating points. That’s all there is to it.
It has nothing to do with last week’s scores. If this week’s match were to end with the exact same score as last week’s (EB=336728, AR=119306), the ratings wouldn’t stay the same, EB would gain points again and AR would lose points again:
EB 336728/119306 = 2.8224, which is higher than 2.2901
AR 119306/336728 = 0.3543, which is lower than 0.4387
See? The math isn’t hard, it’s just tiresome.
-ken
(edit: ok, I admit that the math to calculate exactly how much of a rating increase or decrease you get is hard, and it involves a lot more than shown here, but you only need to calculate that in order to figure out the new ratings. If all you want to know is whether your rating will go up or down, the math above is all you need).
(edited by Snowreap.5174)
I’ve gone to that spot and switched to windowed mode. It doesn’t let you see inside the tower. Go ahead and try it yourself.
This was definitely exploiting.
-ken
Most of that was legit. He could have been using the windowed mode screen width manipulation to hit inside the tower.
have you actually tried this yourself lately?
-ken
I think it used to be that /map chat could be seen by all teams on the same map (i.e. your opponents could see it). whether this was deliberate or a bug (or a malicious lie) I have no idea.
but now I can’t see any difference, except for the color.
-ken
I think this is the gist of the argument:
1. You can be competitive in PvE on many characters easily. Levels and karma are required in order to be competitive (there are instances you can’t do without the proper levels and gear), but levels and karma are easy to grind up quickly.
2. But you can’t be competitive in WvW on many characters easily, because WvW rank points are required in order to be competitive, and it takes much too long to grind it up.
3. Therefore, WvW rank and WvW rank points cannot be treated the same way as character level and skill points.
There are a great many things in this game that are easier to do in PvE, and this is yet another of them to add to the pile. Arguably, this is one of the more important things and if somebody ever decides to look at the pile, this should be one of the things looked at first.
the argument could also be made that if WvW rank abilities are required in order to be competitive, then they are overpowered.
-ken
That’s easily fixable. Just cap WvW rank at rank 40 or something. That doesn’t take that long to reach. Then, just like skill points, you would continue to get rank points thereafter that you can spend to unlock things.
I have 3 level 80’s and each of them is still earning skill points (and each has lots of skills that I never bothered to purchase). It could be the same way with rank points.
-ken
WvW is not for everyone, just as sPvP and PvE are not for everyone. There will always be people who refuse to WvW for one reason or another. And while WvW needs to be attractive to a lot of players, there is no reason it has to be attractive to every single player.
Now, I’m confident that the OP posted with the expectation that people would see it and think “We need to fix this now! We could get another player into WvW this way!”
But actually I look at it and think “Ok, have fun doing something else instead.”
-ken
I don’t understand why we need to level each character to 80. shouldn’t it be enough to just level one character to 80, then all your alts can be 80 too?
it’s the same thing with WvW rank. getting it on one character should count as getting it on all your characters.
It is exactly the same thing, so they should be treated the same way.
Likewise, ‘rank points’ that you can spend unlocking things are exactly like ‘skill points’ that you can spend unlocking things. If you think we should have a way to reset our rank point allocation, we should get a way to reset our skill points as well, especially since a lot of skills really are useless and weren’t worth it.
Why is it ok for XP and skill points to be character-based, but not ok for WXP and rank points to work the same way? If you really believe the WXP and rank points should be account-specific, surely you can see the logic in making the same change to XP and skill points.
And if you understand why XP and skill points are better left as character-specific, you can understand why ArenaNet chose to make WXP and rank points the same way.
-ken
actually a 26.7% chance that BP and EB will be matched together.
the list I posted is just the top 10 results, there are more EB+BP+(other) combinations not listed, like EB+BP+FC, EB+BP+HoD, EB+BP+JQ, etc. individually they are all very unlikely, but taken together they add up.
-ken
hey, me again.
so, I got to wondering, how much of the increase in likelihood that we’ll get this matchup again is due to our own performance, and how much is due to the rating changes on other servers?
so I ran 10,000,000 trials assuming that the ratings for EB, BP and AR don’t change at all, while the ratings of all the other NA servers change according to the current scores. Here are the results:
Ehmry Bay
8.292890 Borlis Pass Anvil Rock
5.340980 Borlis Pass Darkhaven
4.455910 Yak’s Bend Crystal Desert
4.171060 Kaineng Crystal Desert
3.683650 Borlis Pass Sorrow’s Furnace
3.636330 Maguuma Crystal Desert
3.418990 Kaineng Yak’s Bend
3.108300 Borlis Pass Isle of Janthir
3.101540 Sea of Sorrows Crystal Desert
3.041530 Maguuma Yak’s Bend
So, it looks like about 1.2% out of the 4.5% probability change is due to BP and AR gaining rating this week while EB’s rating goes down, and 3.3% out of the 4.5% change is due to the widening ratings gap between the old T5 and the other servers above and below us.
-ken
and here’s a new 10,000,000 trial run based on current scores. as the rating spread between EB/BP/AR and the servers above and below us continues to widen, our chances of getting matched together again continue to go up:
Ehmry Bay
9.532030 Borlis Pass Anvil Rock
5.248290 Borlis Pass Darkhaven
4.107110 Yak’s Bend Crystal Desert
3.852620 Kaineng Crystal Desert
3.630500 Borlis Pass Sorrow’s Furnace
3.375470 Anvil Rock Darkhaven
3.359840 Maguuma Crystal Desert
3.149590 Kaineng Yak’s Bend
3.099540 Borlis Pass Isle of Janthir
2.847060 Sea of Sorrows Crystal Desert
-ken
Can you run 1 random trial and post the results?
Ehmry Bay
100.000000 Maguuma Crystal Desert
(note: results may not be statistically significant due to small sample size)
-ken
Emory Bay, has been winning the match for weeks I know. And I know its not the most fun situation to be dominating all the time. I’d be interested to know the dynamic that occurs as far as which server attacks which server and how a target is decided. Because this is the central point of my concern about scoring in WvW. Do BP and AR start fighting each other just letting you roll even easier unopposed? Or are they attempting to band together and fight the powerhouse?
to answer your question, the ‘leaders’ on Ehmry Bay are generally aware of our rating, and how it is affected when we focus on one opponent or another. It’s likely that the general ‘pug’ population doesn’t know about ratings, or care (and I suspect this is true on most servers).
But for us, rating is somewhat a secondary concern. Mostly on EB we focus on whichever opponent has been annoying us more, or on the one that would be more fun to attack.
BP and AR do not, in general, work together against us — they fight each other as readily as they each fight us. There was one relatively recent match where they had a somewhat informal agreement to work together, but EB rallied and neither BP nor AR were able to turn that agreement into a significant score increase. I think it was a mostly fun change for all involved, but it doesn’t seem like BP or AR are much incilned to repeat the experiment.
I don’t know if EB/BP/AR is a good example. We’ve been matched against each other for so long that ratings (and even scores) aren’t particularly important any more. What everyone is looking for now is “newness”, and one of the things that has resulted from this is a big uptick in interest in “guild vs guild” matches (usually held in an out-of-the-way location on one of the borderland maps).
-ken
Ok, I’ve updated the original post with a newer version of code that has more comments. But the added comments in the main program are not a substitute for understanding the underlying ideas — be sure to check these web pages for the necessary background information:
https://www.guildwars2.com/en/news/big-changes-coming-to-wvw-matchups/
http://www.guildwars2guru.com/news/884-the-math-behind-wvw-ratings/
http://www.glicko.net/glicko/glicko2.pdf
The JSON code is still relatively comment-free, aside from a reference to consult http://www.json.org/. The JSON syntax diagram shown there matches the JSON Tokenizer flow fairly well.
-ken
keep in mind, the API is for building external applications or websites that pull data from the GW2 databases. it’s not for for making in-game addons.
-ken
what we really need is 2 videos taken at the same time from opposite perspectives. one of them showing what it looks like for the arrow cart operator, and one showing what that same barrage looks like on the receiving end.
-ken
I think the desire to “play to win” is one of the things that keeps people away from the game during a badly lopsided matchup. If you always play to win, but it’s obvious that there is no possible way to win, why should you play at all?
People need to be able to choose their own adventure. Some people will take “our rating goes up” as an acceptable substitute for “we win the match”.
And for some people, just winning the match won’t be enough — they won’t consider it a win unless they both win the match and increase their rating.
-ken
Oh, how standards change over time. For me, spaghetti code has always been “code with a lot of gotos”. In this code, the control flow is very straightforward: it flows from top to bottom, except for loops (which execute top to bottom).
The complaint about a lack of comments is definitely warranted — it wasn’t originally written to be an example; I made it only for my own use, and as such it has all the comments I need. If I get some time I’ll add more comments and upload again.
The one part that is hard to understand is the mode 0 code that does the actual Glicko-2 rating calculation. That part is pretty much a direct implementation of the Glicko-2 algorithm as documented here: http://www.glicko.net/glicko/glicko2.pdf.
The one bit that’s not covered in Glickman’s paper is ArenaNet’s method of calculating a score (represented by “s”), and their choice of a tau value. That information is here: http://www.guildwars2guru.com/news/884-the-math-behind-wvw-ratings/
The Glicko-2 algorithm is impossible to understand just by looking at the code, but it compares fairly directly to the algorithm as described in Glickman’s paper. The algorithm in the paper isn’t particularly easy to understand either so in that respect the code isn’t much worse.
The rest of the modes perform statistical analysis using the Monte Carlo method, where you run a large number of random simulations and count how many of each of the outcomes you get. The code for that is fairly straightforward, but assumes you know how GW2 matchups are done. That information is found here: https://www.guildwars2.com/en/news/big-changes-coming-to-wvw-matchups/.
The JSON code has no comments at all but I’ve provided it only so that the program is complete and will compile — I hadn’t really intended it to be an example of a JSON parser, although if you know the basics of parsing (i.e. the difference between token parsing and lexical analysis), it can certainly serve that purpose. The Value.GetValue() method contains the JSON parser, which consumes tokens from the Tokenizer (aka the Lexical Analyzer) via the Tokenizer.ReadToken() method. If you’ve ever had to write your own parser & lexer before, my implementation will be very clear but if you haven’t this code isn’t intended to teach you how. I suspect most people doing ‘real work’ use tools like bison and flex to auto-generate parsers and lexers, rather than writing them by hand.
-ken
(edited by Snowreap.5174)
I’ve posted the source code for a ratings calculator & matchup estimator in this thread:
https://forum-en.gw2archive.eu/forum/community/api/Simple-C-Example-Rating-Calculation
I may post a compiled version at some point if there’s a demand for it, but it’s not hard to get Microsoft’s free Visual C# Express Edition and compile it yourself.
-ken
incidentally, the code to calculate all this is posted in the API forum:
https://forum-en.gw2archive.eu/forum/community/api/Simple-C-Example-Rating-Calculation
-ken
yes.
and all the percentages end with a zero because I only ran 10,000,000 random trials for each set of results, in order to save time. for more accurate results I’d need a lot more runs, so sometimes I’ll run 10,000,000,000 random trials overnight (it takes about 4.5 hours to do that many samples for NA, and around 7 hours for EU because they have more servers).
-ken
top 10 most likely matchups for EB at the end of the previous match:
Ehmry Bay
6.513540 Sea of Sorrows Crystal Desert
5.389920 Yak’s Bend Crystal Desert
5.021520 Borlis Pass Anvil Rock
4.852530 Sea of Sorrows Stormbluff Isle
4.473900 Borlis Pass Darkhaven
4.179510 Yak’s Bend Stormbluff Isle
4.039240 Kaineng Crystal Desert
3.203920 Kaineng Stormbluff Isle
2.974730 Yak’s Bend Sea of Sorrows
2.789050 Maguuma Crystal Desert
top 10 most likely matchups for EB right now:
Ehmry Bay
9.093890 Borlis Pass Anvil Rock
5.222290 Borlis Pass Darkhaven
4.115510 Yak’s Bend Crystal Desert
4.061870 Kaineng Crystal Desert
3.738830 Borlis Pass Sorrow’s Furnace
3.469150 Maguuma Crystal Desert
3.186380 Anvil Rock Darkhaven
3.166740 Kaineng Yak’s Bend
3.048550 Borlis Pass Isle of Janthir
2.936420 Sea of Sorrows Crystal Desert
-ken
best music (and sound effects) ever in a GW2 video:
yes, I know, not exactly on topic but I just had to share.
-ken
We are well aware on Ehmry Bay of how Glicko-2 works and what we need to do to gain rating points. At least, those of us who are reading the Ehmry forums should be, because the details are all posted there (including statistical analysis).
I really don’t mean this in a disparaging way, but a lot of our players were extremely disappointed to find themselves matched against BP and AR again this week. Given that we had only a 5% chance of getting this particular matchup again, it was a big disappointment when it happened. It was very much like getting 1 on a 1D20 roll, during a critically important part of a game. It’s not just unlucky, it’s unlucky at the worst possible time. It was such a huge disappointment that a lot of our players have decided to take the week off.
Here are the relevant Glicko-2 E(mu,mu-sub-j,phi-sub-j) values for our current matchup:
EB(j) BP(j) AR(j)
EB _N/A_ 0.7110 0.7889
BP 0.2906 _N/A_ 0.6036
AR 0.2124 0.3961 _N/A_
-ken
(edited by Snowreap.5174)
Example input (copied directly from the Leaderboard into Notepad):
1 Sanctum of Rall 2221.0640 173.5353 0.7634
2 Blackgate 2157.3918 172.9866 0.7617
3 Jade Quarry 2133.8296 172.6257 0.7609
4 Tarnished Coast 2007.7672 172.4862 0.7597
5 Dragonbrand 1962.8613 172.8228 0.7632
6 Fort Aspenwood 1960.8502 172.6732 0.7589
7 Maguuma 1823.5967 174.9570 0.7723
8 Kaineng 1782.2227 175.9198 0.7935
9 Yak's Bend 1745.0370 173.6684 0.7620
10 Sea of Sorrows 1716.8704 180.1183 0.7736
11 Crystal Desert 1586.2152 176.1478 0.7682
12 Ehmry Bay 1550.0354 182.2718 0.7824
13 Stormbluff Isle 1542.7919 177.5990 0.7761
14 Borlis Pass 1370.9421 175.9778 0.7625
15 Anvil Rock 1287.0150 178.1011 0.7599
16 Darkhaven 1272.9904 175.5942 0.7668
17 Sorrow's Furnace 1219.0934 176.3832 0.7887
18 Isle of Janthir 1215.2333 175.5854 0.7830
19 Gate of Madness 1132.9073 174.1129 0.7631
20 Devona's Rest 1063.6667 173.5354 0.7681
21 Northern Shiverpeaks 1047.4753 173.0216 0.7570
22 Henge of Denravi 1012.8758 173.1538 0.7624
23 Ferguson's Crossing 880.6989 173.3165 0.7702
24 Eredon Terrace 853.4559 173.5841 0.7701
Example output (default mode 0):
1 Sanctum of Rall 2218.4790 172.9671 0.7543 -2.5850
2 Blackgate 2150.2010 171.9685 0.7525 -7.1908
3 Jade Quarry 2143.5600 172.1516 0.7518 +9.7304
4 Dragonbrand 1994.6900 184.8914 0.7568 +31.8287 +1
5 Tarnished Coast 1981.9582 178.2444 0.7521 -25.8090 -1
6 Fort Aspenwood 1926.8598 176.7001 0.7513 -33.9904
7 Sea of Sorrows 1785.7103 188.2244 0.7687 +68.8399 +3
8 Maguuma 1758.3706 181.6671 0.7665 -65.2261 -1
9 Kaineng 1731.6037 178.2449 0.7853 -50.6190 -1
10 Yak's Bend 1731.4483 174.5728 0.7533 -13.5887 -1
11 Crystal Desert 1652.0692 179.5129 0.7621 +65.8540
12 Stormbluff Isle 1582.5558 193.7547 0.7708 +39.7639 +1
13 Ehmry Bay 1534.2980 186.1550 0.7745 -15.7374 -1
14 Borlis Pass 1371.7103 177.0362 0.7540 +0.7682
15 Anvil Rock 1300.5133 180.5061 0.7521 +13.4983
16 Darkhaven 1236.0851 179.5175 0.7593 -36.9053
17 Sorrow's Furnace 1199.3135 188.6672 0.7815 -19.7799
18 Isle of Janthir 1180.9801 184.8205 0.7758 -34.2532
19 Gate of Madness 1131.7128 174.7810 0.7543 -1.1945
20 Northern Shiverpeaks 1084.1215 176.6530 0.7495 +36.6462 +1
21 Devona's Rest 1046.5120 177.6124 0.7598 -17.1547 -1
22 Henge of Denravi 1015.3208 178.1281 0.7543 +2.4450
23 Ferguson's Crossing 932.8182 184.1240 0.7643 +52.1193
24 Eredon Terrace 869.3953 184.4527 0.7630 +15.9394
Note that the output can be saved and used as input for a future run, because it is essentially in the same format (the rating change and rank change values are ignored on input). In particular, the Mode 0 output is intended to then be used as input for Mode 1/2/3.
-ken
(edited by Snowreap.5174)
Here’s a simple example of a C# console-mode program that accesses data from the GW2 API. This code was written for .NET 2.0.
In the default mode of operation, it reads baseline rating information from standard input, gets the current scores from the GW2 API, then calculates new rating, deviation and volatility values for each server and outputs the new information.
The program also has alternative modes (1, 2 and 3) that can be used to predict the likelihood of matchups under the new randomized matchup system. In mode 1, it calculates the likelihood of getting a single server as one of your two opponents. In mode 2, it calculates the likelihood of getting particular pairs of servers as your two opponents. In mode 3, it calculates the likelihood of getting particular world/color combinations (i.e. not just the likelihoods of getting a particular pair of servers, but also the probabilities for each color combination).
None of the alternative modes make use of the API, but I don’t feel like editing out that part of the code just to make this example more API-specific.
The JSON parser implementation is based on earlier code I wrote for a Lua parser, so the “Value” class supports a lot of casting/comparison operators that JSON doesn’t really need.
Note that by posting this code here, I am not giving up ownership of it (I am not making it “public domain”). However, you may still freely look at it, copy it, or modify it. But you may not slap a copyright notice on it then tell me (or others) to stop using it.
-ken
Attachments:
(edited by Snowreap.5174)
I think the ratings posted on the leaderboards are supposed to be the ‘true’ ratings (not the randomized ‘matchup’ ratings), but the problem is too few decimal places in order to accurately calculate expected values for the next week.
But the EU leaderboards show the ratings as of June 3. Why is that? I thought the match started on May 31 / June 1? I think this may be a bug in the leaderboards. For the US, the leaderboards show the May 31 ratings.
-ken
The title of this thread isn’t good, but the idea is. (also, this thread belongs in the main WvW forum, rather than the Matchups forum).
Instead of objectives giving full PPT value as soon as they’re taken, having them ‘ramp up’ over time would make defense of an objective more important, and it would reduce the impact of zerg karma trains on PPT.
And it would help mitigate the effects of off-hours captures, without penalizing off-hours players in any way — the scoring rules would be the same for everyone.
One disadvantage is that it would reduce the effectiveness of capturing large numbers of ‘easy’ objectives (typically supply camps) just before the PPT tick, but that’s kind of a cheesy tactic anyway and I don’t think the game would be worse without it.
-ken
And, being able to “unclaim” something yourself without having to lose the object or claim something else would also be cool.
This.
Our guild claims objectives from time to time, and we only do this when we have a buff running. But when the buff runs out, as a courtesy to others I have to go back to that map and find another objective that (1) we currently own, (2) we don’t really need buffs on, and (3) are likely to lose soon. All this to free up the first objective to make it claimable by another guild that has a useful buff running.
It would be so much simpler to just have a way to release our claim directly.
-ken
an even better idea would be to simply show starting ratings and anticipated rating changes on the scoreboard, so that it would be obvious at any point during a match whether your performance will cause your rating to go up, or down.
-ken
there’s actually a good idea hidden in there.
in any matchup, it is expected based on the ratings that one server will do better, and another will do worse. it might be helpful to ‘seed’ the scoreboard with handicap points at the beginning of the match, so that servers that are expected to do badly can start with an apparent head start. actual end-of-match ratings would still have to be calculated based on actual points scored, so the handicaps would have to be removed for that purpose. also, extra points for sentry kills, etc. can be ignored for the purposes of handicaps.
but there’s a problem with this — when you start with a large artificial lead, it’s hard to know whether you are playing well or not. at the end of 7 days, your lead is expected to diminish to zero, but if there are 5 days left in the match and you still have a lead of 50K points, are you ahead of schedule or behind?
so maybe rather than handicapping games, a better alternative would be to display a ‘par’ score for each server alongside their actual score. the ‘par’ score would be updated on every PPT to show the ‘expected’ score for each server at that point in the match, if each server played exactly as their match-start ratings would have predicted.
this would make it easier for an underdog server to tell whether they’re playing well, by giving them a rough estimate to compare their actual score to. because comparing their actual score to their opponents’ actual scores is often not a useful measure of whether they are playing ‘better than expected’ or ‘worse than expected’ (unless you’re willing to do the math to calculate Glicko-2 E, then evaluate x = y * (0.5 + arcsin(2*E-1)/pi) / (0.5 – arcsin(2*E-1)/pi) to calculate your expected score x based on your opponent’s actual score y, which I concede very few players are willing to do)
-ken
the other day I (and a couple others) successfully defended an objective by using arrow carts to discourage an enemy zerg. the zerg left before anybody on either side could be killed, in search of an easier target.
because there were no kills, no badges were awarded. are there seriously people out there who believe that because I didn’t kill anyone, what I was doing was not WvW?
WvW has a scoreboard. you score points for holding objectives at the end of the PPT timer, which means guarding them from people who are trying to take them away from you. arguably, defending objectives is the only thing that actually counts as WvW and is therefore the only thing that should reward badges.
If you think that the idea of rewarding badges only for defending objectives is ludicrous, you should reconsider whether rewarding them only for player kills is really a good idea.
-ken
