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

    FAF/SCFA Replay Parser Library

    Scheduled Pinned Locked Moved Blogs
    12 Posts 9 Posters 2.4k 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.
    • MazorNoobM Offline
      MazorNoob
      last edited by

      This thing is good, it parses tick count real fast, it's thanks to this thing that we get to preview in-game time for replays, you should adore it

      1 Reply Last reply Reply Quote 3
      • H Offline
        HideLord
        last edited by

        Really clean. Great work

        1 Reply Last reply Reply Quote 2
        • AskaholicA Offline
          Askaholic
          last edited by Askaholic

          I updated the development version to clean up the command output a bit.

          Old:

          ├── VerifyChecksum { digest: [168, 55, 122, 87, 70, 60, 17, 145, 224, 174, 52, 71, 2, 143, 109, 2], tick: 0 }
          ├── IssueCommand(GameCommand { entity_ids: [0], id: 0, coordinated_attack_cmd_id: 4294967295, type_: 8, arg2: -1, target: Position(Position { x: 667.5, y: 18.679688, z: 357.5 }), arg3: 0, formation: None, blueprint: "urb1103", arg4: 0, arg5: 1, arg6: 1, upgrades: Nil, clear_queue: None })
          ├── LuaSimCallback { func: "SyncValueFromUi", args: Table({Unicode("id"): String("0"), Unicode("Specialization"): String("ALL"), Unicode("AffectName"): String("PowerDamage")}), selection: [] }
          

          New:

          ├── VerifyChecksum { digest: a8377a57463c1191e0ae3447028f6d02, tick: 0 }
          ├── IssueCommand(GameCommand { entity_ids: [0], id: 0, coordinated_attack_cmd_id: -1, type: BuildMobile, arg2: -1, target: Position { x: 667.5, y: 18.679688, z: 357.5 }, arg3: 0, formation: None, blueprint: "urb1103", arg4: 0, arg5: 1, arg6: 1, upgrades: Nil, clear_queue: None })
          ├── LuaSimCallback { func: "SyncValueFromUi", args: {"id": "0", "Specialization": "ALL", "AffectName": "PowerDamage"}, selection: [] }
          

          The commands should be a lot easier to read now. New versions of the pre-compiled binaries are also pushed, link in the OP.

          N 1 Reply Last reply Reply Quote 1
          • N Offline
            Nooby @Askaholic
            last edited by Nooby

            I have downloaded a few thousand replays and used your python libary to parse all chat in them. 12MB of text was parsed for this.

            I have quite a big text file for each FAF username. I know it would be better to use userID and I will in future things. Does anyone want this data?

            The chat has been filtered to remove "notify" events and also "Units / Mass / Power sent"

            I do plan to do some kind of node analysis on who plays with who next
            who is associated with which map
            association of maps with ratings

            20211020_12MB_wordcloud_thousands_recent_games.png

            1 Reply Last reply Reply Quote 6
            • K Offline
              Katharsas
              last edited by

              Mavor most iconic unit confirmed.

              1 Reply Last reply Reply Quote 2
              • ZeldafanboyZ Offline
                Zeldafanboy
                last edited by

                Lol "air".

                put the xbox units in the game pls u_u

                1 Reply Last reply Reply Quote 0
                • GiebmasseG Offline
                  Giebmasse Team Lead
                  last edited by Giebmasse

                  im need mass pls

                  Could be interesting seeing more replays parsed and data analyzed/presented.

                  1 Reply Last reply Reply Quote 0
                  • M Offline
                    meatontable
                    last edited by

                    I have tested a python binding and it is OK. What kind of the data analyze do you want ?
                    Winning fraction? most killed fraction ? popular (unpopular) units ?

                    N 1 Reply Last reply Reply Quote 0
                    • N Offline
                      Nooby @meatontable
                      last edited by

                      @meatontable What information can you extract here?

                      Relationship of unit experemental built to winning in next 10 mins would be good

                      1 Reply Last reply Reply Quote 0
                      • M Offline
                        meatontable
                        last edited by

                        Sorry for delay. I'm doing this for fun when I'm free. Of course, a detecting winning conditions is a good goal.

                        1 Reply Last reply Reply Quote 0
                        • AskaholicA Askaholic referenced this topic on
                        • D Offline
                          dragonite
                          last edited by

                          Found this thread after ages to be here. Unbelievable. Guys, you're great! 🙂

                          1 Reply Last reply Reply Quote 1

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          • First post
                            Last post