Multijugador Tutorial 1: conceptos

4

Index

Tagged

Stats

29,389 visits, 45,168 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

Calidad de Conexión

Un número de medidas pueden tomarse para determinar la calidad de una conexión sobre el internet, y es una buena guía de la calidad de la experiencia de juego que resultará. Éstos incluyen latencia, varianza en retraso de paquetes (PDV), pérdida de paquetes y ancho de banda.

Latencia

Como resultado de los dispositivos de enrutamiento y las leyes de la física, cada mensaje enviado por el internet tomará algo de tiempo en llegar a su destino. El tiempo de transmisión es llamado la latencia, o algunas veces el tiempo de ping. Está normalmente en algún punto entre 20-200ms para dos jugadores dados en cualquier lugar del mundo, sin embargo, como cualquier jugador experto puede decirte, puede algunas veces estar por encima de ese rango. Los juegos típicamente corren a 60 FPS, lo que significa que cada frame toma alrededor de 16ms. Una latencia de 100ms significa que el juego avanza cerca de 6 frames antes que un mensaje llegue a su destino. Si necesita una respuesta, se duplica: la respuesta llegará otros seis frames después.

En juegos de acción, los tiempos de respuesta son muy importantes. Los buenos jugadores a menudo responden a eventos de juego en decenas de milisegundos, y se vuelven muy sensitivos a estos retrasos. Considera una bala moviéndose a 500 pixeles por segundo. en 200ms cubrirá 100 pixeles, los cuales fácilmente podrán ser la diferencia entre un golpe directo y un fallo por una amplio margen.

Esta latencia de transmisión de datos en el Internet crea algunos problemas difíciles. Para que el juego sea justo, todos los jugadores necesitan estar viendo la misma cosa y tener la misma oportunidad de responder a los eventos. en la práctica, cada jugador está actuando a distintos retrasos de tiempo y el host debe tomar decisiones acerca de qué es lo que realmente está ocurriendo. Mientras varias técnicas son usadas para compensar por los retrasos de tiempo e intentan mantener el juego justo, cualquier jugador experto también puede decirte que una baja latencia funciona como una ventaja de juego: verás las cosas ocurriendo ligeramente antes que otros jugadores lo hagan.

Variación del Retraso de Paquetes (PDV)

Otro problema con la latencia es que puede variar para cada mensaje. Si dos mensajes son enviados a la Internet, uno podría tomar 50ms para llegar, pero el segundo podría tomar 70ms. Esto es llamado la varianza de retraso de paquetes, o PDV. En Construct 2, se mide como la mayor latencia menos la menor latencia sobre las últimas medidas, así en el ejemplo dado sería de 20ms. Una alta PDV tiende a ser peor con mayor latencia. El motor multijugador se anticipa cuando los mensajes llegan e intenta compensar por el retraso. Una alta latencia con bajo PDV significa que las predicciones acerca de la llegada trabajan bien y la compensaciones son acertadas, resultando en una experiencia de juego más estable. Una baja latencia con una alto PDV significa que los mensajes llegan de forma impredecible, y las compensaciones son algunas veces poco acertadas, resultando en un juego inestable ya que el motor multijugador debe hacer correcciones, y negar la ventaja de la baja latencia.

Pérdida de paquetes

Los mensajes incluso pueden perderse completamente. A pesar que los dispositivos de enrutamiento hacen su "mejor esfuerzo" para pasar mensajes, pueden simplemente dejarlos si se llenan con demasiados mensajes, se quedan sin memoria, sin energía, se bloquean, etc. El porcentaje de mensajes que se pierden es llamado pérdida de paquetes. El motor multijugador puede fácilmente compensar la pérdida ocasional de paquetes, pero si la pérdida es muy alta, la experiencia de juego puede empezar a degradarse.

Una causa común de pérdida de paquetes es el alto tráfico ocasionando que los dispositivos de enrutamiento reciban mensajes más rápido de lo que pueden reenviar o procesar. Si la capacidad es excedida, algunos mensajes serán procesados y retransmitidos, y otros serán abandonados para preservar algún grado de servicio. Si se tiene que manejar cada mensaje en particular, los pedidos irán incrementando mientras la retransmisión se hará cada vez más lenta hasta que falle completamente. Para evitar esto, es recomendable transmitir mensajes más pequeños a la velocidad más baja aceptable - Lo cual hace que probablemente puedan llegar más rápido.

Ancho de Banda

Finalmente, el ancho de banda se refiere a la velocidad total a la cual los datos pueden ser enviados. Todas las conexiones de internet tienen un velocidad máxima de carga y descarga, a menudo cuantificada en megabits por segundo. desde que hay 8 bits en un byte, dividir eso por 8 te da la velocidad en megabytes por segundo (ya que la mayoría de sistemas de software, incluyendo Construct 2, cuantifican los datos en bytes en vez de bits). Por ejemplo, una conexión de 40 megabits/sec puede en teoría transferir 5 megabytes por segundo. Sin embargo, nótese que la velocidad de carga puede ser diferente, y es generalmente menor en conexiones de Internet de los consumidores.

El ancho de banda puede ser un cuello de botella para juegos grandes. Entre más clientes se unan a un juego, mayores son los datos que el host debe cargar para mantener todos los clientes actualizados. Eventualmente el host alcanzará su límite de velocidad de carga y una pérdida de paquetes ocurrirá. Ésta es otra razón para enviar pequeños mensajes a la menor velocidad posible, ya que minimiza el ancho de banda requerido.

  • 0 Comments

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