Terraforming-mars: Reordering cards in hand

Created on 24 Oct 2020  Â·  2Comments  Â·  Source: bafolts/terraforming-mars

This seems to be the thing my family members miss most from the physical game. Mainly, they want to arrange cards by how imminently they might be thinking about playing them, which cuts down decision time when on-turn.

Players would want this feature to be always-on for their cards-in-hand whether they are on turn or not. It would want to be handled separately from game workflow.

Probably nontrivial. Maybe easier if the position values are remembered client-side-only, lost on reload, and to me that'd be at least better than nothing... but people would file bugs. But what's the alternative – the server takes requests to store data that only relates to game state but is inconsequential on game state; that may just be weird. (And could there be a race condition vs a real game state change? Don't know.)

On the bright side, consequential game state changes can ignore these values without breaking anything. If cards got played out of hand, the rest still sort the same way, and if new ones came in and don't have position values set, those can all just be displayed to the right of the ones that do. So it's only when the user performs some actual reordering action that it would need to update position values.

I'd hope the UI part is at least simple, just an invisible hitbox glued to the left and right of each card, that any card can be dragged onto, gets us there? (I have no idea what I'm talking about.)

Most helpful comment

Assuming there is some straight forward drag and drop available client side, the storing of card positions on client side shouldn't be too difficult. This would also allow the player to do something while waiting for their turn.

All 2 comments

Assuming there is some straight forward drag and drop available client side, the storing of card positions on client side shouldn't be too difficult. This would also allow the player to do something while waiting for their turn.

I assigned this to myself. Will store on client. Can start basic and improve from there.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

cdekker picture cdekker  Â·  3Comments

dabewi picture dabewi  Â·  5Comments

dabewi picture dabewi  Â·  5Comments

duckmammal picture duckmammal  Â·  4Comments

vincentneko picture vincentneko  Â·  3Comments