The card drawing assessment mechanism
Posted: 19 Dec 2016, 05:19
Is making every single card with "draw a card" in it not usable by the AI and a hazard to put into a deck. Korath apparently refuses to think about changing it, and I can't figure out if it was always the way it is or if he changed it into this in order to implement something. If it's the later, whatever it was wasn't worth the huge mess.
Now, why the system has to be different is obvious to me, and I'm sure it can be explained to anyone. The problem on my end is that I'm not sure what's confusing about this, and why would anyone ever think of making the system the way it is. I can make any number of videos with horrible AI misplays related to the card draw mechanism, and seeing just one should make anyone understand that the system was a wrong idea and that it needs to be changed.
So does anyone know how it works, exactly? Who made it that way? Why? What can possibly be the tradeoff for every single card draw card set to potentially trainwreck any hand it's in?
---
As an illustration, I put a video in the "AI improvement suggestion" thread, I don't even have to look at it to remember all the cards involved and explain what's going on there and why it alone should be enough to immediately realize how wrong the current system is.
The AI has the following in hand:
Tranquil Thicket
Treefolk Harbinger
Ordeal of Nylea
Battlewand Oak
Forest
Forest
Forest
The idea behind the deck it is playing is that the sequence of plays (and damage made to a non-resisting enemy) is:
T1: Forest, Treefolk Harbinger -> Puts, say, Cloudcrown Oak on top of library
T2: Forest, Ordeal of Nylea on Harbinger, attacks for 1, total: 1
T3: Forest, Battlewand Oak, attacks with Harbinger for 2, total: 3
T4: Forest, Cloudcrown Oak -> 5/7 Battlewand Oak, 3/6 Harbinger, attacks for 8, total 11
T5: Forest, any Trefoolk -> 5/7 Battlewand Oak, 3/4 Cloudcrown Oak, 3/6 harbinger, attacks for 11, total 22. Cycles Tranquil Thicket.
It's a deck which deals 22 damage to a goldfish by turn 5 just by naively and mindlessly playing that hand out. I made it with that in mind, except I put in Tranquil Thicket to make the video about why cycling is unusable for the AI. And if it wasn't for the Tranquil Thicket, or rather if it wasn't for the insane card drawing system, it would likely play it exactly that way.
But what the AI does instead is:
T1: Forest, Treefolk Harbinger -> Puts Cloudcrown Oak on top of library
T2: UPKEEP: cycles Tranquil Thicket in order to draw the Cloudcrown Oak it would have drawn anyway, Forest, nothing
T3: Forest, Ordeal of Nylea (turn late), attacks for 1
T4: Forest, Cloudcrown Oak (but without Battlewand Oak allready on board, 5 damage lost), attacks for 2, total: 3
T5: Forest, Cloudcrown Oak (Battlewand Oak lost in the sequencing entirely), attacks for 6, total: 9
So what happens is that it decides that drawing a card it can't play instead of playing what it was meant to be playing is better because of the ridiculous card-draw evaluation system. This makes it cascade into skipping Battlewand Oak, which then makes it cascade into throwing away 10 damage. And even if that damage doesn't go through it skips 2 early attacks with a 5/7 which is much more difficult to safely block than the 3/4 Oak. By turn 5 the deck which didn't have to honor the lunatic card draw instructions does more than 20 damage, making it capable of killing a regular MtG goldfish, while the deck which is forced to follow the lunatic card draw instructions doesn't even do the 10 needed to kill the Shandalar goldfish. I think the second deck doesn't even do 20 at turn 6 vs. goldfish -.-
And most of all, the second deck doesn't present the actual experience the deck was meant to provide - you're supposed to be afraid of the Battlewand Oak in that deck, when you face the shandalar enemy with it you're supposed to dread facing a 5/7 for 2G , not have the opponent just sit there with some 3-power creatures you can easily wall up. The first deck is a fine, dangerous opponent, the second is a pile of garbage - because the second is following insane rules which make MtG not work.
And this happens all the time with most things which draw cards. I could make hundreds of videos spotlighting it, and I don't need any videos to know this, so what's the problem? Why is it there? Why is it not clear that whatever the reason for it was it can't compare to the problems it causes? If changing the system would make something in particular not work, it would make hundreds of other somethings suddenly work, way more things than it could possibly mess up. How come it's even possible that this needs actual explaining?
And really, I have to consider this by this point, if the problem is that Korath made it the way it is, and would feel stupid if he had to undo it or something - feeling stupid about having done something stupid is no big deal. It's stupid, how are you supposed to feel about it, smart? To what end? Having hundreds of cards not work and the AI routinely wreck decks it otherwise wouldn't? I mean, if you leave it like this everyone who looks at the AI's hand to see why it's not playing cards right is going to conclude that it's stupid, and if you fix it folks will forget you ever arsed up with it in the first place because a lot of things will suddenly work. I'll certainly delete this, I don't need it, I just have to do everything I can possibly think of to get this awful crap fixed. I'd much rather be appreciating all the tons of card drawing cards you implemented, or rather would have implemented if the card draw mechanism wasn't making them useless.
And if it's somehow not Korath's fault - people who know the first thing about MtG who see this sort of thing will think it is. And a large number of cards he's implemented can't be put into AI decks because of the way things are, and there'd certainly be fewer misplays and bug reports if this was working in any more senisble way than it "works" now. This makes AI which would play simple things passably well mess up in way even stupid people in RL wouldn't. Korath seems to have this idea that he's porting cards which would make some historical decks work - as long as this is the way it is it won't if the deck uses card draw, because this stupidity will just wreck the decks. And the reason I feel exasperated with him personally is because he "won't fix-ed" my feature request to fix this, while also devoting a bunch of his time to port cycling cards which I can't even bloody test because of this crap. I'm not saying these things for my damned sake, I don't need this explained to me and I wouldn't have gone porting cycling (or many other things) without first making sure this kind of thing can't happen.
EDIT: Now, if the reason this hasn't been fixed yet is something like "Then the AI couldn't make predictions with the regular card it would always draw", the answer to that is: believe it or not, an AI which never involved the card drawn that turn in it's predictions would STILL be playing more sensible MtG than this one. Really, it sounds preposterous, but it's actually true - it would also be playing lousy MtG, but it would be less lousy than this. And it doesn't even have to be that way. What the human does is recalculate it's stuff every time it draws something and that's the only thing that should ever have been contemplated.
Now, why the system has to be different is obvious to me, and I'm sure it can be explained to anyone. The problem on my end is that I'm not sure what's confusing about this, and why would anyone ever think of making the system the way it is. I can make any number of videos with horrible AI misplays related to the card draw mechanism, and seeing just one should make anyone understand that the system was a wrong idea and that it needs to be changed.
So does anyone know how it works, exactly? Who made it that way? Why? What can possibly be the tradeoff for every single card draw card set to potentially trainwreck any hand it's in?
---
As an illustration, I put a video in the "AI improvement suggestion" thread, I don't even have to look at it to remember all the cards involved and explain what's going on there and why it alone should be enough to immediately realize how wrong the current system is.
The AI has the following in hand:
Tranquil Thicket
Treefolk Harbinger
Ordeal of Nylea
Battlewand Oak
Forest
Forest
Forest
The idea behind the deck it is playing is that the sequence of plays (and damage made to a non-resisting enemy) is:
T1: Forest, Treefolk Harbinger -> Puts, say, Cloudcrown Oak on top of library
T2: Forest, Ordeal of Nylea on Harbinger, attacks for 1, total: 1
T3: Forest, Battlewand Oak, attacks with Harbinger for 2, total: 3
T4: Forest, Cloudcrown Oak -> 5/7 Battlewand Oak, 3/6 Harbinger, attacks for 8, total 11
T5: Forest, any Trefoolk -> 5/7 Battlewand Oak, 3/4 Cloudcrown Oak, 3/6 harbinger, attacks for 11, total 22. Cycles Tranquil Thicket.
It's a deck which deals 22 damage to a goldfish by turn 5 just by naively and mindlessly playing that hand out. I made it with that in mind, except I put in Tranquil Thicket to make the video about why cycling is unusable for the AI. And if it wasn't for the Tranquil Thicket, or rather if it wasn't for the insane card drawing system, it would likely play it exactly that way.
But what the AI does instead is:
T1: Forest, Treefolk Harbinger -> Puts Cloudcrown Oak on top of library
T2: UPKEEP: cycles Tranquil Thicket in order to draw the Cloudcrown Oak it would have drawn anyway, Forest, nothing
T3: Forest, Ordeal of Nylea (turn late), attacks for 1
T4: Forest, Cloudcrown Oak (but without Battlewand Oak allready on board, 5 damage lost), attacks for 2, total: 3
T5: Forest, Cloudcrown Oak (Battlewand Oak lost in the sequencing entirely), attacks for 6, total: 9
So what happens is that it decides that drawing a card it can't play instead of playing what it was meant to be playing is better because of the ridiculous card-draw evaluation system. This makes it cascade into skipping Battlewand Oak, which then makes it cascade into throwing away 10 damage. And even if that damage doesn't go through it skips 2 early attacks with a 5/7 which is much more difficult to safely block than the 3/4 Oak. By turn 5 the deck which didn't have to honor the lunatic card draw instructions does more than 20 damage, making it capable of killing a regular MtG goldfish, while the deck which is forced to follow the lunatic card draw instructions doesn't even do the 10 needed to kill the Shandalar goldfish. I think the second deck doesn't even do 20 at turn 6 vs. goldfish -.-
And most of all, the second deck doesn't present the actual experience the deck was meant to provide - you're supposed to be afraid of the Battlewand Oak in that deck, when you face the shandalar enemy with it you're supposed to dread facing a 5/7 for 2G , not have the opponent just sit there with some 3-power creatures you can easily wall up. The first deck is a fine, dangerous opponent, the second is a pile of garbage - because the second is following insane rules which make MtG not work.
And this happens all the time with most things which draw cards. I could make hundreds of videos spotlighting it, and I don't need any videos to know this, so what's the problem? Why is it there? Why is it not clear that whatever the reason for it was it can't compare to the problems it causes? If changing the system would make something in particular not work, it would make hundreds of other somethings suddenly work, way more things than it could possibly mess up. How come it's even possible that this needs actual explaining?
And really, I have to consider this by this point, if the problem is that Korath made it the way it is, and would feel stupid if he had to undo it or something - feeling stupid about having done something stupid is no big deal. It's stupid, how are you supposed to feel about it, smart? To what end? Having hundreds of cards not work and the AI routinely wreck decks it otherwise wouldn't? I mean, if you leave it like this everyone who looks at the AI's hand to see why it's not playing cards right is going to conclude that it's stupid, and if you fix it folks will forget you ever arsed up with it in the first place because a lot of things will suddenly work. I'll certainly delete this, I don't need it, I just have to do everything I can possibly think of to get this awful crap fixed. I'd much rather be appreciating all the tons of card drawing cards you implemented, or rather would have implemented if the card draw mechanism wasn't making them useless.
And if it's somehow not Korath's fault - people who know the first thing about MtG who see this sort of thing will think it is. And a large number of cards he's implemented can't be put into AI decks because of the way things are, and there'd certainly be fewer misplays and bug reports if this was working in any more senisble way than it "works" now. This makes AI which would play simple things passably well mess up in way even stupid people in RL wouldn't. Korath seems to have this idea that he's porting cards which would make some historical decks work - as long as this is the way it is it won't if the deck uses card draw, because this stupidity will just wreck the decks. And the reason I feel exasperated with him personally is because he "won't fix-ed" my feature request to fix this, while also devoting a bunch of his time to port cycling cards which I can't even bloody test because of this crap. I'm not saying these things for my damned sake, I don't need this explained to me and I wouldn't have gone porting cycling (or many other things) without first making sure this kind of thing can't happen.
EDIT: Now, if the reason this hasn't been fixed yet is something like "Then the AI couldn't make predictions with the regular card it would always draw", the answer to that is: believe it or not, an AI which never involved the card drawn that turn in it's predictions would STILL be playing more sensible MtG than this one. Really, it sounds preposterous, but it's actually true - it would also be playing lousy MtG, but it would be less lousy than this. And it doesn't even have to be that way. What the human does is recalculate it's stuff every time it draws something and that's the only thing that should ever have been contemplated.