FAF League Month System

Feels like King and Prince of faction should revert to a tournament at some point in the near future, especially if/when 1800 ladder players burn out and disappear after LotS - Aeon avatar getting handed out after winning one game is pretty lol.

No, they will stay with leagues. Well not really because I'm not sure I can attach it to the division system, so they might be up for grabs as tourney avatars once the league system becomes outdated. I wish I had the ability to hand out MORE avatars in the same way as king/prince avatars but it's way too much for me to bother with doing it manually.

Perhaps king/prince of faction should be awarded solely through tournaments rather than based on the ladder league. At the 1800+ level it's just too funky because, if you take out the top 2 players, there's barely any games being played. Swkoll gets an award for always choosing UEF but SilentNoob gets nothing because he mixed up the factions. Those tournaments don't seem like they would be very difficult to set up and there's a built-in prize (avatar) even if FAF can't find a cash prize.

It would make more sense to give out "prince" awards on the ladder league for specific ladder maps rather than for factions (e.g., a win is 2 points and a loss is -1, but only counted map-by-map). That would be a way to give out a bunch of avatars. As long as you can calculate the winners just by ladder league statistics, it shouldn't be too much work. With 15 maps in the pool, that would be 15 total winners. The award would be especially meaningful i think. (It wouldn't mean anything to the 1800+ crew, who can't get enough ladder matches and already have other avatars, but I think it would mean a lot to someone in the 1300+ bracket). And, for the same reasons, giving out 12 similar awards to the 800+ bracket would be meaningful to the people who get them. It would also mean everyone in the top 20 of a ladder league would have a decent chance of picking up one "prince" award so there would be hope for everyone near the top of the league that by winning more matches they could win something. It would reward skill on a specific map, which I think is often overlooked in favor of overall rating/total number of wins.

Too hard to keep track of and even if the tracking was easy, I'm not spending 12 hours of my life every month going through the mod client and the FAF user list to hand out the avatars and take them away from the last league's winners. Someone wants to make some automated program that does it and doesn't require my input? Fine. I wouldn't even give someone mod client access to do it manually because they will get burned out in 2 league seasons and then I'm suddenly the dude that needs to take over doing it.

I'm not interested in separating the king and prince avatars from the league system. If there is 0 interest in 1800+ players getting the king avatar by playing 20 minutes on ladder, what even makes you think they would go through the tribulations and effort of an entire tournament?

I expect there would be interest in a "king of faction tournament" based on a history of such tournaments. If there is no interest in a tournament and the ladder league is a bad way to award people as "kings" of a faction, then maybe we just don't give that award to anyone.

I wouldn't mind crunching the numbers to calculate the winners of 27 "prince" or "baron" of map awards. I would just need something like a printout (in text format, or csv, or excel) of every ladder match with the IDs of the players (I'd rather use ID than name because people can change their name during or after a ladder season), the map name, and whether the system scored it as a win/loss/draw for player 1. I could easily sort it out in excel to calculate the appropriate winners and then report back the IDs of the winners. I could definitely do this once every 60 days.

Creating 15 or 27 avatars and adding them to people, that I have no idea how to do or how much time that would take. But figuring out who the winners are would be easy for me. Also, we could recognize people's success without actually giving anyone an avatar, if that aspect of the whole thing is too much work. I would crunch these numbers for FAF even if it was just to report it to the forum.

You can feel free to do so, I have no problem attaching additional awards to leagues. I just am not interested in being the dude staring at the mod client for the entire day handing out/revoking the avatars.

Though just to reiterate, this is probably the last league anyway since divisions are expected to be released around the same time as TMM which is in the next 2 months anyway.

Who should I ask to get the data about ladder matches in a workable format?

what are you looking for @arma

@nine2 A list of all ladder matches played during the most recent ladder league in a text format or a spreadsheet format like csv

One column for Player 1 player ID (or their current name--but I don't want a situation where a player changed their name during the league so their name is written differently for different matches)

One column for Player 2 player ID

One column for whether it was a win, lose, or draw for Player 1

One column for the name of the map.

If that's not easy to do, you could just do a text dump of info about every single ladder match during the league, and I could make a text parser to collect the info and put it into a spreadsheet myself. From there I could calculate each player's "score" per map (let's say +2 for a win on that map, -1 for a loss, +0 for a draw).

Separately I would either need to figure it out which division each player was in. It shouldn't be hard to figure out for myself (just look it up on the ladder league web site) or if it was handy to you, I could use a list of which playesr belong to which divisions

@arma473 that will be thousends of games

You can get this information from the API the same way the league page itself does https://github.com/FAForever/website/blob/develop/scripts/updateLeagues.js

I could definitely make/modify a javascript along those lines to get the information that I need.

How does one run that script? Is there a particular execution environment that you would use? Do you need a config files and does it need to be in a certain directory? Can I have a copy of the config file? I would appreciate anything you can do to point me in the right direction.

I have no clue how any web technology works, I just know that is where the code is.

@arma473 said in FAF League Month System:

How does one run that script? Is there a particular execution environment that you would use? Do you need a config files and does it need to be in a certain directory? Can I have a copy of the config file? I would appreciate anything you can do to point me in the right direction.

The api is accesible from api.faforever.com you just need to use the query similar to what is used in that page. (e.g api.faforever.com/data/game?filter....). This will return a json object of the data you would need.

@Sheikah Thank you. Can you give an example of a query, like "all ladder matches for a certain day"?

As an example: https://api.faforever.com/data/game?filter=(featuredMod.displayName=in=("Ladder1v1");endTime=ge="2020-12-10T00:00:00Z";endTime=le="2020-12-11T00:00:00Z")

Additionally on the client in the vault search there is a tick box to display the search query which shows you the query that you can use for the search you are doing. Additionally there is documentation for the api at api.faforever.com

Is there a rule against using a computer program to generate and execute the queries and download the resulting data? Of course I wouldn't randomly scrape the database for ridiculous amounts of data. it looks like 1 month worth of ladder data is around 10MB total.

I would say to make sure that you limit your queries in terms of search space to make the server not work as hard as overloading the api would not be good. Although the definitive opinion on this would be @Brutus5000

@Sheikah I should be done pulling the data. It was only 10MB total. It would have put the same strain on the server if I did it entered the queries by hand. Now I just have to parse it (and verify that it's the correct data set). Thank you and also @ThomasHiatt for your help here.

I’m going to do a new system with leagues now. I’m still planning stuff out but now it should work in this general format:

League happens on odd months

League points are given out same as always

Avatars etc will be given out as usual for most of the brackets, however the 1800+ bracket will have an additional aspect added to it.

The top 8 in a league month will instead be invited into a tournament where they all face one another in a sort of round robin format. Their performance in these formats will then give prize money, avatars, as well as invites for LotS based on a point system depending on performance during these tournaments.

More details should follow later.