Kaillera y MAME sin Ping ni Lag Evitar Desincronización (Desync)

Home Forums Videogames Kaillera y MAME sin Ping ni Lag Evitar Desincronización (Desync)

This topic contains 0 replies, has 1 voice, and was last updated by  D.Garay 2 years, 2 months ago.

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #702

    D.Garay
    Participant

    CONCEPTO DE JUGAR ONLINE A JUEGOS ARCADE CLASICOS
    - Juegos Online: Si tu juegas a un MMORPG o juego online, están hechos para eso y habrá una máquina principal (“servidor”) que dirige todo. Envía la posición de los jugadores, su vida, acciones, etc.
    - ¿Qué hay en ese cofre del juego online? Eso lo dice el servidor. Se lo envía a todos los jugadores. Dice, en el cofre hay una Espada+2. Y cada juego individual de cada jugador coge la imagen de la Espada+2 de la carpeta donde está instalado tu juego (el servidor solo indica lo que hay).
    - Sincronización de juegos online: Si un jugador se desincroniza (pierde conexión un rato) no pasa nada, el servidor le envía los datos de posición de nuevo, de vida, etc de los jugadores de su entorno. Puede notar un pequeño saltito, pero todo sigue su curso.

    - Juegos Arcade clásicos Online: Si estás jugando a un emulador como MAME y online con Kaillera o similar, estos juegos no están hechos para jugar online. La máquina no sabe dónde están los jugadores en la pantalla, ni la vida que tienen, ni nada. No podemos extraer esa información. Aquí lo que se envía es solo el input (golpes de teclado o joystick) de cada jugador. Esto es difícil de asimilar, pero son 2 juegos independientes y dos partidas independientes, donde le envías al otro jugador cuando pulsas izquierda, cuando derecha o cuando atacas.
    - ¿Que hay en ese cofre del Arcade Online? Otro concepto difícil de asimilar. En el cofre sale algo aleatorio, como son 2 partidas distintas, pueden salir 2 cosas distintas ¿no? Pues no, esto es falso. No existen los números aleatorios. Un ordenador para coger un nº aleatorio toma un valor (la hora del sistema en milisegundos, por ejemplo 23452343) y lo mete en una ecuación caótica (esto es, no puedes predecir los resultados, pero siempre que metas ese número, obtendrás la misma secuencia de resultados). Al iniciar la partida en Mame con Kaillera, se sincroniza el sistema (el MAME u otro emulador) y ese número será el mismo para ambos, por lo que todas las decisiones de la partida serán igual para ambos jugadores.
    Sincronización de juegos Emulados Arcade Online: Este es el gran problema de este sistema (inevitable). El tema de la des-sincronización es complejo y no voy a explicar por qué ocurre. Pero, cuando ocurre en estos sistemas, es imposible reenviar el estado de la partida al resto de jugadores (no lo sabemos) y tampoco es posible deshacer movimientos hacia atrás, por lo cual, al perderse algo de información (digamos una tecla de ataque), todo el juego continúa sin que el jugador haya atacado en ese momento de tu partida. Eso puede significar que el enemigo al que atacó no muriera, que en tu partida tuvieras que ir tú a matarle y que por tanto, vaya cambiando todo el rumbo de la partida por completo. Esto es la teoría del caos o el efecto mariposa que se suele decir: el hecho de perder un movimiento mínimo de un jugador hacia una dirección, no va a cambiar nada durante el primer minuto (imperceptible) pero llegará un momento que haga que un ataque no llegue al enemigo por ese poco, o que te golpeen por ese poco y a partir de ahí se va desvirtuando exponencialmente.

    ¿CUAL ES EL PROBLEMA?
    - Ping, Latencia y Lag (todo viene de ping-pong, el conjunto es el tiempo de respuesta al decir “hola” a otro ordenador hasta que el otro te responde “hola” de nuevo). Aquí la barrera es la velocidad de la luz, desde España a Japón, por la red eléctrica a la velocidad de la luz, se tarda 100ms (milisegundos). Eso no se puede mejorar por simples leyes físicas. Pero además muchas veces pasan por diferentes países, tu router y ordenador tienen que procesarlo, etc. Si estos 3 valores son malos, es incómodo, pero en ocasiones, como consecuencia se puede producir la Desincronización que es un punto de cruce de información con retrasos no resoluble y que en sistemas como los EMULADORES ONLINE, es imposible de resolver.

    ¿COMO EVITAR LA DESINCRONIZACION DE EMULADORES ONLINE?
    Algunos puntos se detallan más abajo, aquí de forma general:
    - Distancia: Cuanto más cerca estén los jugadores, mejor. La velocidad de la luz es “lenta”.
    - Cable vs Wifi: Esto es otro factor vital y también es simple física debido a las condiciones del aire (miles de interferencias, no digamos si hay paredes en medio). Siempre cable, básico.
    P2P: Otra de las esenciales, conectarte directamente al otro jugador, sin servidores por medio. En estos sistemas, conectarse a un servidor carece de sentido. Los servidores en este caso “no hacen nada” y además pueden estar lejos, tener ping alto, soportar muchos usuarios más, chats… Y otra cosa vital por lo que hay que usar P2P, ambos jugadores tendréis el mismo ping, lo cual facilita la sincronización. La pega, solo 2 máquinas conectadas. VER ABAJO COMO HACER.
    - Calidad de conexión: No hace falta mencionarlo. Mejor si tenemos fibra óptica y si no, una conexión ADSL buena. Idealmente (aunque esto no creo que nadie lo haga), si desactivas el wifi del router y de tu PC mejor. O del PC y otros dispositivos como móviles, etc. Todos esos Wifis dan trabajo extra a tu router.
    - Mismo software: Por supuesto ambos jugadores debéis jugar en las mismas condiciones. Misma versión exacta de MAME, ROM y Kaillera, mismo nº de KEYFRAMES e incluso de frameskip del juego, no lo pongas Auto (VER ABAJO DETALLE).
    - Carga de trabajo: Hay que cerrar todo lo que se pueda del ordenador. TODO. Navegadores, descargas, procesos… Enviar un mensaje por Skype mientras juegas a un Emulador Online, puede perfectamente desincronizarte.
    - Virus y derivados: Muchos “virus” como los Botnets no estropean nada, pero usan tanto tu procesador como tu ancho de banda para procesar cosas y son difíciles de detectar. Un ordenador limpio es vital para evitar esto.
    - Antivirus y Firewalls: No voy a entrar en detalle, pero si tu antivirus o firewall examinan todos paquetes que te envían durante el juego, esto afectará al rendimiento. Desactivar la protección en tiempo real ayudará ¡Pero cuidado qué y como desactivas cosas y asegúrate que no tienes virus ya corriendo en tu ordenador!
    - No minimices ni pauses el juego: Esto es también letal para la sincronización. Maximizar, minimizar, mover la ventana, abrir una carpeta de Windows, una ventana emergente o un aviso de Windows puede desincronizar la partida.
    - Tamaño de los paquetes: Pondré una analogía. Por defecto, Windows envía cajas grandes de información a su destino. Es decir, cada cosa que envías es una caja, con un albarán, una fecha, orden y muchas más cosas. Cuanto más grandes son las cajas, más rápidas son las descargas en páginas y demás. Para este caso, es justamente al revés, si en una caja estás metiendo los 10 últimos movimientos del jugador, la caja ya está llegando justita de tiempo. Como se retrase un poco, estarás desincronizado porque si te llegan 20 movimientos casi al mismo tiempo, será difícil que el juego los asimile todos en un KeyFrame de juego. Si envías movimiento a movimiento y uno se retrasa el mismo tiempo que en el caso anterior, solo habría que ejecutar 11 y no 20 acciones (VER DETALLE ABAJO).
    Autodisparo: Esto es solo opinión personal ya que depende de la implementación de Kaillera. Si activas autodisparo, el número de movimientos a enviar será innecesariamente alto (si das rápido al botón quizás des a 500 veces por minuto, un autofire podría ir perfectamente a 60.000 veces por minuto).

    Kaillera Mame Arcade Emulador Desincronización Ping Lag Desync Online

    • This topic was modified 2 years, 2 months ago by  D.Garay.
Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.