News:

SMF - Just Installed!



"Crown" Logic

Previous topic - Next topic

Witherweaver

Quote from: randomjoyz on 11 January 2017, 12:25:56 AM

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*). 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.

I'm thinking of it more like this:

Interface pauses when you choose to play Crown, and says "hey you might have made a mistake: did you mean to click the 'End Actions'? button first?  Here choose one of these options to clarify".  Since it is pretty likely that you did mean to click the 'End Actions' button first, and really such a 'are you sure?' thing is not that ostentatious, I think this is okay.

And you're not violating rules, you are clarifying, and then playing the card.

randomjoyz

Quote from: Witherweaver on 11 January 2017, 12:30:56 AM
Quote from: randomjoyz on 11 January 2017, 12:25:56 AM

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*). 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.

I'm thinking of it more like this:

Interface pauses when you choose to play Crown, and says "hey you might have made a mistake: did you mean to click the 'End Actions'? button first?  Here choose one of these options to clarify".  Since it is pretty likely that you did mean to click the 'End Actions' button first, and really such a 'are you sure?' thing is not that ostentatious, I think this is okay.

And you're not violating rules, you are clarifying, and then playing the card.
I think that just a warning would probably be the best solution (besides leaving it as is and letting people learn by making the mistake once, this is one of the strongest ways to learn something) but this is annoying(to be prompted, "are you sure??" when I am fricking sure because I know how to play).. Hmm... maybe if it was togglable like warnings for trashing cards

tufftaeh

#77
If I understand Adam's sugestion correctly, he wants to be able to click Crown, click Copper, in order to move to the buy phase and to double a Copper, without having to click "End Actions" before clicking Crown.
If this is correct, how about the standard situation where you just happen to want to play no action card (e.g. Necropolis)? Shouldn't you consequently be able to immediately click on a treasure card then in order to move to the buy phase and to play that treasure card, without having to click the annoying "End Actions"? (With autobuy, you wouldn't even need to click a treasure card.)

For the record, I'm not really suggesting this. I support an interface which helps the users to learn how the game actually works. In the standard case as well as in the rare case with Crown without other actions, I should be required to state explicitly that I want to leave the action phase (provided I have still an action card I could play).

I'm looking forward to statements from fast-play advocates who now will ask for this extended suggestion at least as an option because it might speed up play even more...

randomjoyz

Quote from: tufftaeh on 11 January 2017, 01:25:55 AM
If I understand Adam's sugestion correctly, he wants to be able to click Crown, click Copper, in order to move to the buy phase and to double a Copper, without having to click "End Actions" before clicking Crown.
If this is correct, how about the standard situation where you just happen to want to play no action card (e.g. Necropolis)? Shouldn't you consequently be able to immediately click on a treasure card then in order to move to the buy phase and to play that treasure card, without having to click the annoying "End Actions"? (With autobuy, you wouldn't even need to click a treasure card.)

For the record, I'm not really suggesting this. I support an interface which helps the users to learn how the game actually works. In the standard case as well as in the rare case with Crown without other actions, I should be required to state explicitly that I want to leave the action phase (provided I have still an action card I could play).

I'm looking forward to statements from fast-play advocates who now will ask for this extended suggestion at least as an otion because it might speed up play even more...
I don't think anyone is suggesting that, it would require ether losing functionality or adding a bunch of options every time you play a crown (play as action/dont crown, play as treasure/dont crown,undo or click the card you want to crown) and would be super confusing. honestly I'm still not totally sure what adam is suggesting but i think he wants something to ask you after you play crown if you want to play as an action or a treasure in instances with no actions left.

AdamH

Quote from: Donald X. on 10 January 2017, 11:18:29 PM
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.

Are you suggesting that it's standard practice to release code with bugs in it? Like, yeah I understand it's really hard to do that, but the point is to test it so that it doesn't have bugs in it.

Adding this in would probably make it more likely to have bugs in the future, yes. And if everything else was equal yeah I wouldn't do it this way -- if a computer was the only thing to ever use my software I would totally agree with you. But it's not. People are using the software and the whole point of the software is to make their experience better. If what my customers want is going to make the code harder to maintain, then that's how it has to be and I will design around it to minimize that risk.

At no point did I ever say that anyone should just write worse-designed software for the sake of it.

Quote from: Donald X. on 10 January 2017, 11:18:29 PM
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.

1. If my personal feelings towards Stef and Philip were coming into play, I wouldn't be here trying my hardest to make their product succeed.

2. Designing software that is what the customer wants is not a mistake. I feel like what you've said here is below the belt. "Whatever noble reason" is actually a reason and I don't understand why you're trying to convince me that designing software that is what your customers want isn't important.

randomjoyz

you keep saying "this is what the customer wants, it doesn't matter if its ideal just that customers are happy" or something along those lines.

firstly how do you know what the customer wants? I'm a customer I don't want it, other people have raised concerns against this as well. Maybe customers want the simple intuitive way it is now. thousands of games have been played already, many many many people have already hit this situation (at least I have a few times so I'm sure others have over the many games played) and I'm guessing most of them hit undo, thought about it for a few seconds and realized "oh that was my action phase" and continued on there way realizing that it's working as it should.

second, if the customers want something that is fundamentally against the game the makers should put their foot down.

Donald X.

Quote from: AdamH on 11 January 2017, 03:07:08 AM
Are you suggesting that it's standard practice to release code with bugs in it? Like, yeah I understand it's really hard to do that, but the point is to test it so that it doesn't have bugs in it.
When you have interacting rules on cards, you cannot possibly test everything. The way they can avoid releasing code with bugged interactions is to implement everything very accurately.

Quote from: AdamH on 11 January 2017, 03:07:08 AM
2. Designing software that is what the customer wants is not a mistake. I feel like what you've said here is below the belt. "Whatever noble reason" is actually a reason and I don't understand why you're trying to convince me that designing software that is what your customers want isn't important.
The customers don't want a buggy program! That is also a thing they don't want. Would you believe.

You continually frame things a different way than I put them; the way that makes it sound good to you I guess, so that it's clear to you that I must be wrong. It sure sucks. I don't feel like I'm doing that to you but I mean I'm only human so what are the odds.

And no-one is convincing anyone, and it's not affecting what happens in the program. So, good luck on there being no more of this. If I were a mod I would lock the thread.

allanfieldhouse

Quote from: Donald X. on 11 January 2017, 03:41:10 AM
And no-one is convincing anyone, and it's not affecting what happens in the program.

I don't know -- I still see this thread as being useful. The interaction between Adam and yourself being the exception (both ways). People are suggesting changes and other people are critiquing them. People have pointed out issues with my suggestions, and I'm trying to incorporate those things and come up with something new.

As for it not affecting what happens, I sincerely hope that if the community comes up with some mythical amazing interface that is perfect, the developers would adopt it. At the very least, it gives them some possible directions to look into.

Witherweaver

I've been reading Seveneves (Neal Stephenson), and I came across a quote that I found funny, especially in light of all the discussion on different preferences for interfaces (here and elsewhere):

Quote
"Remember, these things are designed for amateurs."
"Tell me about it," Ivy snorted.  "The user interface is so easy to use, I can't do anything."

allanfieldhouse

So to sum up the whole thread, the current interface does what the rules say (which is important). Unfortunately it also makes it really easy to play the card incorrectly (as in "not what you meant to do"). Any potential interface improvement needs to address the "accidental misplay" situation while simultaneously: 1 - not making the card play technically incorrectly. 2 - not making the card annoying to play for people who are fine with the current system.

The only suggestion I've seen so far that fits these qualifications is some sort of warning/choice presented to the user when it's likely they're making a mistake. When showing this warning, there is a valid argument to be made for keeping the interface consistent and always showing the warning when you play Crown in the action phase. Although valid, I think this argument is outweighed by the "don't be annoying" requirement. The specific situation that's really causing the problem is when you're out of (other) actions, and you want to Crown a treasure. So that's where the warning should be.

So after considering the subsequent arguments/critiques, I think some form of my previous suggestion is the best solution.

Quote from: allanfieldhouse on 10 January 2017, 11:16:42 PM
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'm open to things like tweaks in wording and such, but other than that, I think this is my "final answer" on how this needs to be addressed.

PS - can we stop arguing about coding style and clients and such? That's not helping the discussion of how Crown should work.

Mick

I think allanfieldhouse's solution makes the most sense, and is a solution that would easily work for any/all future action/treasure cards as well.

yed

Ok, so after the discussion I would like this:

If I click Crown with no other action card in hand Crown won't be played, but two buttons apper "Action phase", "Buy phase" and other treasures became clickable.
At this point the card is not yet played, so rules are ok.
Clicking on "Action phase" would play Crown as action. "Buy phase" would move you to buy phase and play Crown as treasure.
Click on a other treasure card would be shortcut for "Buy Phase" + clicking on that treasure card.

I think this is both accurate according to the rules and also implements Adam's idea without the need for considering any edge cases.

Witherweaver

Quote from: yed on 12 January 2017, 05:32:10 PM
Ok, so after the discussion I would like this:

If I click Crown with no other action card in hand Crown won't be played, but two buttons apper "Action phase", "Buy phase" and other treasures became clickable.
At this point the card is not yet played, so rules are ok.
Clicking on "Action phase" would play Crown as action. "Buy phase" would move you to buy phase and play Crown as treasure.
Click on a other treasure card would be shortcut for "Buy Phase" + clicking on that treasure card.

I think this is both accurate according to the rules and also implements Adam's idea without the need for considering any edge cases.

To be pedantic, there is no 'as action' or 'as treasure'; it's just stay in your Action Phase and play it, or move to Buy Phase and play it.

But yes.

markus

I support allanfieldhouse's solution as well. Yed's solution could run into problems, if there were any "beginning of buy phase" effects.

The most important bit is that clicking on Crown still in the action phase gives a warning / can be undone. If you really want to make that situation quicker to play, i.e. without having to click "end actions", then you should also allow to play treasures with only Necropolis (or Ruined Village) in hand. That comes up more often, although misclicking there is not a big deal.

randomjoyz

Whatever is implemented I would rather be implemented to crown card as a whole, not only in the edge case of not having any action cards left. Because this is not an edge case, you can jump to your buy phase and crown treasures regardless of if you do or don't have other actions in your hand. If things are not consistent, it is confusing for the user.