Sincronización de eventos en juegos multi-usuario distribuidos
Professor Advisor
dc.contributor.advisor
Piquer Gardner, José
es_CL
Author
dc.contributor.author
Lema Salas, Felipe Xavier
es_CL
Staff editor
dc.contributor.editor
Facultad de Ciencias Físicas y Matemáticas
es_CL
Staff editor
dc.contributor.editor
Departamento de Ciencias de la Computación
es_CL
Associate professor
dc.contributor.other
Baloian Tataryan, Nelson
Associate professor
dc.contributor.other
Farías Riquelme, Andrés
Admission date
dc.date.accessioned
2012-09-12T18:17:48Z
Available date
dc.date.available
2012-09-12T18:17:48Z
Publication date
dc.date.issued
2009
es_CL
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/103602
Abstract
dc.description.abstract
Este trabajo consiste en el desarrollo de una biblioteca que permita jugar en lína con
emuladores para la plataforma Windows. Se analiza y contrasta la emulación de juegos que
no poseen una vía para jugarlos en línea con la sincronización y consistencia en sistemas
distribuidos.
Por un lado, el distribuir la emulación de un hardware requiere una consistencia fuerte,
sacrificando tiempo de reacción. Mientras que en los juegos en línea, se desea un tiempo
mínimo entre entrada y reacción. Análisis para ambos casos son presentados, los que
debieron ser aplicados de forma equilibrada. Para ello se define un enfoque y un aborde de
sincronización controlando la entrada a la máquina emulada.
Se presenta una solución inicial rápida para ver los problemas específicos a este
particular caso. Lo primero fue la conciencia de que el estado de una máquina debe ser
mantenido por el tiempo de ejecución del emulador, sino que por el tiempo virtual de la
máquina emulada.
Ya con esto establecido, vino un ajuste del retardo para mejorar la interactividad
con el usuario y un protocolo que se ajustara al comportamiento reacio del emulador al
intentar ajustar la velocidad de emulación. Se vio que una pausa por un tiempo fijo sería
compensado por la emulación.
Después de esto, frente a una buena consistencia entre los nodos se mejoró
nuevamente la interactividad permitiendo que la entrada del jugador pudiese tener
reintentos de ser inyectada. Esto entrega una solución satisfactorioa para usuarios
jugadores.
Finalmente se discuten posibles problemas no abarcados, maneras de solucionarlos y
detalles de la implementación resultante.