I'm making a card game (inspired by Dominion, Hearthstone, Gwent, and others). The way it's set up now, it has a
player manager that handles a player's resources and hand of cards, while I have a
game manager that handles anything else. At the moment it is set up so that behind the scenes there really is just one player, while the opponent is actually the
game manager moving cards around with no regards for the rules of the game, using information sent over the network to mirror what the real opponent is doing at their computer. (I don't care about cheating. I'm not planning to go big; I just want to be able to play and test the card game itself with friends across the country.)
However, I would also like for there to be a hotseat variation on this game. In other words one that is played by two people on one computer. I don't know if it would work out in practice. Things like the length of turns and how much a player can do during the opponent's turn isn't quite fixed yet (note: allowing the players to keep their hands secret from one another is not a concern at the moment).
How would I implement it easiest? Just have one
player manager that "switches sides" and swaps out all its fields once a turn is over? That seems ungainly and prone to errors. A second
player manager? That would need quite a bit of rewriting of the
game manager, and remember that it should still mainly be used online.