Multijugador Tutorial 1: conceptos

4

Index

Tagged

Stats

29,665 visits, 45,687 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 10 Sep, 2014. Last updated 25 Feb, 2019

El Caos del Internet

Supongamos ahora que algunos clientes se han unido a la misma sala, satisfactoriamente conectados al host, y un juego multijugador ha empezado. Podemos ahora ignorar el servidor de señalización: ya no se involucra desde este punto.

Como se describió anteriormente, el juego multijugador corre por sí mismo con el host actuando como servidor. Los clientes sólo envían datos al host, mientras que el host les envía datos a todos. Esto significa que si dos clientes desean comunicarse, debe ser a través del host.

Los juegos multijugador serían mucho más simples si todas las transmisiones en el internet fueran casi instantáneas. Este es el caso de una red de área local (LAN), tal como tu casa o la red de tu oficina. Sin embargo, el internet es fenomenalmente complejo. Entre dos jugadores cualquiera en la internet, podrían haber 10-20 dispositivos de red (tales como enrutadores). Los dispositivos a través de esta ruta pueden ser diferentes para cada par de jugadores. Por cada mensaje único enviado, cada dispositivo en la ruta debe recibir un paquete entrante de información, leerlo y entender su destino, determinar hacia donde reenviarlo, y luego retransmitirlo. Encima de eso si conectas a jugadores a través del océano, tus datos estarán viajando a través de cables submarinos, lo que genera una increíble cantidad de tráfico sobre distancias largas.

Sorprendentemente, cada dispositivo en la ruta puede a menudo redireccionar un paquete entrante en milisegundos. Sin embargo, con muchos dispositivos a través de la ruta esto se va sumando. Si cualquiera de éstos está experimentando una carga alta, podría reducir la velocidad resultando en retrasos mayores en la transmisión. Estos dispositivos, como cualquier computadora, puede bloquearse, quedarse sin memoria, apagarse por mantenimiento, perder energía, toparse con bugs que afecten el servicio, etc. Debido a una impresionante ingeniería, los enrutadores pueden a menudo re-enrutar datos alrededor de dispositivos que están fuera de línea, o incluso re-enrutar datos por caminos alternos más rápidos. Todo esto puede añadir cambios temporales o permanentes al tiempo que le toma a un mensaje llegar de A a B.

Las leyes de la física también deben tomarse en cuenta. Si un jugador de Londres en el Reino Unido se conecta a Sídney en Australia, los datos deben viajar aproximadamente 17.000 Km. Viajando en línea recta a la velocidad de la luz, esto tomará alrededor de 57ms. Es físicamente imposible obtener datos más rápidos que eso. Entonces los cables a través de las rutas, probablemente no son perfectamente rectos, y sobre esa distancia es muy probable que hayan muchos más dispositivos enrutadores.

  • 0 Comments

Want to leave a comment? Login or Register an account!