Shandalar - Program Bugs
Necropotence played by AI, could not draw a card (fix completed)
I've changed the decks for the AI, one with a Necropotence deck.
AI played Necropotence (but did not use it, even with 16 life)
But the card in opponents battlefield don't let me draw a card in my own draw phase.
AI played Necropotence (but did not use it, even with 16 life)
But the card in opponents battlefield don't let me draw a card in my own draw phase.
Last edited by Korath on 14 Jun 2015, 23:03, edited 1 time in total.
Reason: Version Loremaster's Tower 1->Ruined Tower 3: bug extant in RT series
Reason: Version Loremaster's Tower 1->Ruined Tower 3: bug extant in RT series
Comments
Posted by Korath » 14 Jun 2015, 23:04
Necropotence and Yawgmoth's Bargain are both making both players skip the draw phase. I haven't confirmed AI reluctance to use yet.
Posted by Korath » 15 Jun 2015, 00:16
commit f842ead53fc67ab65f64cb7456e05091ff184c1e
Author: Korath <dgk@Dirge.none>
Date: Sun Jun 14 20:14:52 2015 -0400
[Shandalar] #624: skip_your_draw_step() checks current_turn against player
(Unless player == ANYBODY.)
Affects:
Necropotence
Yawgmoth's Bargain
Author: Korath <dgk@Dirge.none>
Date: Sun Jun 14 20:14:52 2015 -0400
[Shandalar] #624: skip_your_draw_step() checks current_turn against player
(Unless player == ANYBODY.)
Affects:
Necropotence
Yawgmoth's Bargain
Posted by Korath » 15 Jun 2015, 01:09
It isn't that the AI never activates Necropotence, it's that it refuses to do so under certain conditions. What's most likely happening is that it has lands or other similarly-low-valued for the top couple cards of its library, and doesn't see spending the life to be worth getting them. (If so, that'll affect Yawgmoth's Bargain too, in addition to the common skip-your-draw-step bug.)
The way the AI works is that it takes an action, plays through until the end of the turn, and checks to see whether it's better off. It'll get the same cards every time it draws during speculation; and lands in a player's hand have a very low rating - a basic land, for example, is worth only 1 point, compared to a point of life being worth anything from 12 (if current life is 25 or higher) to 36 (if current life is dropping from 2 to 1).
In my test game against an Elvish Magi, the AI stopped activating at 4 life with two forests than an Elvish Archdruid on top of its library (and an empty hand and nothing but forests in play). If I forced a draw, it spent 2 life (going to 2) to get the forest and Archdruid, but it wouldn't go from 2 to 1 life for the Imperious Perfect under that.
I have no idea how confused it'll get if, during AI speculation, a "draw a card" action gets replaced by "shuffle then draw". I suspect it'll end up overvaluing draws - it'll run through maybe forty or fifty trials of activating Necropotence, and eventually one of them will end up drawing the card it most needs during AI speculation; but then when it tries to select that branch, it'll just get whatever card happened to be on top of its library.
Alternately, if it doesn't begin speculation again after the draw resolves, it might store the decisions taken for casting the drawn card - which, when applied to the card actually drawn, might end up being nonsensical or just crashing. Obviously, it can work OK if the human player responds to the AI action; while I think the AI begins speculation anew whenever it gets priority, it's entirely possible that it only happens if the human does something.
The way the AI works is that it takes an action, plays through until the end of the turn, and checks to see whether it's better off. It'll get the same cards every time it draws during speculation; and lands in a player's hand have a very low rating - a basic land, for example, is worth only 1 point, compared to a point of life being worth anything from 12 (if current life is 25 or higher) to 36 (if current life is dropping from 2 to 1).
In my test game against an Elvish Magi, the AI stopped activating at 4 life with two forests than an Elvish Archdruid on top of its library (and an empty hand and nothing but forests in play). If I forced a draw, it spent 2 life (going to 2) to get the forest and Archdruid, but it wouldn't go from 2 to 1 life for the Imperious Perfect under that.
I have no idea how confused it'll get if, during AI speculation, a "draw a card" action gets replaced by "shuffle then draw". I suspect it'll end up overvaluing draws - it'll run through maybe forty or fifty trials of activating Necropotence, and eventually one of them will end up drawing the card it most needs during AI speculation; but then when it tries to select that branch, it'll just get whatever card happened to be on top of its library.
Alternately, if it doesn't begin speculation again after the draw resolves, it might store the decisions taken for casting the drawn card - which, when applied to the card actually drawn, might end up being nonsensical or just crashing. Obviously, it can work OK if the human player responds to the AI action; while I think the AI begins speculation anew whenever it gets priority, it's entirely possible that it only happens if the human does something.
Posted by guinsoo » 03 Jul 2015, 01:48
Played a game against my remade Necromancer last night (pretty hardcore necro deck) and was impressed at how well it used Necropotence and thoroughly kicked my ass with it.
Early it removed a few threats, it set up an Ivory Tower, started Necroing to 10-11 cards every turn at around turn 5, got a Venser's Journal out, drew almost his whole deck, was gaining 40 life a turn and finished me with 2 Soren's Vengeances. I even had a pretty good draw and thought I was going to smush him. This was one of the times the AI used Diabolic Edict really well (RIP Avacyn, 3 times).
If nothing else has changed, maybe it's Ivory Tower/Venser's Journal that clues the AI in that it should use the Necropotence very aggressively? Or a few extra drain spells?
Oh, and I don't remember it making me unable to draw during my draw phase, but it's possible I just didn't notice. The game ended pretty fast after he set up his lock.
Early it removed a few threats, it set up an Ivory Tower, started Necroing to 10-11 cards every turn at around turn 5, got a Venser's Journal out, drew almost his whole deck, was gaining 40 life a turn and finished me with 2 Soren's Vengeances. I even had a pretty good draw and thought I was going to smush him. This was one of the times the AI used Diabolic Edict really well (RIP Avacyn, 3 times).
If nothing else has changed, maybe it's Ivory Tower/Venser's Journal that clues the AI in that it should use the Necropotence very aggressively? Or a few extra drain spells?
Oh, and I don't remember it making me unable to draw during my draw phase, but it's possible I just didn't notice. The game ended pretty fast after he set up his lock.
Last edited by guinsoo on 03 Jul 2015, 02:06, edited 1 time in total.
Posted by Korath » 05 Jul 2015, 15:02
The draw phase problem was fixed for RT4 and LT2, guinsoo.
The AI problem is impossible to reproduce consistently (and difficult to reproduce at all; I've managed to get it only once). If my theory in my 15 Jun note is correct, and I think it is, it should be much less common in the upcoming Thieves Hideout release; the AI there is slightly influenced by the of the top seven cards of its library, so it'll actively draw to get past a run of low-quality cards on top.
The AI problem is impossible to reproduce consistently (and difficult to reproduce at all; I've managed to get it only once). If my theory in my 15 Jun note is correct, and I think it is, it should be much less common in the upcoming Thieves Hideout release; the AI there is slightly influenced by the of the top seven cards of its library, so it'll actively draw to get past a run of low-quality cards on top.
5 Posts
• Page 1 of 1
Ticket details
- Ticket ID: 624
- Project: Shandalar
- Status: Fix completed
- Component: Duel AI
- Project version: Ruined Tower 3
- Priority: Normal
- Severity: Normal
- Assigned to: Korath
- Reported by: Elemental
- Reporter's tickets: List all tickets
- Reported on: 14 Jun 2015, 14:52
- Last visited by Korath » 04 Aug 2015, 09:29.
