Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: xaps en 7 Marzo 2014, 19:27 pm



Título: ¿Como seria la estructura de un servidor de un juego multijugador?
Publicado por: xaps en 7 Marzo 2014, 19:27 pm
Estoy desarrollando un juego y estoy pensando en cómo estructurar el servidor para implementar el multijugador. El juego es un estilo arcade de partidas cortas, donde un jugador puede crear una partida (alojada en el servidor de momento) y el resto de jugadores unirse a ella.
Tengo pensado crear una clase Servidor, desde la que se gestionarán las partidas mediante multithreading. Es decir, existirá una clase Partida que se ejecutará en un nuevo thread, y desde la cual se gestionarán también las conexiones de sus distintos jugadores mediante nuevos threads (un thread por jugador, que contendrá un socket a su vez).
Podríamos decir entonces, que la estructura del servidor que estoy describiendo sería algo como:

Código:
                       -> Jugador > Socket
          -> Partida  -> Jugador > Socket
                      -> Jugador > Socket

                      -> Jugador > Socket
Servidor  -> Partida  -> Jugador > Socket
                      -> Jugador > Socket

                      -> Jugador > Socket
          -> Partida  -> Jugador > Socket
                      -> Jugador > Socket
Donde cada objeto perteneciente al esquema sería un nuevo thread (excepto los sockets, que pertenecen al objeto Jugador).

La verdad, no creo que esta sea la mejor forma ya que en caso de que haya varias partidas llenas la cantidad de threads sería altisima, por eso me gustaría que me dierais opinión y consejo sobre esto.

Gracias.