Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso...

52
Descubriendo la Descubriendo la sincronización detrás de sincronización detrás de los juegos multiplayer los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires

Transcript of Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso...

Page 1: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

Descubriendo la sincronización Descubriendo la sincronización detrás de los juegos multiplayerdetrás de los juegos multiplayer

Lucas Guaycochea – Javier Luiso10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires

Page 2: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Índice

• Introducción• Un sistema distribuido• La Sincronización• Solución desarrollada• Usos de la plataforma

Page 3: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Índice

• Introducción• Un sistema distribuido• La Sincronización• Solución desarrollada• Usos de la plataforma

Page 4: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Introducción Juegos Multiplayer (I)

Un juego multijugador o multiplayer es aquel donde al menos dos participantes desarrollan el juego en el mismo mundo virtual y existe

interacción entre ellos.

Page 5: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

IntroducciónJuegos Multiplayer (II)

Los jugadores pueden:

• Jugar en un mismo dispositivo (PC, consola).

• Jugar en distintos dispositivos:• dentro de una misma red local.• conectados a Internet.

Page 6: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

IntroducciónEl Desafío

• El principal desafío es que en cada dispositivo, donde se lleva a cabo el juego, se perciba la misma realidad virtual.• Los resultados de las acciones de cada jugador deben

percibirse de la misma manera por todos.• Las acciones deben comunicarse entre los participantes

del juego.• No debe degradarse la interacción de cada jugador en su

dispositivo, manteniendo la fluidez del juego.

Page 7: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Introducción Sistema Distribuido

• Un juego multiplayer tiene las características de un sistema distribuido.• “Un conjunto de computadoras independientes que se

presentan a sus usuarios como un sistema único y coherente” [1]

• En este caso, el juego, el mundo virtual, es el que se presenta como único a cada participante en cada dispositivo.

Page 8: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Índice

• Introducción

• Un sistema distribuido• La Sincronización• Solución desarrollada• Usos de la plataforma

Page 9: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuido Características

• Dispositivos interconectados en una red.• La comunicación se realiza mediante el envío de

mensajes.• Las latencias de la comunicación no deben degradar

notoriamente la performance respecto de un sistema centralizado.

• Existen distintos modelos de comunicación o arquitecturas.

Page 10: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoArquitecturas

• Los distintos tipos son:– Cliente/Servidor

– Peer-to-peer

– Híbridas

Page 11: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuido Cliente/Servidor

Esquema Arquitectura Cliente - Servidor

Page 12: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoCliente/Servidor

• Características• Nodos clientes que requieren servicios de un nodo

servidor. [1]• El servidor concentra el principal procesamiento

del sistema.• Las interacciones son sólo entre cada cliente con

el servidor.

Page 13: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoCliente/Servidor

• Características en los juegos…• Nodos clientes que requieren servicios de un nodo servidor. [1]

• Clientes envían acciones de los jugadores y consumen información para evolucionar el mundo virtual.

• El servidor concentra el principal procesamiento del sistema.

• El servidor mantiene y evoluciona el estado del juego.• Procesa las acciones de los clientes y difunde el nuevo

estado.• Las interacciones son sólo entre cada cliente con el servidor.

• Cada jugador se entera de las acciones de los demás ( o sus resultados) a través del servidor.

Page 14: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoPeer-to-peer

Esquema Arquitectura Peer-to-peer

Page 15: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoPeer-to-peer

• Características• Los nodos son todos iguales, no se diferencian

entre ellos.• El procesamiento es compartido entre todos los

nodos.• Todos los nodos se conectan entre ellos.

Page 16: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoPeer-to-peer

• Características en los juegos …• Los nodos son todos iguales, no se diferencian entre ellos.

• Cada nodo mantiene una réplica del estado del juego.• El procesamiento es compartido entre todos los nodos.

• No existe un punto central de procesamiento.• Cada nodo procesa todas las acciones y evoluciona su copia

del juego.• Todos los nodos se conectan entre ellos.

• Cada nodo comunica a todos los demás las acciones realizadas por el jugador local.

Page 17: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoArq. Híbrida

Esquema Arquitectura Híbrida

Page 18: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoArq. Híbrida

• Características• Nodos clientes conectados a un nodo servidor.• Nodos servidores interconectados entre ellos.• El procesamiento principal se concentra en el

grupo de servidores.

Page 19: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoArq. Híbrida

• Características en los juegos …• Nodos clientes conectados a un nodo servidor.

• Clientes envían acciones de los jugadores y consumen información para evolucionar el mundo virtual.

• Nodos servidores interconectados entre ellos.

• Los servidores se comunican entre ellos las acciones de los jugadores que tienen conectados.

• El procesamiento principal se concentra en el grupo de servidores.

• Cada servidor procesa las acciones y evoluciona el estado del juego.

Page 20: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoAnálisis de los modelos

• Los modelos vistos pueden analizarse según:• Su escalabilidad• Latencia de las acciones• Su robustez• El manejo de la consistencia• Su seguridad ante trampas (cheating)• Motivos comerciales

Page 21: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoEscalabilidad

• En C/S, el servidor puede saturarse, se convierte en cuello de botella.

• En el modelo híbrido, la carga puede distribuirse entre los servidores.

• En P2P, cada nodo puede saturarse en presencia de muchos peers.

Page 22: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoLatencias

• El modelo C/S presenta mayores latencias.

• En P2P, la comunicación de acciones es directa.

Page 23: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoRobustez

• El servidor presenta un único punto de falla.• En P2P, la caída de un nodo no afecta al resto.• En arquitecturas híbridas, ante la caída de un

servidor otro toma su lugar.

Page 24: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoConsistencia

• En C/S, es sencillo, fácil de implementar.

• En P2P, se requieren mecanismos especiales de sincronización.

Page 25: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoSeguridad

• En C/S, es sencillo controlar y detectar a los cheaters.

• En P2P, es más difícil detectar y evitar a los cheaters. Existen mecanismos más complejos para hacerlo.

Page 26: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoMotivos Comerciales

• C/S permite:– Dar control a la empresa productora.– Autenticar usuarios legales– Actualizar las copias clientes– Cobrar por uso de los servidores

• P2P, permite jugar sin la intervención de la empresa productora.

Page 27: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Un sistema distribuidoConsecuencias

• Múltiples participantes dentro de un mismo mundo virtual.• Acciones que afectan al mundo, originadas en múltiples nodos.• El orden en que se ejecuten dichas acciones determina hacia donde evoluciona el juego.

La necesidad de establecer un orden único para ejecutar las acciones requiere incorporar un mecanismo que permita sincronizar los distintos dispositivos participantes.

Page 28: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Índice

• Introducción• Un sistema distribuido

• La Sincronización• Solución desarrollada• Usos de la plataforma

Page 29: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

La Sincronización

La sincronización es la base de los juegos multiplayer.

Hace posible que los participantes jueguen “juntos” dentro de un mismo mundo virtual y que este sea percibido de manera consistente

por todos.

Page 30: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

La Sincronización

Page 31: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

La SincronizaciónLas acciones de cada jugador generan eventos que tendrán

su incidencia en el mundo virtual. • Para una evolución consistente los resultados de las

acciones deben ser vistos en el mismo orden por todos los participantes.

Sincronizar se trata de decidir cuando es consistente ejecutar un evento.

Page 32: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

La Sincronización

Tipos de soluciones• Conservativa• Previenen la inconsistencia verificando que los eventos

se ejecuten sólo cuando sea seguro hacerlo.• Optimista• Ejecutan los eventos al disponer de ellos. Cuando se

detecta una inconsistencia se intenta corregirla deshaciendo las últimas operaciones realizadas.

Page 33: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

La Sincronización

Soluciones conservativasLockstep Synchronization: El servidor ejecuta una acción en un instante de tiempo luego de recibir los comandos de todos los participantes. [2]

Bucket Synchronization: El servidor espera un cierto tiempo antes de actualizar el estado del mundo virtual. Muchos RTS utilizan este mecanismo, esperando al participante “mas lento”.

Page 34: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

La Sincronización

Soluciones optimistas

Time Warp Synchronization (TWS): En cada ciclo se guarda una captura del estado del juego, para poder restaurarlo si llega a ser necesario. SI esto sucede, se generan “anti-mensajes” para deshacer las acciones que se tornaron inválidas.

Trailing State Synchronization (TSS): Se mantienen dos copias del estado del juego, tomadas en diferentes momentos. “Volver para atrar” es tomar la copia más antigua y volver a ejecutar todas las acciones nuevamente.

Page 35: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Índice

• Introducción• Un sistema distribuido• La Sincronización

• Solución desarrollada• Usos de la plataforma

Page 36: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Solución Desarrollada Punto de partida

• Tenemos un motor gráfico para el desarrollo de simuladores• El motor gráfico permite:

– Modelar mundos virtuales.– Crear un escenario tridimensional.– Instalar objetos gráficos.– Dar comportamiento a los objetos gráficos.– Visualizar el escenario a través de una o más cámaras en diferentes

ventanas.– Evolucionar los comportamientos en el tiempo.– Realizar consultas y obtener reportes de eventos del mundo virtual.

Page 37: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Solución DesarrolladaMetas Fijadas

• Desarrollar simuladores distribuidos.

• Aprovechar el motor gráfico.

• Abstraer al desarrollador de la distribución respecto a la actividad sobre el motor gráfico.

Page 38: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Solución Desarrollada Ideas

• No introducir cambios en el motor gráfico.• Encapsular el motor gráfico dentro de una

plataforma.• Desarrollar una capa encargada de la

distribución sobre el motor gráfico.• Proveer a la aplicación usuaria la misma

interfaz que provee el motor gráfico.

Page 39: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Solución Desarrollada Diseño general

Page 40: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

• Arquitectura distribuida

• Organización lógica de los participantes

• Mecanismo de sincronización

Solución DesarrolladaDecisiones de diseño

Page 41: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Solución Desarrollada Arquitectura Distribuida

• Adoptamos una arquitectura P2P:– Evitamos la necesidad de realizar sistemas que

precisen un servidor especial para los aspectos gráficos. (Escalabilidad y Robustez)

– Los simuladores estarán en una red local. (Seguridad)

– El tiempo de respuesta es fundamental (Baja Latencia)

Page 42: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Solución Desarrollada Organización lógica

• Usamos contextos de ejecución.– Representan la simulación de un mundo virtual

particular.– Se establecen subgrupos de peers.– Son independientes entre sí.– Un nodo puede participar en dos o más

simultáneamente.

Page 43: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Solución Desarrollada Sincronización (I)

• Resolvemos la sincronización para garantizar la consistencia en cada nodo.

• Sincronizamos SÓLO las acciones que afectan al modelado del mundo virtual.

• Visualización, reportes y consultas se resuelven localmente en cada nodo.

• Utilizamos un mecanismo conservador.• Para asegurar un orden temporal de las acciones, nos

basamos en un algoritmo propuesto por Chandy y Misra [3].

Page 44: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Solución DesarrolladaSincronización (II)

• El mecanismo de sincronización consta de 4 tareas o procesos:

1. Detecta las acciones locales, les incluye una marca de tiempo, y las difunde a los demás participantes.

2. Recibe las acciones de los demás participantes.3. Ordena temporalmente las acciones locales y

remotas.4. Ejecuta las acciones de manera ordenada.

Page 45: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Solución Desarrollada

Page 46: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Solución Desarrollada Sincronización (III)

• Consideraciones importantes:– Cuando hay inactividad de un jugador, la primer

tarea también debe enviar “acciones nulas”. – En cada nodo se implementó un reloj que marca el

paso del tiempo de manera discreta.– Periódicamente los relojes se sincronizan con uno

que es elegido como referencia o líder.– Localmente, la evolución del modelo en intervalos

de tiempo también se ordena entre las demás acciones.

Page 47: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Índice

• Introducción• Un sistema distribuido• La Sincronización• Solución desarrollada

• Usos de la plataforma

Page 48: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Usos de la plataforma• Simulador para entrenamiento de tripulaciones de

tanques de guerra argentinos.• Ejercicios de uno o más vehículos.• Ejercicios dirigidos por un instructor externo.• Un instructor puede dirigir varios ejercicios

simultáneamente.• Simulador de vuelo en varias pantallas.

• La visión del piloto se muestra utilizando 2 o más proyectores.

• Demo: Pac–Tank ©

Page 49: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Usos de la plataforma

Page 50: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Referencias

[1]. Tanenbaum, A., V. Steen, M.: Distributed Systems, Principles and Paradigms. Prentice Hall, Lugar (2002)

[2]. Cronin, E., Filstrup, B., Jamin, S.: Cheat-Proofing Dead Reckoned Multiplayer Games. In Proc. ADCOG 2003, January 2003

[3]. Chandy K.M., Misra J.: Distributed Simulation: A Case Study in Design and Verfication of Distributed Programs. IEEE Transactions on Software Engineering, Vol. SE-5, No. 5, September 1979.

[]. Luiso, J. , Guaycochea, L., Abbate, H.: Simuladores de entrenamiento distribuidos: Plataforma de desarrollo para ocultar los aspectos de la distribución. In Proc. WAVI 2010.

Page 51: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

¿ Preguntas ?

Page 52: Descubriendo la sincronización detrás de los juegos multiplayer Lucas Guaycochea – Javier Luiso 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.

10 y 11 de Diciembre – Hotel Panamericano – Buenos Aires

Muchas Gracias por su atención !

Lucas GuaycocheaJavier Luiso