Al diseñar un juego multijugador en red donde un jugador aloja y otros se conectan, hay dos estrategias que conozco:
- Haga que el juego del jugador anfitrión sea la autoridad , con todos los demás jugadores como clientes tontos tratando de ponerse al día con el estado actual del juego. En el código, tendrá que haber muchos casos especiales, dependiendo de si el jugador actual es el anfitrión o no.
- Haga que el host sea un cliente tonto como todos los demás ejecutando un servidor dedicado oculto en otro hilo. El servidor dedicado será la autoridad, y el host se conectará a él como todos los demás (a través de localhost).
¿Cuáles son las ventajas / desventajas de cada uno de estos? ¿Cuál se usa con más frecuencia (o varía según el tipo / tamaño del juego)?