dr4ft icon indicating copy to clipboard operation
dr4ft copied to clipboard

Bots improvements to make them useful (basic AI)

Open tooomm opened this issue 4 years ago • 5 comments

Some ideas from the discussion started in #798 as a starting point.

General rules without set/card knowledge as simple start, like sticking to colors at same point:

But how to get started? Pick randomly in first 3 rounds with an emphasis on rarer cards? And once a Color appears again try to stick to that with like 90% chance. Also, count how many cards of a Color you are seeing in packs = likelihood that they wheel for example? Consider rarity, especially mostly don’t pass on-color rares for example. Or even take creature count into account as well. When no on-color pick available. Randomly pick? There is a lot to think of! :/

Source: https://github.com/dr4fters/dr4ft/pull/798#issuecomment-575320592


A more advanced approach which considers card ratings when available:

Thinking of ideas on how we can handle drafts better. https://aetherhub.com/Apps/LimitedRatings goes back quite a while (starting with KTK), so we could use their draft stats number to make better informed choices for the bots.

Rudimentary idea I'm having on how to make a better draft bot, since we don't have a good starting stat base. Would love to try and partner with someone to get more data.

if set exists on AetherHub:

  • First three picks of draft, take highest ranking card rank
  • After those picks, select highest ranking card that falls within the same colors as the first three

if set does not exist on AetherHub:

  • First pick the rare
  • Pick cards that fall in the same color ranges as other cards drafted

if cube draft:

  • Pick randomly at all times

Source: https://github.com/dr4fters/dr4ft/pull/798#issuecomment-578168607


Please let us know what you think and share your ideas. Which basic rules we can start with (and fall back to once no limited rating is there)? What is a good - not overkill - pattern to start a draft and decide on later picks to make the bots better.

tooomm avatar Feb 10 '20 17:02 tooomm

For bots with AI, it may be interesting to look at a possible wrapper of this : https://github.com/madrury/mtg-draftbot

HerveH44 avatar Apr 23 '20 12:04 HerveH44

That should also allow to improve auto picks made by real players (e.g. dropped or AFK) for the benefit of all.

tooomm avatar May 06 '20 12:05 tooomm

Another recent Bot AI I came across: https://github.com/RyanSaxe/MagicDraftBot

tooomm avatar Feb 09 '21 16:02 tooomm

I just released the CubeArtisan draftbots which are based on a machine learning model that gets 60/81/90% for top 1/2/3 accuracy on data from CubeCobra drafts. They are quite easy to integrate as you can see in this PR to mtgadraft https://github.com/Senryoku/MTGADraft/pull/288 Docs on the bots themselves can be found at https://github.com/CubeArtisan/mtgdraftbots/tree/development/emscripten

If you can give me some pointers on how to get started I could probably make a PR for it in an afternoon.

ruler501 avatar Jul 23 '21 04:07 ruler501

Hey @ruler501 I believe we've spoken on Discord in the past, so I'll reach out there :)

ZeldaZach avatar Jul 28 '21 01:07 ZeldaZach