I’ve noticed that the AI follows some very predictable patterns in the way that it moves. Is there already a thread that attempts to figure it out (for fun and victory)?
Updating this list below based on the comments:
- Will try to get its main mana if possible, otherwise sabotage your main mana.
- Doesn’t look for cascades; it is very direct in its matching. See rule above. Cascades that happen are just coincidental. I certainly don’t think it is optimized to get the most mana.
- Prioritizes 4-lines, sometimes even over 5-shapes. It does not hit the obvious 5-shape maybe 30% of the time. There has to be some logic to this. My guess is that it prioritizes lines, so 5-lines will be hit almost 100% of the time, whereas 5-Ts only get hit if it satisfies one of the other rules. The reason for this is probably that checking for a 5-line is easier to write in the code than checking for a 5-T.
- Prioritizes 4-lines even over 3-matches that will give it more mana. I often let the opponent get 4-lines of the wrong color as long as it doesn’t look like there will be cascades. Playing against AI Koth, the AI often wrecks itself doing this.
- There does seem to be some clear preference logic going on when weighing between 2 different 3-matches of the same color. Sometimes I notice that it prefers top left, then going right, then down. It does this even if the bottom right match causes an immediate cascade. I would presume that the ordering is likely due to the way it parses the 2d array of orb nodes.
- If you have a support in play, the AI will sometimes prioritize destroying your supports, even over 4-lines. I believe this is conditional. It could be that it prioritizes supports that only have 1 toughness.
- If you have traps in play, the AI seems to prioritize hitting the traps (and screw themselves over). Perhaps the AI considers traps and supports to be the same type of object.
Understanding these patterns provides a noticeable advantage when going up against the opponent. Is there anything else I missed (or is incorrect)?