Convierte un cliente de un jugador en un hotseat

Estoy haciendo un juego de cartas (inspirado en Dominion, Hearthstone, Gwent y otros). La forma en que está configurado ahora, tiene un player manager que maneja los resources de un jugador y la mano de cartas, mientras que yo tengo un game manager que maneja cualquier otra cosa. Por el momento está configurado para que detrás de la escena solo haya un jugador, mientras que el oponente es en realidad el game manager del game manager moviendo las cartas sin respeto por las reglas del juego, usando la información enviada a través de la networking para reflejar lo que oponente real está haciendo en su computadora. (No me importa hacer trampa. No estoy planeando ir a lo grande, solo quiero poder jugar y probar el juego de cartas con mis amigos en todo el país).

Sin embargo, también me gustaría que haya una variación hotseat en este juego. En otras palabras, uno que es jugado por dos personas en una computadora. No sé si funcionaría en la práctica. Cosas como la duración de los giros y cuánto puede hacer un jugador durante el turno del oponente aún no está del todo arreglado (nota: permitir que los jugadores mantengan sus manos en secreto el uno del otro no es una preocupación en este momento).

¿Cómo lo implementaría más fácilmente? ¿Solo tiene un player manager que "cambia de bando" y cambia todos sus campos una vez que termina el turno? Eso parece desgarbado y propenso a errores. Un segundo player manager ? Eso requeriría un poco de reescritura del game manager del game manager , y restring que aún debería usarse principalmente en línea.