Download - manual diseño infraestructura MMO.pdf
Manual para el diseño de infraestructuras MMO
Autor: Miguel Ángel García del MoralTutor: Juan Peralta Donate
Universidad Carlos III de Madrid
Escuela Politécnica Superior
Ingeniería Técnica en Informática de Gestión
ÍNDICE
• Introducción• Objetivos• Problemática MMO• Tipos de juego• Concurrencia• Almacenamiento de datos• Arquitecturas de red• Protocolo de transporte• Transmisión de datos• Prueba de concepto• Gestión del proyecto• Conclusión• Líneas futuras
Manual para el diseño de infraestructuras MMO 2/39
INTRODUCCIÓN
• El mercado del videojuego
• Evolución del videojuego
• Oportunidades de desarrollo amateur
• Componente social multijugador
Manual para el diseño de infraestructuras MMO 3/39
OBJETIVOS
• Estudio de los problemas de un MMO
• Evaluación y selección de la alternativa más adecuada para un juego MMO concreto
• Desarrollo de prueba de concepto
Manual para el diseño de infraestructuras MMO 4/39
PROBLEMÁTICA MMO
• Adecuación a la naturaleza del juego
• Concurrencia
• Arquitectura de red
• Protocolo de comunicaciones
• Orquestación en la comunicación
Manual para el diseño de infraestructuras MMO 5/39
TIPOS DE JUEGO
• Desarrollo rápidoo Shooter
o Conducción
• Desarrollo pausadoo Estrategia
o RPG
o Social
Manual para el diseño de infraestructuras MMO 6/39
ALMACENAMIENTO DE DATOS
• Ficheroso Ventajas: Velocidad L/E en ficheros de pequeño tamaño,
independencia de libreríaso Desventajas: Modificación de campos costosa, complejidad
en la restauración de datos combinados
• Bases de datoso Ventajas: Facilidad en operaciones de modificación,
recuperación de datos combinadoso Desventajas: Dependencia con un SGBD, seguridad de BD,
necesidad de conversión de datos, corrupción del fichero que contiene la BD
Manual para el diseño de infraestructuras MMO 7/39
ALMACENAMIENTO DE DATOS Implementación
• Ficheroso DBJugadores.dat
o passwd.dat
Manual para el diseño de infraestructuras MMO 8/39
Usuario1:NombrePj-Grafico-CoordX-CoordY#NombrePj-Grafico-CoordX-CoordY#Usuario2:NombrePj-Grafico-CoordX-CoordY#NombrePj-Grafico-CoordX-CoordY#…
Usuario1:ClaveUsuario2:Clave…
CONCURRENCIA
• Sockets bloqueantes y un único hilo de ejecución
Manual para el diseño de infraestructuras MMO 9/39
CONCURRENCIA
• Sockets no bloqueante y un único hilo de ejecución
Manual para el diseño de infraestructuras MMO 10/39
CONCURRENCIAImplementación
• Sockets bloqueantes y múltiples hilos de ejecución
Manual para el diseño de infraestructuras MMO 11/39
ARQUITECTURAS DE RED
• Par a par (P2P)o Mejora la eficiencia cuantos más nodos
o Asimetría en ancho de banda de los nodos
o Seguridad en la transmisión de los datos
o Localización de nodos en la red
Manual para el diseño de infraestructuras MMO 12/39
o Napstero Audiogalaxy
o Ares Galaxyo Gnutella
o BitTorrento eDonkey
ARQUITECTURAS DE RED
• Clústero Alto rendimiento, disponibilidad y eficiencia
o Detección y recuperación ante errores
o Baja eficiencia en aplicación transaccionales
Manual para el diseño de infraestructuras MMO 13/39
ARQUITECTURAS DE RED
• Cliente – Servidoro Adecuación al problema mediante número de capas
o Independencia en escalabilidad
o Congestión en el tráfico de datos
o Necesidad de hardware específico
Manual para el diseño de infraestructuras MMO 14/39
2 capas 3 capas
ARQUITECTURAS DE REDImplementación
• Arquitectura Cliente-Servidor 2 capaso Servidores Servidor de conexión
Servidor de login
Servidor de juego
o Cliente
Manual para el diseño de infraestructuras MMO 15/39
ARQUITECTURAS DE REDImplementación
• Servidor de conexióno Tareas Registro de conexión/desconexión de servidores
Descubrimiento de red a clientes
Control de actividad de servidores
o Implementación Un único hilo de ejecución
Socket con cola de 10 clientes
Manual para el diseño de infraestructuras MMO 16/39
ARQUITECTURAS DE REDImplementación
• Servidor de logino Tareas Autenticación de jugadores Gestión de personajes de jugadores Sincronización de datos de jugadores con el servidor de
juego
o Implementación Hilo de ejecución común de atención a servidores, socket
con cola de 10 clientes Hilo de ejecución bajo demanda dedicado a cliente
Manual para el diseño de infraestructuras MMO 17/39
ARQUITECTURAS DE REDImplementación
• Servidor de juegoo Tareas Punto de comunicación entre jugadores
Comprobación de paquetes de datos transmitidos
o Implementación Hilo de ejecución común de atención a servidores,
socket con cola de 10 clientes
Hilo de ejecución bajo demanda dedicado al cliente
Manual para el diseño de infraestructuras MMO 18/39
ARQUITECTURAS DE REDImplementación
• Clienteo Tareas Envío y recepción del estado del juego
Representación gráfica de los datos recibidos
Cálculo de lógica del juego
o Implementación Tres hilos de ejecución: Envío de datos a servidores,
recepción de datos de servidor de juego, cálculo de lógica
Dos sockets para comunicación
Manual para el diseño de infraestructuras MMO 19/39
PROTOCOLO DE TRANSPORTE
• TCPo Servicio confiable de entrega de datoso Control de flujoo Orden en la transmisióno Incrementa la transmisión de datos
• UDPo Envío de datos rápido y sencilloo Pérdida de paqueteso Reordenación en la recepción de paquetes grandes
• Híbrido TCP/UDPo Pérdida de eficiencia
Manual para el diseño de infraestructuras MMO 20/39
PROTOCOLO DE TRANSPORTEImplementación
• Protocolo TCPoMinimizar el envío de paquetes cliente
o Reducción de envío de paquetes servidor
o Latencia y ajuste de coordenadas
Manual para el diseño de infraestructuras MMO 21/39
TRANSMISIÓN DE DATOS
• Orquestación en el envío de paqueteso Protocolo de comunicación
o Imposiciones de infraestructura
o Frecuencia de envío
• Seguridad en la información comunicadao Integridad de los datos transmitidos
o Cifrado de datos
Manual para el diseño de infraestructuras MMO 22/39
• Paquetes de datoso Estructura
o Tipos de elementos Cadena de caracteres: codificación ASCII Enteros: codificados a razón 1B=2n + bit de signo
TRANSMISIÓN DE DATOS
Tamaño mapa Mapa Elemento 1 Elemento 2 . . .
Elemento = Tamaño elemento
Contenido elemento
Manual para el diseño de infraestructuras MMO 23/39
TRANSMISIÓN DE DATOS
• Alta en el servidor de conexióno Servidor de login
o Servidor de juego
Manual para el diseño de infraestructuras MMO 24/39
TRANSMISIÓN DE DATOS
• Alta en el servidor de conexióno Cliente
Manual para el diseño de infraestructuras MMO 25/39
TRANSMISIÓN DE DATOS
• Funciones del servidor de logino Conexión y autenticación del cliente
Manual para el diseño de infraestructuras MMO 26/39
TRANSMISIÓN DE DATOS
• Funciones del servidor de logino Selección de personajes
Manual para el diseño de infraestructuras MMO 27/39
TRANSMISIÓN DE DATOS
• Funciones del servidor de juegoo Conexión en sentido cliente -> servidor
Manual para el diseño de infraestructuras MMO 28/39
TRANSMISIÓN DE DATOS
• Funciones del servidor de juegoo Conexión en sentido servidor -> cliente
Manual para el diseño de infraestructuras MMO 29/39
TRANSMISIÓN DE DATOS
• Funciones del servidor de juegoo Diálogo entre cliente y servidor
Manual para el diseño de infraestructuras MMO 30/39
1 ID_SPJ, MOVIMIENTO, X, Y
SPJ
Cliente
1
1… …
TRANSMISIÓN DE DATOS
• Baja en el servidor de conexióno Servidor de login
o Servidor de juego
Manual para el diseño de infraestructuras MMO 31/39
Prueba de concepto
• Anti-héroeoMMO de tipo social
o 2D
oMicrosoft XNA 3.5
Manual para el diseño de infraestructuras MMO 32/39
GESTIÓN DEL PROYECTO
• Diagrama Gantto Estimado
o Real
Manual para el diseño de infraestructuras MMO 33/39
GESTIÓN DEL PROYECTO
• Presupuesto
Manual para el diseño de infraestructuras MMO 34/39
GESTIÓN DEL PROYECTO
• Presupuesto
Manual para el diseño de infraestructuras MMO 35/39
GESTIÓN DEL PROYECTO
• Comercialización de un desarrollo MMOo Cuota mensual
oMicro-transacciones
o DLC
o Publicidad
Manual para el diseño de infraestructuras MMO 36/39
CONCLUSIONES
• No existe una solución genérica MMO
• Selección de plataforma de desarrollo
• Plantilla multidisciplinaria
• Interés por el desarrollo de videojuegos
Manual para el diseño de infraestructuras MMO 37/39
LÍNEAS FUTURAS
• Bases de datos• Diseño de contenido• Composición de sonido• Optimización de recursos• Ajuste de coordenadas por latencia• Reforzar la jugabilidad
o Sistema de lista de amigoso Interacción entre usuarios
Manual para el diseño de infraestructuras MMO 38/39
PREGUNTAS
Manual para el diseño de infraestructuras MMO 39/39