In 3.7.5, If I set my deck to be face-up and to “always shuffle” I would expect it to be shuffled when I start a game, but what I see is the last card that I made always seems to be on top.
Then, when I drag the top card off and drop it somewhere, it changes the face to a different card at the moment I drop it.
I think the deck should show a random card on top so players can play that info (because selecting “always shuffle” eliminates the option to manually shuffle). Then when it is discarded, it should not change from what was visible when dropped. But, the rest of the deck can go ahead and re-randomize with the remaining cards AFTER each draw.
This behavior suggests to me that the use-case of a face down deck was in mind when developed. It seems the shuffle function is only happening when a card is drawn…and the shuffle includes the top card. This process is fine for a face-down deck but not a face up-deck where the top card will be played before it is drawn.
I can work around this by setting shuffle to manual, but I thought I should report this, since it doesn’t seem to support the deck-face-up use-case.
I don’t think you’ve thought this through completely. “Always shuffle” means you get a random card when you draw, and you likely won’t get that top card. If you always got the top card, then that would be pretty poor always-shuffling, right? In practice, I think most of us don’t care about always shuffling. We just care that the deck is shuffled once to start and maybe when we remake the deck from discards. And I think that’s what you want too, especially with a face up deck.
So either set up the game to shuffle to start once, or draw the top card and lay it face up next to the deck.
So, I have a face up deck. The top card is in play for all players. Therefore, the deck needs to have been shuffled to begin play.
There is no discard pile space available on the board. The whole board would have to be redesigned in order to provide that and the end result would be that the game would not represent the original design.
The process you described, it seems to me, is what I suggested in my original post, a use case where the deck is face down.
When playing a physical game with a face-up deck, would a player expect the physical card they draw to magically change when they draw it off the top of the deck…I don’t think they would.
On the surface it would appear that the solution to accommodate both the face-down use-case and the face-up use case, is to have “always shuffle” cause a shuffle upon game initialization, so the deck is already shuffled when you see the top card. That way, both the face up deck and the face down deck use cases get a shuffled card as expected for the top card. The remaining deck gets shuffled after the top card gets removed.
This is also the way you would handle the task in a physical game. You wouldn’t take the card out of the player’s hand (who just drew the card) and re-shuffle it with the whole deck and then throw down a different card than the one he drew.
It seems likely that the current approach to “always shuffle” was taken so that a convenient and rational trigger could be used to make the shuffle…drawing a card.
The difficulty in changing it seems to be when to do the initial shuffle. If we do the initial shuffle upon game creation, then “always shuffle” would have to provide the manual shuffle option instead of removing it. Otherwise, the game would always start with the same card.
Whereas if we triggered the initialization shuffle with every opening of the game, games which were stopped mid-turn would shuffle upon re-start and the top card that was present for one player would be different for the next…and that would break my use case.
So, this can be left the way it is or it can be changed to accommodate both face-up and face-down decks with “always shuffle”. As I stated in my original post, the manual shuffle approach provides what I need.
“Re-shuffle Always” is a misnomer. It does not change the order of the cards in the deck - it just draws a random card from anywhere in the deck without modifying the stacking order of the cards.
From the Vassal Reference Manual:
If set to Never then cards remain in their original order; cards are drawn from and added to the top. If set to Always then cards are always drawn randomly from the deck. If set to Via right-click menu then a Shuffle entry is added to the Deck’s right-click context menu.
So don’t use reshuffle always if you want to draw from the top of the deck.
I agree with everything in your post.
To the last line, I would append “…unless your deck is face-down, then it’s fine”.
Not really. Sometimes the card order matters even in a facedown deck. Rdmorss has it right; if card order matters, don’t use “Always Shuffle”. Yes, manual shuffling requires more effort from the module designer, but trying to modify “Always Shuffle” to do what you want would require even more effort from the VASSAL developers! It’s simple enough to add a Startup Global Key Command to shuffle the deck when a new game starts…
I completely agree, it is not always OK to use “always shuffle” even if you have a face-down deck.
If you wish to preserve card order, you should not apply “always shuffle”.
But, if you want to keep your cards shuffled without user interaction, setting “always shuffle” is fine with a face-down deck…because the top card is unplayable until revealed. Therefore it doesn’t matter if it changes from the moment you drag it off the top to the moment you drop and reveal it for play…the change is moot in that case.
However, when you want your cards to keep themselves shuffled, but you have a face-up deck, where the top card is in play at the outset, it would make no sense to have that top card change its face the moment you drag it off and drop it on the board. Therefore, the “shuffle all” setting doesn’t really support the use of a face-up deck.
But, as we’ve pointed out, we can solve the problem by requiring a manual shuffle.