News:

SMF - Just Installed!



"Crown" Logic

Previous topic - Next topic

Witherweaver

Quote from: AdamH on 10 January 2017, 09:26:33 PM
If I'm playing the tabletop game and I Crown a Copper at the start of my turn and my opponent shouts "HEY NO YOU DID NOT ENTER YOUR BUY PHASE YOU CROWNED NO ACTIONS AND PLAYED A COPPER YOU HAVE $1 THERE ARE NO TAKEBACKSIES I DO NOT GRANT YOU THIS" I would stop playing games with that person because that's ridiculous. I just feel like I should only have to go through that explicit step when it actually matters and just be able to play my cards in the obvious way the rest of the time.

When you're playing in real life, you can also just flash your hand to your opponent and pick up a card, and then toss everything into the discard pile in lots of situations.  New players do this quite a bit (even the guy that introduced me to Dominion), though pretty soon we start to see lots of reasons not to do this.  I try to point out that, that's not how the game works, and there are reasons, and it's worth learning the technical details of phases, playing cards, discard, buying, gaining, etc.

Of course, you can still do it because it's clear in real-life what intentions are.  We can't exactly expect a computer game to intuit such intentions.

If you were teaching a very new player to play Dominion, and they had Crown, Copper x4, this issue provides a good investigation into rules and card mechanics.

Edit: To make a more explicit analogy, when I draw Copper, Copper, Copper, Estate, Estate in the electronic version of Dominion, I can't click on Silver and gain a Silver!  Why not?  It's obvious I intended to play my Coppers.

Edit2: It is just very intuitive that the implementation of Dominion should follow the rules.  And not intuitive that it does not.  It says Action Phase when I play my Crown, but then it's suddenly not my Action phase before Crown has resolved?  That's simply incorrect.

allanfieldhouse

I only read page 4 of this discussion, but I'm firmly behind Adam's proposal of making Crown work like you'd expect it to work.

If I Crown a Silver, it should just work.

If I want to Crown nothing as my last action to reduce the price of Peddler...man, that's such an edge case. Make that person go through the tricky interface. Sure they need to be able to do it, but don't make this literally the easiest way to play the card.

Edit: At the very least, if you play a Crown in your action phase, but you don't have any other action cards left in hand, pop up a choice: play as action | play as treasure.

Witherweaver

You never play Crown 'as action' or 'as treasure', so that would be extremely confusing.  Perhaps 'Play an Action' or 'Play a Treasure'.  I think Donald's idea is fine: prompt a kind of 'are you sure?' thing.

Edit: We also have multiple other Edge Cases: + Card Token, Enchantress, maybe more.

Donald X.

Quote from: Witherweaver on 10 January 2017, 10:03:35 PM
Edit: To make a more explicit analogy, when I draw Copper, Copper, Copper, Estate, Estate in the electronic version of Dominion, I can't click on Silver and gain a Silver!  Why not?  It's obvious I intended to play my Coppers.
I thought they had programmed this exact feature. Maybe you have it turned off. It is certainly fine to let you click Silver there and figure, you must mean to play enough basic treasures to buy that (if you have enough treasures that don't do anything special when played in hand to afford the card). There were too many cases where it led to misplays (e.g. debt), so I turned it off; maybe they will figure it out yet.

I do not think it's a problem to get a click on a card from the player and figure out that they mean to jump to the Buy phase. The problem is retroactively changing what phase a card was played in, based on further inputs during resolution of it.

Donald X.

Quote from: Witherweaver on 10 January 2017, 10:25:27 PM
You never play Crown 'as action' or 'as treasure', so that would be extremely confusing.  Perhaps 'Play an Action' or 'Play a Treasure'.  I think Donald's idea is fine: prompt a kind of 'are you sure?' thing.
"Play in Action phase" / "Play in Buy phase." Potentially faster than having to move the mouse over to the "end Action phase" button and then back.

Witherweaver

Well, okay; I actually think there's merit in explicitly requiring you to play treasures, then buy things, especially for newer players.

QuoteI do not think it's a problem to get a click on a card from the player and figure out that they mean to jump to the Buy phase. The problem is retroactively changing what phase a card was played in, based on further inputs during resolution of it.

Right, I agree with this.

Witherweaver

Quote from: Donald X. on 10 January 2017, 10:33:40 PM
Quote from: Witherweaver on 10 January 2017, 10:25:27 PM
You never play Crown 'as action' or 'as treasure', so that would be extremely confusing.  Perhaps 'Play an Action' or 'Play a Treasure'.  I think Donald's idea is fine: prompt a kind of 'are you sure?' thing.
"Play in Action phase" / "Play in Buy phase." Potentially faster than having to move the mouse over to the "end Action phase" button and then back.

Sure, I like.

allanfieldhouse

I guess I got my edge cases and wordings slightly wrong, but my point remains.

When a user has a hand full of treasures, by default they should be crowning treasures. Leave the tricky interface for the tricky edge case.

Witherweaver

Quote from: allanfieldhouse on 10 January 2017, 10:36:03 PM
I guess I got my edge cases and wordings slightly wrong, but my point remains.

When a user has a hand full of treasures, by default they should be crowning treasures. Leave the tricky interface for the tricky edge case.

But it is simply incorrect.  You have to play the card first, at which point you are in some phase, before selecting what to play.  You shouldn't deduce (and retroactively change) what phase you're in by what you do while resolving the card.  See what Donald said.

You could have something, like a feature wherein you are automatically moved to Buy Phase when you have 'dead actions' by default, unless in such situations where that would be bad (the 'edge cases' we've discussed).  Some examples include a hand of all Copper and {Necropolis, Throne Room, Crown}.  I'm not sure I would like such a feature.  Clicking the 'End Actions' button is a tad annoying, but the interface making decisions for me, even when it's the decision I was going to make, doesn't strike me as great.

AdamH

I think we have slightly different philosophies on how to teach Dominion to new players. I agree with a lot of what you said, and the only thing you said that I disagree with enough that I feel like I should mention it is this:

Quote from: Witherweaver on 10 January 2017, 10:03:35 PM
Of course, you can still do it because it's clear in real-life what intentions are.  We can't exactly expect a computer game to intuit such intentions.

Of course we can't expect a computer game to figure out what we're thinking and what's intuitive, but isn't the point of a good UI to make the human being adjust as little as possible to the program's interface to get the desired result? In this case, there is a way to make the clicks operate in the most intuitive way for a lot of new players: "when I Crown a Silver it should just work" instead of "you had to click End Actions first and now you're screwed".

It looks like very few people think that clicking End Actions on a hand of all Treasures to Crown a treasure is the right thing. I typed some more stuff but while I was typing it was pretty much covered by other people.

The only main disagreement for me is this whole "retroactively changing what phase you're in" -- I still feel that there is a better interface possible and the issues people have with what that does with the code aren't a good reason to not make the better interface. If it meant that you actually couldn't do everything the game demands be possible it would be a different story, but that's not the case.

I have had a successful career in software based on the principle that what my customer wants is more important than making my job as software-maintenance-guy easier. Maybe other people have different opinions but stating them again is not going to change my mind. The best interface that's possible to implement should be implemented, even if it makes the code harder to maintain.

I can actually see some arguments for why my idea might not be the best user experience -- maybe if I have other Actions in hand I should be required to click End Actions before I can Crown a treasure. I don't agree with it but it's not my place to decide -- it's the place of people are using this software for the first time. My opinion is one of many but it's really easy to just ignore the most important opinions (the ones that are hardest to get, admittedly).

What I'm saying is, I'd be convinced by accounts from these types of people saying my idea is not best and something else is. Not by anything else. Until that is provided, I think dismissing my idea is passing up the chance to have the best interface, which is kind of the whole point in my professional opinion.


Quote from: Witherweaver on 10 January 2017, 10:47:10 PM
Clicking the 'End Actions' button is a tad annoying, but the interface making decisions for me, even when it's the decision I was going to make, doesn't strike me as great.

The interface is not making decisions for you. All legal options are still there, it's just that the most commonly used option is the easiest one to do.

Witherweaver

To be clear, I'm disagreeing that what you want is the best interface, and not just that it's a more difficult interface to implement. 

Edit:

Quote from: AdamH on 10 January 2017, 10:50:03 PM
Quote from: Witherweaver on 10 January 2017, 10:47:10 PM
Clicking the 'End Actions' button is a tad annoying, but the interface making decisions for me, even when it's the decision I was going to make, doesn't strike me as great.

The interface is not making decisions for you. All legal options are still there, it's just that the most commonly used option is the easiest one to do.

Here I was talking about the 'Auto Buy Phase' feature I had proposed (in the text that was not copied), wherein the client would automatically move you to the Buy phase when you still have Actions in hand in certain situations.  So yeah the interface is making decisions for you: it's deciding to end your Action Phase and start your Buy Phase without you telling it to.

allanfieldhouse

So it sounds like the only interface that makes both sides happy is the following:

When it's still your action phase and you play a Crown with no other action cards in hand, it should ask "Play in Action Phase" or "Play in Buy Phase". Any other situation, it just plays how it currently does.

Witherweaver

Quote from: allanfieldhouse on 10 January 2017, 11:16:42 PM
So it sounds like the only interface that makes both sides happy is the following:

When it's still your action phase and you play a Crown with no other action cards in hand, it should ask "Play in Action Phase" or "Play in Buy Phase". Any other situation, it just plays how it currently does.

I was just thinking that this seems to me like the best idea so far.

Donald X.

Quote from: AdamH on 10 January 2017, 10:50:03 PM
The best interface that's possible to implement should be implemented, even if it makes the code harder to maintain.
You mean, even if it causes bugs that mean the program is doing the wrong thing for a while, until they're both reported and found? "If it makes the code harder to maintain" is simply not part of this at all.

As part of my successful programming career, I had to interview people for programming jobs. Someone who pursues the path of more bugs would be someone I was trying to weed out.

Again it's moot, and it's not because you aren't pals with Stef. It's that Stef isn't the kind of programmer to make this mistake. You don't get all the cards to hang together correctly if you're willing to cheat on functionality for some of them, for whatever noble reason.

randomjoyz

#74
Quote from: allanfieldhouse on 10 January 2017, 10:15:34 PM
I only read page 4 of this discussion, but I'm firmly behind Adam's proposal of making Crown work like you'd expect it to work.

If I Crown a Silver, it should just work.

If I want to Crown nothing as my last action to reduce the price of Peddler...man, that's such an edge case. Make that person go through the tricky interface. Sure they need to be able to do it, but don't make this literally the easiest way to play the card.

Edit: At the very least, if you play a Crown in your action phase, but you don't have any other action cards left in hand, pop up a choice: play as action | play as treasure.
except that this is NOT how you would expect it to work if you understand how the game is played, you would expect it to work the way it currently works
(play it during action phase, it plays as an action, play it during buy phase, it plays like a treasure. what is unexpected about that??)


Quote from: allanfieldhouse on 10 January 2017, 11:16:42 PM
So it sounds like the only interface that makes both sides happy is the following:

When it's still your action phase and you play a Crown with no other action cards in hand, it should ask "Play in Action Phase" or "Play in Buy Phase". Any other situation, it just plays how it currently does.
I read what donald wrote and originally felt like this was ok, but after a second thought I realized that IF it was going to be implemented like this, it might as well be implemented like this for every instance you play a crown in (for the sake of the "perfect AdamH ui", because say I have [necropolis, crown, gold] the regular human brain is thinking "OH! let's crown that gold *clicks crown*) (In other words, you are not forced to play an action in your hand just because you have it so the same logic of "user friendly ui" applies to hands with or without other action cards in hand). By implementing it like this you are teaching the user that this is how the card works, that when you play this card you get to chose if you want to jump to your buy phase or stay in action phase. To me this is both fundamentally wrong (this is not how the card works) and really annoying.

To implement this only in the edge situation of not having other action cards would be the least logical and intuitive, most confusing change this thread has suggested imo. so please, to the developers, ether implement it in every situation or none, otherwise I'm gonna be scratching my head every time I play crown, and it's one of my fav cards :p