manual diseño infraestructura MMO.pdf

Post on 28-Nov-2015

18 views 4 download

Transcript of 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