Available data on FAF

Talk about general things concerning Forged Alliance Forever.

Moderators: FtXCommando, Ze Dogfather

Available data on FAF

Postby --- » 15 Jul 2019, 11:09

Hello,

First off, I want to express my greatest admiration for what Downlord and the other developers have achieved. I was around when Downlord announced his work on a new client and I remember how a lot of people smack talked him and belittled him. They all were proven wrong. The dedication and vision it takes to create a client we all can benefit from now – amazing! Thanks a lot!

Now I was wondering what DATA is available we, the public, can use to tinker around with? In Downlord’s client we get a glimpse of what is possible with the nice achievement badges (also wonderfully designed by tatsu? Thanks! I have spent quite some time just looking at them - Well done!). We also see the distribution of land/water/air units as well as tiers built if memory serves). Cool stuff.

I feel there is a lot of additional potential for using the data which has not been dug into yet. Examples, in combination with adding to the client itself:

To be displayed for the LADDER tab, adding some competitive element:
- Longest winning streak
- Most often fought opponent
- Most often defeated opponent
- Most often lost to opponent (“Arch enemy”)  have him being displayed in the ladder tab or at the beginning in the game when facing him
- (Least) favorite t1/t2/t3 unit (how often built)
-->All of this can be shown as global information or map specific information
- Win/lose ration for specific maps (helps identify issues)

Sidenote: you also could ask players after a game: “How do you rate this map?”; once a rating is given don’t ask anymore, or ask occasionally “Would you like to rerate the map?” [or ask once the ladder period is over; see further below]

Additionally, data can be used to analyze beyond what can be found in Softly’s thread (which is a great read, thanks!)
viewtopic.php?f=2&t=13449

We mostly find distribution of data there without any statistical analysis. There is probably more you could get out of it, here is just one example:
- Where (map) and when are nukes built most often?
- How likely is it that a nuke hits/is blocked by smd on specific maps
- How likely is it that player building a nuke wins/loses
- Is the amount of additional reclaim over your opponents reclaim a good predicator for a win? Is the apm-rate?
- How often are t4’s, arties, nukes etc. built? When is the average time for each (1st time) -> is it a good predictor for a win?

- For specific maps, e.g. water heavy maps, I would like to see the composition of the fleet. Yes, I can just watch the replay, or I could get an overview of not just units built but what kind of units (for opponent and myself)

I also would like to see a tally after each ladder period:
- How many games did I play
- Which maps did I play how often? [rate them]
- Win/lose ratios?
- Most faced (lost/defeated) opponent(s)?
- Average time played (in general and map specific)
- Overall development graph (similar to global rating graph)


Would be nice if the ladder graph would be adjusted a bit. Seems nonsensical to me to have bars for players with a -300 rating. Maybe increase the minimum numbers of games played before including the datapoints in the dataset displayed?

Finally, I suppose there also is data which could be used related to things beyond gameplay.
E.g. how did reports develop over time?
- Where there more or less teamkill reports once the auto-report was introduced?
- How often do people click on anything shown in Aeolus (link to rules, link to polls)
--> Those numbers may help identify what works and what may deserve some changes

[On a sidenote, I would be very curious to see the relationship between rating and number of warnings/bans. I have my suspicion which tier is the most involved.]

So, to reiterate my initial question:
What data is available to play around with/what regularly updated data can we get access to?

Thank you.


[Sidenote II:
I would love to see a Promo Councilor do surveys like: “Favourite t1/t2/t3 unit”, maybe faction and land/air/water based, a tier each 2 weeks or so and then present the winners in a new poll across factions, like a tourney.
Stuff like that, with the right promo strategy can be fun for the entire community I think]
---
Priest
 
Posts: 464
Joined: 26 Sep 2013, 10:24
Has liked: 5 times
Been liked: 192 times

Re: Available data on FAF

Postby Bennis- » 15 Jul 2019, 14:40

I would love to learn more about this too!
User avatar
Bennis-
Avatar-of-War
 
Posts: 119
Joined: 26 Jan 2019, 04:55
Has liked: 13 times
Been liked: 30 times
FAF User Name: Bennis

Re: Available data on FAF

Postby Geosearchef » 16 Jul 2019, 21:52

I like this idea, although I don't think it's feasable. In my opinion dev time spent on this is wasted, there are so many features the FAF community could benefit more from and so little dev time.
Developer, Server Admin, ICE, currently working on Team Matchmaking, FAF Client
User avatar
Geosearchef
Contributor
 
Posts: 392
Joined: 18 Oct 2013, 14:08
Location: Germany
Has liked: 6 times
Been liked: 127 times
FAF User Name: Geosearchef

Re: Available data on FAF

Postby armacham01 » 16 Jul 2019, 23:15

I believe there is a replay parser tool. I'm curious if it is an open-source thing.

Potentially someone could modify the parser to gather this sort of information. Then, build the analyzer into the client so users could run it for themselves to download and analyze a replay, and pull certain metrics, without needing to watch the entire game and try to calculate that for themselves.

You could potentially run it on all of your saved game files. I don't think it makes sense to run it on every game in the entire replay vault. First, most of those games we might not care about. Perhaps only analyze games where the lowest-rated player was 1500, and only certain maps.

Maybe there should be a way to access the replay vault to download ALL replay files that match certain criteria, so people could download that set of games, and then run the parser/analyzer on the dataset.

If someone took the trouble to build the analyzer tool, I think the devs should make the replay files accessible to them so they could crunch the numbers for us and share their findings.
armacham01
Avatar-of-War
 
Posts: 232
Joined: 09 Feb 2019, 09:01
Has liked: 54 times
Been liked: 109 times
FAF User Name: arma473

Re: Available data on FAF

Postby Brutus5000 » 16 Jul 2019, 23:37

Hey there,

basically, we have an open API where you can query everything about all stuff that we have stored in our database (except for data privacy or moderation related, teamkills are part of that). You can find the swagger API here: https://api.faforever.com/swagger-ui.html . Click on the combobox in the top right and click on data. To understand the RSQL query language please have a look here http://elide.io/pages/guide/10-jsonapi.html and here https://github.com/jirutka/rsql-parser


However, most of the stuff you asked for does not exist or is not queryable there.
We do not store the game metrics like which unit was built how many times (only some of these are stored for achievements like experimentals).
No chat interaction is stored, also client interaction is not measured.
Question about who played with whom are very expensive to query and also do not fit very good into our SQL scheme. You have millions of game and each game has 1 to 16 participants. So you'd need to self-join the table by games, filter for one player, group them by teams, check who won/lost and then count the outcomes individually. This on the biggest table that we have is not feasible to query this "on demand" on the server.

You are free to build your own service to fetch the data for one player, aggregate that statistics and offer them to the world. That's basically the idea behind the open API. To allow people to work on the data. Just make sure not to overload our API with requests.
The 9th Doctor wrote:You think it'll last forever, the people and cars and concrete. But it won't. One day it's all gone, even the sky.
Brutus5000
Councillor - DevOps
 
Posts: 366
Joined: 05 Aug 2016, 23:32
Has liked: 29 times
Been liked: 288 times
FAF User Name: brutus5000

Re: Available data on FAF

Postby --- » 17 Jul 2019, 08:10

Geosearchef wrote:I like this idea, although I don't think it's feasable. In my opinion dev time spent on this is wasted, there are so many features the FAF community could benefit more from and so little dev time.

I am not a developer, but I do data analysis. Would like to look at it.

Brutus5000 wrote:Hey there,
basically, we have an open API where you can query everything about all stuff that we have stored in our database (except for data privacy or moderation related, teamkills are part of that). You can find the swagger API here: https://api.faforever.com/swagger-ui.html . Click on the combobox in the top right and click on data. To understand the RSQL query language please have a look here http://elide.io/pages/guide/10-jsonapi.html and here https://github.com/jirutka/rsql-parser

Thanks, I'll have a look.

Brutus5000 wrote:However, most of the stuff you asked for does not exist or is not queryable there.
We do not store the game metrics like which unit was built how many times (only some of these are stored for achievements like experimentals).
No chat interaction is stored, also client interaction is not measured.

Not using client interaction to evaluate features is a bit of a bummer imo. Could offer some valuable insight.

Brutus5000 wrote:Question about who played with whom are very expensive to query and also do not fit very good into our SQL scheme. You have millions of game and each game has 1 to 16 participants. So you'd need to self-join the table by games, filter for one player, group them by teams, check who won/lost and then count the outcomes individually. This on the biggest table that we have is not feasible to query this "on demand" on the server.

I was strictly referring to ladder for this one.
---
Priest
 
Posts: 464
Joined: 26 Sep 2013, 10:24
Has liked: 5 times
Been liked: 192 times

Re: Available data on FAF

Postby Louvegarde » 19 Jul 2019, 05:15

Hey,

Most of what youre talking about is very feasible using just the API with the links and docs Brutus provided. This is how I did for dostya and for my other stats tool.
You will not be able to access report data, but I do, and I plan to make report stats later this year (currently theres not enough data over time)

The ingame info is trickier but can be obtained via replay parsing, however I dont know the specific details on how to do it. But you could probably make a python or nodejs script that downloads all replays on a time range and parses through all replays to get stats.
Cryogenic slumber party!
User avatar
Louvegarde
Priest
 
Posts: 353
Joined: 25 Mar 2018, 14:09
Has liked: 105 times
Been liked: 103 times
FAF User Name: Louvegarde


Return to General Discussions

Who is online

Users browsing this forum: No registered users and 1 guest