I'm currently working on a 2-player local card game and have run into a problem concerning hidden information.
As in most other card games, I want to keep the cards each player has, hidden from the other player, but when you only have one screen this turns out to be more difficult than you think. I have multiple ideas how to solve the problem, but none of them really seams to be very elegant:
1. Turn around the cards, for the player that currently has to make a turn: This is the first idea that came into my mindt, but it also has a big problem: The other player isn't allowed to look at the screen while the other player is performing his turn. This seems unituitive because your opponent might want to think about his next move, or even worse, might need to respond to your actions depending of the design of the game. It also seems very unfun, to always make sure the inactive player turns around before making the next turn.
2. Encode the cards of each player: My second idea was to let each player choose a seed, to encode their cards. This would work like the following: Each player chooses a seed which then encodes each players cards (gives them random ids, according to the seed) The game would then only show the id's of the card available to the player. The second step would be to create a small phone app, where you could enter the seed and then display your cards by entering the ids shown on the main game. The problem with this would be that each player needs to keep track on his phone which cards he has, which he just played, etc.. This would cause the player to effectively do each turn twice because after playing a card on the main game screen he would need to manually remove it from his phone app.
3. Create a networking system that sends the game information to each players phone: Pretty much the same deal as above, only that you get rid of all the manual work of seed picking and updating the cards in your hand. A downside for me, however is all the code needed for networking to manage this stuff. For now I rather prefer to stay away from the networking aspect, as my project is complicated enough for now.
4. Scrap the idea of the local multiplayer and go full online mode (like Hearhtstone): Same deal as above, would need lots of networking.
As you can see none of the solutions are very practical (if you want the project to stay local and don't use any networking). Do you have any ideas how you could solve this problem more elegant without overcomplicating the hole process of getting the information to the player and breaking the gameflow to much?
Thanks in advanced for your help!