Announcement

Collapse
No announcement yet.

TSLB Matchmaking Has Been Updated

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • TSLB Matchmaking Has Been Updated

    Qan found some time this morning to implement the new matchmaking ratings.

    The matchmaking initially had 3 categories: Terrier, Shark, and Spider.

    It would go down the terr list until it added a terr for each team, then two for shark, then spiders.

    Unfortunately, this led to issues, with a lack of terrs around, it would go all the way down the list and grab Turban at 75 terr rating, and assume he was giving the team 75 value, when he's 100 in spider. This led to imbalanced teams.

    Then a hot fix yesterday actually was a miscommunication, and only spider ratings were being used, making matchmaking even worse.

    Basing matchmaking now has 1 category: Basing.

    I simply overrated the top terriers and sharks above 100, putting them at 101-105 so they go first, then the top spiders at 100 go next. This should smooth out the matchmaking process and produce much better teams.

    Basing, of course, is always complicated, and we'll continue to monitor and tweak the matchmaking to the best of our abilities.

    There are also some underrated players who need to be better rated, and we can do that on the fly with bot commands.

    Hopefully the Thursday games go better in base.
    top 100 basers list

  • #2
    I think wb and jav are doing okay in terms of teams, but base is still really struggling rather often : (


    back to the drawing board.
    top 100 basers list

    Comment


    • #3
      Can you share the ratings and drafting algorithm so I can test ideas?

      Comment


      • #4
        note the code tag has a scrollbar.
        Code:
        Pure speculation because I don't have the ratings or algorithm....
        
        
        If you have a list of players by rating, say 32 who are !playing:
        
        
        Rating | Name
           105 | Player1
           100 | Player2
             [...]
           010 | Player31
           005 | Player32
        
        
        You want to have 4 teams of 8. 
        (8)Team1 v (8)Team2 | (8)Team3 v (8)Team4
        
        
        What I think you currently do:
        Team1      | Team2    | Team3    | Team4
        Player1  | Player2  | Player3  | Player4
        Player5  | Player6  | Player7  | Player8
        Player9  | Player10 | Player11 | Player12
        Player13 | Player14 | Player15 | Player16
        Player17 | Player18 | Player19 | Player20
        PLayer21 | Player22 | Player23 | Player24
        Player25 | Player26 | Player27 | Player28
        Player29 | Player30 | Player31 | Player32
        
        
        What you could do:
        Team1    | Team2    | Team3    | Team4
        Player1  | Player2  | Player3  | Player4
        Player32 | Player31 | Player30 | Player29
        Player5  | Player6  | Player7  | Player8
        Player28 | Player27 | Player26 | Player25
        Player9  | Player10 | Player11 | Player12
        Player24 | Player23 | Player22 | Player21
        Player13 | Player14 | Player15 | Player16
        Player20 | Player19 | Player18 | Player17
        
        
        Or you could even zig-zag that:
        Team1    | Team2    | Team3    | Team4
        Player1  | Player2  | Player3  | Player4
        Player32 | Player31 | Player30 | Player29
        Player8  | Player7  | Player6  | Player5
        Player25 | Player26 | Player27 | Player28
        Player9  | Player10 | Player11 | Player12
        Player24 | Player23 | Player22 | Player21
        Player16 | Player15 | Player14 | Player13
        Player17 | Player18 | Player19 | Player20
        I think once you've got something like this it becomes more of a question of how good your ratings are.
        Last edited by Rab; 06-23-2017, 11:34 AM.

        Comment


        • #5
          Qan is writing the code, so I'm not sure exactly how it is sorting.

          I believe it's:

          Code:
          Team 1 Team 2  Team 3 Team 4
          P1              P2            P3          P4
          P8              P7            P6          P5
          But it probably needs to be more complex than that. The ratings aren't the issue, and we can manually update them on the fly if someone is too low or too high.

          It's that the sorting probably needs to be something like what a good captain does:

          TEAM 1
          1. If there's an elite shark like Zidane or Commodo, take them first
          2. Oh, the other team took Turban in spider, and there is only 1 elite spider left. If I take Omega Red in shark, we'll get outspidered way too hard. I'll take Spezza.
          3. There's Beasty (shark), Cintra (terr), and Markmrw (shark). I can take Cintra and still get a good second shark.
          4. This spider always refuses to under, I should take a slightly less good spider who will cover under as it will help us win.


          Like... that is very hard to program. There's maybe 15 people in the zone who can pick well in ?go base as a Captain.

          The problem is if we ditch the bot sorting, players will be consistently left out. There's going to be 20 players signed up and 16 spots, and everyone is going to refuse to pick Chrona and Jebass and they'll never get to base.

          It's a difficult situation. Do we ruin base games for 14 people so that 2 can play, or do we exclude the bottom 5% of players to improve the quality of base games?

          I have no idea what to do.
          top 100 basers list

          Comment


          • #6
            OK, the current draft order produces the same result as what I proposed. I understand what you mean about picking like a real captain, I agree that's the next step to improving the draft.
            (There's a question about how necessary this is, the current draft isn't awful - we could continue with it and it'd average out okay.)

            I've got time this weekend, I'm happy to try and write it (in C#), I just need some ratings to test with (csv or something).
            (and it would require separate ratings for spid/terr/shark)

            How does the bot decide who benches atm?
            Last edited by Rab; 06-23-2017, 12:28 PM.

            Comment


            • #7
              Originally posted by Rab View Post
              What you could do:
              (clipped)
              I think once you've got something like this it becomes more of a question of how good your ratings are.
              Right now it's as Ogron said, it snakes down from the top. I think your 2nd and probably especially 3rd choices are an improvement, though. Wouldn't be too tough to change from what we have now.

              I think the biggest issue is that since competitive basing has kind of trailed off in recent years (huge loss to the zone), and some extremely skilled WB/Jav players have never really touched base, you have people who are a totally unknown quantity in base as of yet. Currently more than half of the players in TSL are unrated in base. So that means on average, the rating for players 13-14 through 32 are going to be roughly the same. But for one of those slots, you could get a guy who's an LD WB, or someone who started playing a few months ago. Because they'll be rated the same -- at the moment there's no idea of how the WB will perform in base. But I think it's safe to say he's almost guaranteed to perform slightly better than Joe Scrub, even if he's somehow never heard of a cram. Just sheer ability to position, aim and dodge are going to be leaps and bounds ahead.

              So maybe we need to look at the default rating being even lower than it currently is, and then rating players who are known to be great in other leagues but are dark horses in basing as slightly better than that default, and adjusting with time as their performance dictates. It's a huge pain in the butt to do manually, unfortunately, and requires intense attention to detail... But unless we can create some kind of satisfactory self-adjusting rating that can't be easily gamed, that's where we're stuck at currently.

              Re: benching, the bot is benching unrated players (who are the lowest-rated). There are quite a lot of people who are unrated, and there's also a random element involved that will raise or lower rating temporarily to mix up the arrangements. So really, if you're one of the players who are relatively unknown in a league, it's kind of luck of the draw whether you get to play. I think that's somewhat fair, though, as obviously the people who are known in a league have more of a reason to care about it, and playing vs not playing for them means a lot more. It also means that being underrated is a dual-edged sword. If you're underrated you will get placed more advantageously in games (teams will be more lopsided, favoring you slightly), BUT, it also means you're less likely to get picked.
              "You're a gentleman," they used to say to him. "You shouldn't have gone murdering people with a hatchet; that's no occupation for a gentleman."
              -Dostoevsky's Crime and Punishment

              Comment


              • #8
                Getting quite far in writing something. Ogron I need your input now tbh, online all day whenever ur rdy.

                Comment

                Working...
                X