Announcement

Collapse
No announcement yet.

TSL Basing Drafting

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

  • TSL Basing Drafting

    Ppl discussing TSL again, so you should have this info.... note that I really am not playing anymore so don't intend to get any more involved with this, but I did a bunch of work on this so you may as well have it...

    TSL automatically makes teams by distributing people in order of rating between the teams. It'll make as many matches as possible based on how many players are present. This is fine for wb and jav, but shit for basing - which has extra requirements like making sure each team has a terr and 2 sharks. So I wrote code in 2017 to do a basing draft properly, like a person would. We stopped playing TSL so it never got implemented in the tsl bot.

    This code essentially behaves like a captain, so I call it "draft with Captain". Each pick simulates the decision making process of a captain, and it repeats until the draft is completed. Captains make sure they get what they need whilst also trying to make a fun and fair match, that's how this code behaves.

    Decision-making process:
    - we need 1 terr, 2 sharks, 5 spids
    - we know which team we're up against
    - we know their picks
    - we know all the available terrs, sharks, spids
    - we prioritise getting elite players in their best ships and we balance this with getting the ships we need
    - as rounds of picking progress we lower our standards
    - we know how many picks will occur until our next pick, combines with how many remaining terrs and sharks there are, to know if we can get a terr/shark on our next pick or need to do it now
    - we don't pick more than 2 sharks unless we have to
    - we don't pick more than 1 terr unless we have to
    - we don't pick more than 5 spiders unless we have to

    This code is written based on a standard snake draft.

    This entirely depends on accurate per-ship ratings.

    I have a test program which takes a CSV input, example:
    https://imgur.com/aBd4Zvk

    then assumes a random 32 players from that sheet are playing and makes 4 teams of 8 from that - there can be 7v7 games in TSL to get as many playable games as possible.

    And produces HTML output, example:
    https://imgur.com/kIACZtS

    Note that the colors indicate what ship the Captain intends the player to play, and the current draft is all grey because that context doesn't currently exist.

    You might look at these results and pick holes in it but you're really finding flaws in the ratings input rather than the draft algorithm.

    I can zip the whole solution (C#) and share it with whoever wants to do something with it, just leave me a forum PM with your email address.
    Last edited by Rab; 11-01-2021, 02:50 AM.

  • #2
    Uhh hello?1 tsl for warlord, and javelin please.
    2018 TWDT Champion 2019 TWLD Final 4 2019 TWDTJ Semi finalist 2019 2x TWDTD Finalist 2020 TW Forum Mafia Game champion

    Comment

    Working...
    X