martes, 3 de enero de 2017

El enemigo más temible de la Vanguardia

Siguiendo bajo la misma línea temática de mis artículos anteriores, quisiera escribir ahora un poco sobre lo que considero es el enemigo más temible de la Vanguardia en Destiny.

No estoy hablando de Crota ni de Oryx, sino otro rival aún más terrible. Éste adversario, así como la SIVA, es un mal, un cáncer que ha existido desde antes de nuestra aparición en Destiny destruyendo civilizaciones en diferentes épocas, juegos y consolas. A pesar de incontables batallas de Saladino y los Señores de Hierro, este rufián no ha sido derrotado aún. Así es guardianes, el enemigo más temible de la Vanguardia es: El "LAG".

Este feroz contrincante ha frustrado las partidas de TODOS en algún momento y quiero tratar de explicar un poco su origen en Destiny. Aclaro que no soy un experto en redes ni tecnologías y sistemas de información, más bien, he dedicado tiempo a la investigación del tema. Los datos que les presento aquí son un concentrado realmente, extraído de artículos y comentarios de developers y experiencias de usuarios (aquellos que tienen router especial) en los foros de bungie principalmente y otras fuentes.

En el artículo anterior sobre Matchmaking aprendimos cómo es que Bungie construye tu partida en PvP. Ahí podemos encontrar que el sistema está diseñado para buscar una "buena" conexión primordialmente. Para entender de dónde viene el lag, es importante conocer lo siguiente sobre la conexión y el diseño de Destiny:

Netcode

Éste es un tema sumamente controversial en los foros y podrás ver muchísimas opiniones y videos tratando de explicarlo.
Destiny está diseñado para correr a 30 FPS (Frames per second) a una tasa de refresco (Tick Rate) de 10 hz. - Claro tío y ¿eso qué? - Bueno, quiere decir que el servidor actualiza o pide la información del juego cada 100 ms (10 veces x segundo)  / 3 frames . Solo para entender el marco de referencia Overwatch corre a 60 FPS y 60 Hz.

En una publicación reciente de Bungie (Noviembre 17, 2016) aseguran que realmente el Tick Rate para el daño durante el combate es de 30 hz (30 veces por segundo) y para actividades en partida como los indicadores de resultado y munición especial es de 10 Hz. Sin embargo esto no ha podido ser comprobado por los usuarios que siguen argumentando que la tasa real es inferior a 30 definitivamente.

Conexión aceptable - Latencia (Ping)

De acuerdo a las experiencias de usuarios parece ser que una conexión aceptable puede ir hasta un máximo de 800 ms de ping mientras que en otros juegos 100 ms es lo máximo aceptable, incluso menos. 

Podrás imaginar entonces cual es el resultado de la combinación de una latencia alta de 500 ms o más con el Netcode de 100 ms 3 Frames. Sí, teletransportación, balas a través de las paredes, daño imaginario... ¿Suena familiar?

El SBMM entonces podría ser completamente inservible ya que al enfrentarte a oponentes con alta latencia el registro de daño puede ser tan malo que el supuesto SKILL queda de lado.

Sistema de Red - P2P

Destiny trabaja con un sistema de Red Híbrida P2P, esto quiere decir que todos los usuarios que se conectan a ella aportan el ancho de banda y la capacidad de almacenamiento de la red. Lo que significa que cada consola (Nodo o Peer) que esté conectada a la red aporta los recursos requeridos para el tráfico de datos en una comunicación híbrida con servidores. No son servidores dedicados sino un invento que utiliza Bungie y que asegura es mejor. (Truman, Justin)

El resultado ya en el juego es que si compartes escuadra en una partida con alguien en otro continente que además está utilizando una red de 1 Mb de ancho de banda de descarga y 0.2 Mb de carga, estarás compartiendo los mismos recursos para mandar la información al servidor.

Conclusiones

No quisiera seguir hablando de más tecnicismos sobre redes porque se que les aburre (tampoco los domino como quisiera) más bien quiero aterrizar un poco todo esto en la experiencia del juego. Que tantas conclusiones podemos sacar de esto, aquí dejo lo que considero más importante:

  • Este diseño de netcode, sistema de red, latencia en conexiones pareciera estar más orientado a una más óptima experiencia en PvE que en PvP. Definitivamente en una Raid o Strike no debería afectar tanta precisión en la actualización de información.
  • ¿Qué tan relevante es realmente si el netcode es 10 o 30 veces por segundo? Bueno, es que si Destiny quiere ser considerado como un Shooter altamente competitivo, un e-sport para MLG estas fracciones hacen mucha diferencia. 
  • Aún que sí sean efectivos los 30 Hz a 30 FPS que dice tener el juego, realmente está por debajo del promedio de la industria y si se considera competitivo debería estar por encima que el promedio. (60 FPS a 60 Hz)
  • Definitivamente todo el esfuerzo por cotejar en base a Skill con el objetivo de mejorar la experiencia se ve afectado por el hecho de aceptar conexiones de alta latencia. Es decir, 800 ms con personas de diferentes continentes con el netcode actual no promueve la competitividad.
  • Con este diseño aún viendo barras verdes experimentarás los efectos del lag debido a la alta latencia. Acciones como los "Kill trades" abundan en Destiny mientras que otros juegos no lo verás tan frecuente. En CounterStrike se presume que jamás se ha registrado uno durante las competencias en toda su historia. Éste corre a 144Hz.

¿Y qué podemos hacer?

Como mencioné anteriormente, este tema es muy amplio y existe mucha polémica al respecto. La única solución efectiva que lo usuarios han encontrado es utilizar routers especiales (Netduma). Con estos routers se pueden restringir las conexiones de tu partida y forzar a que sean puras locales. De esta forma se ha logrado conseguir solo pin's bajos y así derrotar, parcialmente, al enemigo más temido de la Vanguardia; El Lag

La esperanza de todos los guardianes está en que Destiny 2 venga al menos a 60 FPS y 60 Hz que es lo máximo que permiten las consolas y que el diseño del matchmaking sea más apropiado para el juego competitivo. Con esto y un buen ancho de banda en tu red doméstica creemos que se podría levantar por fin, un muro alto e impenetrable en contra del Lag.



Fuentes Principales:

  • Justin Truman, Bungie Engineering Lead. Shared World Shooter: Destiny's Networked Mission Arquitecture.
  • WindierBridge99, Destiny PvP Matchmaking - Not a protest
    https://www.bungie.net/en/Forums/Post/218037592?sort=0&page=0
  • Slyph22, Tickrate, Trades, FPS, and You. Why Destiny's hit registration just, feels off.
    https://www.reddit.com/r/DestinyTheGame/comments/5ccsqg/tickrate_trades_fps_and_you_why_destinys_hit/?st=ixgs7gof&sh=e474194f
  • http://www.informatica-hoy.com.ar/aprender-informatica/Que-son-las-Redes-P2P.php
  • NETDUMA. https://netduma.com/es/why/para-jugadores/
  • https://www.reddit.com/r/GlobalOffensive/comments/307xrv/has_there_ever_been_a_recorded_trade_kill_on_csgo/?st=ixi17xnh&sh=fb26277f
  • https://es.wikipedia.org/wiki/Latencia