Page 1 of 1

Revisiting Scry>1

PostPosted: 04 May 2015, 18:39
by ShawnieBoy
Currently the reason Scry>1 isn't implemented is due to the card ordering on top of the library.

I've submitted Teferi's Puzzle Box and Mindmoil without really taking into account this issue (and yes it does take a little while to think).

However we do implement discarding your hand, which is essentially the same thing, just to a different location (each card in turn is chosen to be discarded for graveyard order, not in one lump). And also Discard>1. Discarding would involve the same amount of think-time surely?

With most Scry>1 being 2, and having many discard cards being >2 would it be worth re-implementing Scry>1 and other 'look and replace' cards?

Re: Revisiting Scry>1

PostPosted: 05 May 2015, 12:34
by melvin
ShawnieBoy wrote:However we do implement discarding your hand, which is essentially the same thing, just to a different location (each card in turn is chosen to be discarded for graveyard order, not in one lump). And also Discard>1. Discarding would involve the same amount of think-time surely?
The difference is that discard is done all at once after you chose all the cards and not choose one card, discard one card. It is easy to see this as it takes the same amount of time for the AI to discard any number of cards. Spending 8 seconds per card seems rather excessive, if I prefer to play on the hardest settings. Moving a hand of seven cards to the bottom of your library will take almost one minute to complete.

Except the two cards mentioned, moving cards to the bottom of the library does not allow the order to be chosen, similar to how triggers are put on the stack in a fixed order. For example, all the cards that use RevealToHand[1], move cards to the bottom in the order from the top. For consistency, we should handle "on the bottom of his or her library in any order" in the same way for all cards.

[1] eg. "Reveal the top three cards of your library. Put all Island cards revealed this way into your hand and the rest on the bottom of your library in any order"

Re: Revisiting Scry>1

PostPosted: 05 May 2015, 13:04
by muppet
I still don't think time should be so much of an issue I would still like to see settings for 60 minute thinking time per move for example. Provided the user can change it to what they want it should be fine.

On a more relevant note isn't Brainstorm pretty much the same as Scry 2 or Ponder or Preordain? It doesn't seem to take much time with this.

Re: Revisiting Scry>1

PostPosted: 05 May 2015, 18:59
by ShawnieBoy
melvin wrote:The difference is that discard is done all at once after you chose all the cards and not choose one card, discard one card. It is easy to see this as it takes the same amount of time for the AI to discard any number of cards. Spending 8 seconds per card seems rather excessive, if I prefer to play on the hardest settings. Moving a hand of seven cards to the bottom of your library will take almost one minute to complete.
I wan't aware that putting cards on the bottom of your library in any order wasn't already occuring as-printed. I'd be willing for these to work as Mindmoil etc.

melvin wrote:Except the two cards mentioned, moving cards to the bottom of the library does not allow the order to be chosen, similar to how triggers are put on the stack in a fixed order. For example, all the cards that use RevealToHand[1], move cards to the bottom in the order from the top. For consistency, we should handle "on the bottom of his or her library in any order" in the same way for all cards.
From a players point of view, discarding your hand involves selecting each card in hand to be discarded, I was assuming for discard order into the graveyard. (May have to check that).
If hand discarding is preserving order, then that would be a possible solution for the AI to use that method for moving many cards to another zone.

muppet wrote:On a more relevant note isn't Brainstorm pretty much the same as Scry 2 or Ponder or Preordain? It doesn't seem to take much time with this.
Very similar:
Brainstorm involves the whole hand, not just the revealed cards, and only to the top of the library.
Ponder is very much like Scry 3, but only to the top of the library, with an added optional shuffle plus a draw.
Preordain -is- Scry :D

As the max value of Scry is (I think) 4, and doesn't involve the other cards in hand, this should still be pretty swift.

Re: Revisiting Scry>1

PostPosted: 06 May 2015, 20:21
by ShawnieBoy
Maybe look at it this way - even if we go to Scry 2 (which is the most common), the AI only has to deal with the following:

Both on top (A then B)
Both on top (B then A)
Both on bottom (A then B)
Both on bottom (B then A)
One on top (A) other on bottom (B)
One on top (B) other on bottom (A)

Surely that's not difficult?

Re: Revisiting Scry>1

PostPosted: 07 May 2015, 12:14
by melvin
Ref: viewtopic.php?f=82&t=17136&p=178248#p178248

Consider the following effect:
you may draw a card eg. Solemn Simulacrum

Options:
1. draw a card
2. don't draw a card

The AI doesn't seem to be doing too well for these...

Re: Revisiting Scry>1

PostPosted: 07 May 2015, 12:24
by muppet
The problem is for any choice that makes almost no difference the final game outcome isn't very dependant on what you do but if you have a load of them in a game they add up. In the case of Solemn Simulacrum you can solve it by making the default always draw a card unless the game outcome is very bad but for scry 2 there is no easy default action.

On another sort of related note how hard would it be to make the AI remember what cards the opponent has in his hand, this might make quite a difference with some cards especially discard if they are going to be implemented soonish.

Re: Revisiting Scry>1

PostPosted: 07 May 2015, 15:29
by ShawnieBoy
melvin wrote:Ref: viewtopic.php?f=82&t=17136&p=178248#p178248

Consider the following effect:
you may draw a card eg. Solemn Simulacrum

Options:
1. draw a card
2. don't draw a card

The AI doesn't seem to be doing too well for these...
I see that as a different issue, that's more of a `perform an action`, `don't perform an action` and rating scores for both.

Scry would be using a kind of discardTargetPicker and any over a particular score (worse score) would be on the bottom, the others would be on the top. Of the ones on the top or bottom, go in ascending or descending score.

Don't really know how the AI is doing it, but that would be how I see it.

Re: Revisiting Scry>1

PostPosted: 09 May 2015, 00:45
by melvin
ShawnieBoy wrote:Scry would be using a kind of discardTargetPicker and any over a particular score (worse score) would be on the bottom, the others would be on the top. Of the ones on the top or bottom, go in ascending or descending score.
It looks like you are over estimating the use of target pickers. Let me try to explain, for MMAB, target pickers are used not for the current decision but only for subsequent ones. Example:

1) current decision, choose to activate ability or play a card. AI considers all possible options, then for the future decision in the AI's simulated game it uses the target picker to make the choice immediately without considering all choices.

2) current decision, choose how to move cards for scry 2. AI considers all 6 options and tries each of them by simulating the next few decisions. The subsequent target choice will use the target picker.

The purpose of target picker is to reduce the width of the search tree below the first decision. It does not affect the current decision itself which always evaluates all the possible choices allowed by the hint.

The use of target picker is potentially problematic because their heuristics do not consider the current context. The AI may never consider activating an ability if the target picker selects a bad target as the future choice in the AI's simulation. My plan is to remove target pickers and always consider all possible "reasonable" (based on hints) targets.

Re: Revisiting Scry>1

PostPosted: 09 May 2015, 01:52
by ShawnieBoy
Ahh, I see. That does make things clearer. I've been completely misunderstanding how targetpickers are being used. They're for streamlining the future decisions, but never really, 'actually' used for a real decision.