Hello.
I am actually developping "Riftforce" (yep, again
).
I have create the "basic" GameStates but I have a question :
In the game, the players have to choose 1 of 3 differents actions
1 - Play 1-3 card
2 - Activate 1-3 cards
3 - Check points.
For now I have created 4 GameStates
- 1 for letting the player choose which action he wants to perform
- 1 for each of the 3 actions.
For action 1 and 2, the players
1 - select 1 card from hand
2 - play it or activate it (i.e. : place it on the board, or select 1 card on the board)
3 - if less than 3 cards played, he can play/activate another card
What is better/easier ?
1 - Having 2 differents GameStates for action1 and 2 for step 2 (1 for select a card and the second to play it)
2 - Having only 1 GameState for each action(which can be named "Action-PlayCard" and "Action-ActivateCard)
For me the solution 1 helps on database saving action on Server side as there are separated gamestate. But it require more code (or not) to perform an "Undo / Redo turn".
The solution 2 could be easier to perform an undo (most is done on the client side) but maybe need more checks at the end of the turn.
Or maybe there is no good solution, only 2 (or more) different ways to do it.
Thank you in advance
I am actually developping "Riftforce" (yep, again
I have create the "basic" GameStates but I have a question :
In the game, the players have to choose 1 of 3 differents actions
1 - Play 1-3 card
2 - Activate 1-3 cards
3 - Check points.
For now I have created 4 GameStates
- 1 for letting the player choose which action he wants to perform
- 1 for each of the 3 actions.
For action 1 and 2, the players
1 - select 1 card from hand
2 - play it or activate it (i.e. : place it on the board, or select 1 card on the board)
3 - if less than 3 cards played, he can play/activate another card
What is better/easier ?
1 - Having 2 differents GameStates for action1 and 2 for step 2 (1 for select a card and the second to play it)
2 - Having only 1 GameState for each action(which can be named "Action-PlayCard" and "Action-ActivateCard)
For me the solution 1 helps on database saving action on Server side as there are separated gamestate. But it require more code (or not) to perform an "Undo / Redo turn".
The solution 2 could be easier to perform an undo (most is done on the client side) but maybe need more checks at the end of the turn.
Or maybe there is no good solution, only 2 (or more) different ways to do it.
Thank you in advance