Best way to implement a once per game reactionary action

Game development with Board Game Arena Studio
Post Reply
User avatar
Marc125
Posts: 3
Joined: 05 April 2020, 12:32

Best way to implement a once per game reactionary action

Post by Marc125 »

I'm looking for the best way to implement a certain rule on BGA.

In the game, the active player deals a card to every other player (in any order they choose). Every player has the ability to refuse the card they were just given, sending it to the discard pile instead. They must do so immediately and can only do it once per game. Most of the time, this ability won't be used until the last moment, if the card would cause the receiving player to immediately lose the game (the game has player elimination). In this last case, it will be a mandatory move in my implementation.

However, I'm struggling to find a good way to allow a player to use this ability at any point in the game. Some options I've considered:


1) The "naïve" way, using an extra activeplayer state. Every time a player receives a card, they must choose to accept or refuse it, after which the next card can be dealt. This would greatly slow down the game, which is supposed to be fast paced.

2) A variant of 1, using a client-side player preference to "automatically accept a card unless eliminated", which would be enabled by default but can be toggled at any point during the game. This would remove some of the downtime, but a player would need to make the choice to disable the preference ahead of time. Also, I'm not sure this could work on turn-based tables.

3) Add "refusing" the card as a possible action on every activeplayer state. The action can be used by the player who last received a card, without being the active player. The action would remain valid until another player received a card. I think this is similar to SOLO! where you can play a card out of turn if it matches the previous card.

4) Something something multipleactiveplayer state.

I think that option 3, the SOLO way, might be the best one, but I wonder if there's a better way, or some games I could look at as an example.
User avatar
Tisaac
Posts: 2736
Joined: 26 August 2014, 21:28

Re: Best way to implement a once per game reactionary action

Post by Tisaac »

I would go with number 3, make the action available even if the player is not active should work nicely.
User avatar
Marc125
Posts: 3
Joined: 05 April 2020, 12:32

Re: Best way to implement a once per game reactionary action

Post by Marc125 »

Thank you Tisaac. I did that. It turned out to be much much easier than I thought it would, and works nicely indeed! :)
Post Reply

Return to “Developers”