¿Qué hace que un juego de lucha en línea como Super Smash Bros. Melee sea diferente de otros juegos en línea como Assassins Creed, COD, etc.?

Con un juego de lucha, necesitas un tiempo de respuesta perfecto para el marco, lo que significa que el modelo cliente / servidor no será suficiente. Necesitas un modelo de bloqueo, que bloquea los dos juegos para tener exactamente la misma velocidad de cuadros y paso de actualización.

Considere los dos modelos simplificados:

Incluso Call of Duty no necesita respuestas de marco perfecto, razón por la cual el cliente-servidor trabaja para ello. Piense en qué tipo de información debe enviarse de un lado a otro entre el reproductor y el servidor en este caso. El servidor le dice al cliente, según la posición y la cámara, qué jugadores están en su campo de visión y dónde se supone que debe estar el cliente. El cliente simula el movimiento general y le pregunta al servidor si esto es correcto. Esto reduce la latencia y el número de comunicaciones necesarias para garantizar que el reproductor y el servidor estén sincronizados.

En SSBB, o en cualquier otro juego de lucha, hay una serie de cosas que deben sincronizarse entre los jugadores. Las posiciones exactas de cada jugador y el cuadro exacto de su animación, toda la información de colisión y cualquier evento deben enviarse y sincronizarse en cada cuadro . Esto podría incluir una cola de comandos, como si también ingresas una combinación de botones en Street Fighter. Como el otro Andrew mencionó, ambos jugadores necesitan ver la misma cosa exactamente al mismo tiempo, en cada cuadro. Que podría estar entre 30 y 200 FPS dependiendo del juego.

Super Smash Bros. Melee no fue diseñado para jugarse en línea, ni siquiera fue diseñado para jugarse localmente en dos o más consolas. No entiendo completamente cómo funciona Dolphin NetPlay, pero por lo que he leído, y esto es solo una suposición, me parece que es una forma de sincronizar la ejecución de emuladores de GameCube en dos o más computadoras diferentes y luego compartir la información de entrada del controlador a través de Internet entre sí. Esto es totalmente diferente de la forma en que funcionan los juegos multijugador en línea, y en ese sentido, no puedes compararlo con Call of Duty o lo que sea, no porque sea ‘un juego de lucha’ versus ‘un tirador’, sino porque es ‘múltiple emuladores que simulan la experiencia de jugar juntos en una consola ‘vs’ y un juego multijugador diseñado para jugar en línea con un servidor o host y múltiples clientes ‘.
Por lo tanto, debe tener en cuenta que esta experiencia de jugar juegos que no son en línea como los viejos juegos de Smash Bros. no se puede comparar en absoluto con los juegos diseñados para jugar en línea.

Ahora, por separado, esas personas en el chat tenían razón. Incluso si Smash Bros fue diseñado para estar en línea (como lo están los nuevos juegos de Smash Bros), son bastante diferentes de los tiradores en línea.

En primer lugar, debes darte cuenta de que para los juegos diseñados para jugar en línea, el nivel de “gráfico moderno [intensivo]” de los juegos no importa en absoluto para el juego en línea, en general. Para que un juego en línea funcione, los únicos datos que deben compartirse entre los jugadores en Internet es lo que se necesita para que cada juego del cliente comprenda de manera adecuada y segura lo que está sucediendo en el juego.
Entonces, por ejemplo (y estoy simplificando aquí), en Call of Duty, cada cliente necesita saber cómo son los otros jugadores. Sin embargo, no importa cuán detallados sean los gráficos. Si estoy jugando contigo, tu consola solo necesita enviarle a mi consola la información de que tu personaje lleva el disfraz # 673 y tiene el arma # 12. No es necesario enviar la información gráfica detallada, como las texturas y los modelos poligonales de tu personaje. En cambio, el software del juego en mi consola sabe qué es el disfraz # 673 y tiene toda la información localmente necesaria para representarlo.

Del mismo modo, mientras jugamos, su consola necesita compartir con mi consola su posición actual, cuando dispara, cuando salta, etc.

En otras palabras, para el juego en línea, los juegos de los diferentes jugadores solo necesitan compartir datos sobre lo que está sucediendo . La pereza no se ve afectada por la intensidad gráfica de los juegos. En cambio, se ven afectados por la complejidad de los juegos con respecto a la información que se debería compartir entre los jugadores para que sus consolas puedan recrear la misma versión de lo que está sucediendo actualmente en el juego. Entonces, para los tiradores, esto es, en general (y simplificando), solo las posiciones de los jugadores y sus acciones.

Ahora, dicho eso, ¿qué diferencia a los tiradores de los luchadores? Bueno, en los shooters, en realidad no es tan crítico que cada cuerpo vea exactamente lo mismo en un momento dado. En la mayoría de los tiradores, tus acciones no suelen verse afectadas por el juego de otros en un momento exacto, cuadro por cuadro. La noción de que todos juegan sincrónicamente en un juego juntos es una especie de ilusión. Si te disparo, pero tu consola no recibe ese mensaje por una décima de segundo, en general, en realidad no importa. Su consola puede ponerse al día, y la discrepancia pasará desapercibida. Tienes tu visión del mundo del juego, y yo tengo la mía, y mientras el retraso no sea demasiado severo, las discrepancias generalmente no tienen un efecto en el juego. De vez en cuando, puede marcar la diferencia, como si dos francotiradores se dispararan uno al otro literalmente al mismo tiempo, los dos juegos pueden estar en desacuerdo sobre qué jugador debe morir y cuál debe vivir, y generalmente el software en el servidor o el host lo hará. solo elige uno. En los juegos de disparos, notarás que si un juego se vuelve demasiado lento, a veces otros jugadores o incluso parece que te mueves erráticamente, o disparas a la pared y cosas así, pero los juegos se sincronizarán nuevamente y las cosas se volverán a sincronizar. continúa en. Lo que sucedió es que durante esos pocos momentos, la visión del mundo del juego de diferentes jugadores se volvió tan fuera de sincronía que los diferentes jugadores ven las cosas de manera diferente, y dependiendo de cómo esté diseñado el juego, el juego podría haber tratado de mostrar lo que estaba sucediendo. encendido, aunque de manera incorrecta (aunque la mayoría de los juegos modernos congelarán el juego por un momento (o “pantalla negra”) con un mensaje que le informa que hay un problema de conexión.

En los juegos de lucha, la sincronización entre diferentes jugadores suele ser mucho más importante porque el punto exacto de contacto entre los jugadores es muy importante y afecta el estado en el que se encuentra tu personaje y las acciones que puedes o no tomar en un momento dado. Entonces, por ejemplo, cuando ocurre un retraso en los juegos de lucha, notarás que los diseñadores optaron por ralentizar el juego (esto sucede a veces en Smash Bros. 4), o simplemente se congelan hasta que se pueda restablecer la sincronización.

A2A.

El retraso puede ocurrir cada vez que sus paquetes llegan al hardware, o cuando tienen que pasar por una capa de software adicional. Estás jugando a través de un emulador (Dolphin), que podría agregar retraso a tu experiencia de juego. También es posible que su ruta de salto a través de Internet hacia el host atraviese uno o más enrutadores deficientes o ISP obstruidos, lo que agrega más retraso.

Los juegos de lucha están codificados para aprovechar al máximo los chips locales en una consola. Es difícil obtener velocidades de fotogramas locales a través de una conexión a Internet; No diré que es imposible (los codificadores de red experimentados pueden tener una respuesta diferente), pero puede ser muy difícil. Cada vez que agrega capas de hardware o software a la situación, corre el riesgo de retrasarse.

Los juegos como CoD o Assassin’s Creed todavía pueden tener retraso, especialmente cuando son conexiones de igual a igual. Es un caso de “su millaje puede variar”; Es posible que esté obteniendo una experiencia fluida, pero otros pueden estar viendo una presentación de diapositivas.