FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login

    FAF Analytics

    Scheduled Pinned Locked Moved Blogs
    faf-analyticsparserplayerreplaystatistic
    18 Posts 13 Posters 4.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • KazbekK
      Kazbek
      last edited by Kazbek

      Link for app: https://kazbek.github.io/FAF-Analytics

      Intro
      For a long time I wanted to be able to get statistics about my games, as well as analyze specific games. A couple of months ago I started working on such a tool, and now it provides an opportunity to view player statistics, analyze current lobbies, view ladder activity over the last week, and also get some information from replays. Next, I will describe the functionality of the site.

      It now supports two languages: English and Russian.
      If you can translate it into another language, please contact me.

      Player statistic

      screencapture-kazbek-github-io-FAF-Analytics-2021-06-26-00_51_16.png
      Here, after selecting a player and clicking the "Load" button, you will be shown the player statistics.

      Basic settings:
      Game type: Global + TMM, Ladder 1v1, TMM 2v2
      Group similar map - in order to combine similar maps (for example, similar DualGaps into one map).

      The first table shows which players you have played most often with, how many games have been played with them, their current rating, your rating change from the games in which they participated, the statistics of victories when they are allies and opponents.

      The second table shows the winrate for specific map. General statistics under the FAF logo, then separately for each faction.

      Details for "All maps" show the number of games for each faction and rating changes over time.

      Headings are clickable, click them to hide related data!
      d99cc236-234b-4d2e-9753-d4a5dc4657f8-image.png

      Details for a specific map show wins and losses for a specific faction if the game ends in a specific period of time. The lines show the winrate for each period of time. As example this guy is pretty good on most popular map but can be easily killed by early rush.

      89516202-2ecb-492c-b67a-323b648ff870-image.png

      Also supports direct links for players like (all parameters are optional):
      https://kazbek.github.io/FAF-Analytics/player/{Login}/{GameType}
      https://kazbek.github.io/FAF-Analytics/player-id/{PlayerId}/{GameType}
      Game types: 1- Global + TMM, 2 - Ladder, 3 - TMM 2v2.
      Example ZLO:
      https://kazbek.github.io/FAF-Analytics/player/ZLO - ZLO Global
      https://kazbek.github.io/FAF-Analytics/player/ZLO/2 - ZLO Ladder
      https://kazbek.github.io/FAF-Analytics/player-id/145/3 - ZLO TMM 2v2

      Lobbies
      screencapture-kazbek-github-io-FAF-Analytics-lobbies-2021-06-26-01_10_44.png
      This section shows information about the current lobbies. To update information about them, it is recommended to use the "Refresh" button at the top right of the page, it saves data about the already loaded player.

      After clicking on the "Load" button, the site will show information about the winrate of each player on this particular map, as well as the number of games on it (including unrated ones). By clicking on the player's nickname, you will be taken to a page of detailed statistics about him.

      By default, it first shows the lobbies with the most players, but if you want to see your lobby (as well as your friends) first, then add yourself to your favorite players in the settings section, they will be saved even after you close the browser. Better to add yourself first.
      6c575898-a4e1-46d1-80e8-571613a372cd-image.png

      Replay parser
      Here you can parse any replay from file or from its Id. You can input it's number with or without #, also you can just put link like https://replay.faforever.com/14394131 it will crop it automaticly.

      The first part shows the players of the teams, ACU upgrades by the end of the game, their rating and the average CPM (Commands per minute). Next comes the CPM chart.

      Note. Multiple build orders by dragging counts here as 1 command. Like build walls in a line. Headings are clickable, click them to hide related data!
      87f37c99-8b97-483e-8293-2c4c8d5136e7-image.png

      Next comes the part that shows the main events, such as ACU upgrades and the construction of experimental units. Also, the commander's icon means that the player most likely died at that moment. To find out which player belongs to this or that event, hover over the icon, his nickname will be in the tooltip. It should be noted that the construction of T3 artillery will always have the icon of the artillery of the faction that the player has chosen.
      e476b1e8-4815-4fc5-82c1-77c660c2948c-image.png

      There is also a player that allows you to evaluate where the players handed out commands at different times. It supports rewind, auto play, color grouping by commands, and two play modes. In the first playback mode, only commands from the last 30 seconds are shown, and in the second all commands up to the current moment. The second mode can create a heavy load on the processor on long replays.
      dab166fb-ea37-4f2c-8097-c8535f6bdeec-image.png
      0ab43b7b-0de3-4457-b68d-b2d23f4d188e-image.png
      At the end, the chat of the game is shown, and the messages about the transfer of resources are also highlighted. They are displayed even if there was no information about the transfer of resources in the chat.

      919f590b-477f-4b8e-b5e3-0eabd2b51e54-image.png

      Conclusion
      I tried to make the functionality as convenient and understandable as possible. I would be glad to hear suggestions and comments, you can write them here or in Discord (there you can find me by the same nickname).

      1 Reply Last reply Reply Quote 35
      • maudlin27M
        maudlin27
        last edited by

        Thanks for this, I find it really useful!

        M27AI and M28AI developer; Devlogs and more general AI development guide:
        https://forum.faforever.com/topic/2373/ai-development-guide-and-m27ai-v71-devlog
        https://forum.faforever.com/topic/5331/m28ai-devlog-v150

        1 Reply Last reply Reply Quote 0
        • FtXCommandoF
          FtXCommando
          last edited by FtXCommando

          I guess the one comment is that the graph telling you what time period a loss fell in could be made a bit more clear by simply labeling the vertical axis the total wins (top left) and total losses (bottom left). That way you don’t really need to have the red bar surrounding “Aeon losses” to differentiate from “Aeon wins” and can instead keep it as “Aeon games”

          At least for me I was looking at it as though 50 was 50% win rate at first and thought the guy was losing nearly all the time.

          Otherwise great work, always fun to have more data to parse through.

          KazbekK 1 Reply Last reply Reply Quote 0
          • AskaholicA
            Askaholic
            last edited by

            Looks really good! You put a lot of work into it and it shows

            1 Reply Last reply Reply Quote 0
            • MazorNoobM
              MazorNoob
              last edited by

              Where's the source code?

              KazbekK 1 Reply Last reply Reply Quote 0
              • QuietJoyQ
                QuietJoy
                last edited by

                holy shit. that is all 🙂

                1 Reply Last reply Reply Quote 0
                • KazbekK
                  Kazbek @MazorNoob
                  last edited by

                  @mazornoob for some reason I can't share the source code.

                  1 Reply Last reply Reply Quote 0
                  • KazbekK
                    Kazbek @FtXCommando
                    last edited by

                    @ftxcommando said in FAF Analytics:

                    labeling the vertical axis the total wins (top left) and total losses (bottom left)

                    I guess chart.js can't add 2 labels to one axis, also not sure about one.

                    1 Reply Last reply Reply Quote 0
                    • MazorNoobM
                      MazorNoob
                      last edited by

                      I'm asking because I'm curious whether the site is connecting to the replay server. Does it attempt to download the same replay for each player in the game?

                      KazbekK 1 Reply Last reply Reply Quote 0
                      • KazbekK
                        Kazbek @MazorNoob
                        last edited by

                        @mazornoob you mean in replay parser? It load replay from content server, link to which is provided by api. Only reason to connect to replay server is watch 5min delay live replay, but it requires tcp connection which cant be established from browsers now. I have proof of concept for live replay parser on android(I shared link in creative faf some time ago) but at this moment its more like technical demo with only chat updating in real time, so I dont put a link to it anywhere.

                        1 Reply Last reply Reply Quote 0
                        • D
                          Defiant
                          last edited by

                          Amazing!

                          1 Reply Last reply Reply Quote 0
                          • CheeseBerryC
                            CheeseBerry
                            last edited by

                            This is AWESOME!

                            1 Reply Last reply Reply Quote 0
                            • FemboyF
                              Femboy Promotions team
                              last edited by

                              Thank you so much for your hard work! This definitely looks stunning and shows alot of hard work, good job on being so amazing!

                              FAF Website Developer

                              1 Reply Last reply Reply Quote 0
                              • KazbekK
                                Kazbek
                                last edited by

                                Thanks everyone, I am very pleased to read these comments)

                                1 Reply Last reply Reply Quote 2
                                • Z
                                  Zokora
                                  last edited by

                                  I love that tool, and it is incredibly well done.

                                  Could you add 4v4 TMM as well, please?

                                  1 Reply Last reply Reply Quote 0
                                  • HolmenlundH
                                    Holmenlund
                                    last edited by

                                    What an insane tool you made, well done sir ! Quite the work you made ✌

                                    1 Reply Last reply Reply Quote 0
                                    • jusbeginningJ
                                      jusbeginning
                                      last edited by

                                      Does this still exist?
                                      I mean, the page kinda still exists - just does would not load any data: "unhandled error has occurred"

                                      Long time I last used that - took a break from the game
                                      1st half of last year I guess it still worked

                                      If it finally ceased, is there something else like that somewhere?

                                      RoweyR 1 Reply Last reply Reply Quote 0
                                      • RoweyR
                                        Rowey @jusbeginning
                                        last edited by

                                        @jusbeginning the issuse is that the site hasn't Been updated to use OAuth ever since our API had to be closed so the creator would need to have a verification to use the API data so until then the site won't really work as it used too

                                        "The needs of the many outweigh the needs of the few" - Spock

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post