Sie sind auf Seite 1von 39

Universidad Carlos III de Madrid Escuela Politcnica Superior Ingeniera Tcnica en Informtica de Gestin

Manual para el diseo de infraestructuras MMO

Autor: Miguel ngel Garca del Moral Tutor: Juan Peralta Donate

NDICE
Introduccin Objetivos Problemtica MMO Tipos de juego Concurrencia Almacenamiento de datos Arquitecturas de red Protocolo de transporte Transmisin de datos Prueba de concepto Gestin del proyecto Conclusin Lneas futuras
Manual para el diseo de infraestructuras MMO 2/39

INTRODUCCIN
El mercado del videojuego Evolucin del videojuego Oportunidades de desarrollo amateur Componente social multijugador
Manual para el diseo de infraestructuras MMO 3/39

OBJETIVOS
Estudio de los problemas de un MMO Evaluacin y seleccin de la alternativa ms adecuada para un juego MMO concreto Desarrollo de prueba de concepto

Manual para el diseo de infraestructuras MMO

4/39

PROBLEMTICA MMO
Adecuacin a la naturaleza del juego Concurrencia Arquitectura de red Protocolo de comunicaciones Orquestacin en la comunicacin

Manual para el diseo de infraestructuras MMO

5/39

TIPOS DE JUEGO
Desarrollo rpido
o Shooter o Conduccin

Desarrollo pausado
o Estrategia o RPG o Social

Manual para el diseo de infraestructuras MMO

6/39

ALMACENAMIENTO DE DATOS
Ficheros
o Ventajas: Velocidad L/E en ficheros de pequeo tamao, independencia de libreras o Desventajas: Modificacin de campos costosa, complejidad en la restauracin de datos combinados

Bases de datos
o Ventajas: Facilidad en operaciones de modificacin, recuperacin de datos combinados o Desventajas: Dependencia con un SGBD, seguridad de BD, necesidad de conversin de datos, corrupcin del fichero que contiene la BD
Manual para el diseo de infraestructuras MMO 7/39

ALMACENAMIENTO DE DATOS Implementacin


Ficheros
o DBJugadores.dat
Usuario1:NombrePj-Grafico-CoordX-CoordY#NombrePj-Grafico-CoordX-CoordY# Usuario2:NombrePj-Grafico-CoordX-CoordY#NombrePj-Grafico-CoordX-CoordY#

o passwd.dat
Usuario1:Clave Usuario2:Clave

Manual para el diseo de infraestructuras MMO

8/39

CONCURRENCIA
Sockets bloqueantes y un nico hilo de ejecucin

Manual para el diseo de infraestructuras MMO

9/39

CONCURRENCIA
Sockets no bloqueante y un nico hilo de ejecucin

Manual para el diseo de infraestructuras MMO

10/39

CONCURRENCIA Implementacin
Sockets bloqueantes y mltiples hilos de ejecucin

Manual para el diseo de infraestructuras MMO

11/39

ARQUITECTURAS DE RED
Par a par (P2P)
o o o o Mejora la eficiencia cuantos ms nodos Asimetra en ancho de banda de los nodos Seguridad en la transmisin de los datos Localizacin de nodos en la red

o Napster o Audiogalaxy

o BitTorrent o eDonkey

o Ares Galaxy o Gnutella


12/39

Manual para el diseo de infraestructuras MMO

ARQUITECTURAS DE RED
Clster
o Alto rendimiento, disponibilidad y eficiencia o Deteccin y recuperacin ante errores o Baja eficiencia en aplicacin transaccionales

Manual para el diseo de infraestructuras MMO

13/39

ARQUITECTURAS DE RED
Cliente Servidor
o o o o Adecuacin al problema mediante nmero de capas Independencia en escalabilidad Congestin en el trfico de datos Necesidad de hardware especfico 2 capas 3 capas

Manual para el diseo de infraestructuras MMO

14/39

ARQUITECTURAS DE RED Implementacin


Arquitectura Cliente-Servidor 2 capas
o Servidores
Servidor de conexin Servidor de login Servidor de juego

o Cliente

Manual para el diseo de infraestructuras MMO

15/39

ARQUITECTURAS DE RED Implementacin


Servidor de conexin
o Tareas
Registro de conexin/desconexin de servidores Descubrimiento de red a clientes Control de actividad de servidores

o Implementacin
Un nico hilo de ejecucin Socket con cola de 10 clientes
Manual para el diseo de infraestructuras MMO 16/39

ARQUITECTURAS DE RED Implementacin


Servidor de login
o Tareas
Autenticacin de jugadores Gestin de personajes de jugadores Sincronizacin de datos de jugadores con el servidor de juego

o Implementacin
Hilo de ejecucin comn de atencin a servidores, socket con cola de 10 clientes Hilo de ejecucin bajo demanda dedicado a cliente
Manual para el diseo de infraestructuras MMO 17/39

ARQUITECTURAS DE RED Implementacin


Servidor de juego
o Tareas
Punto de comunicacin entre jugadores Comprobacin de paquetes de datos transmitidos

o Implementacin
Hilo de ejecucin comn de atencin a servidores, socket con cola de 10 clientes Hilo de ejecucin bajo demanda dedicado al cliente
Manual para el diseo de infraestructuras MMO 18/39

ARQUITECTURAS DE RED Implementacin


Cliente
o Tareas
Envo y recepcin del estado del juego Representacin grfica de los datos recibidos Clculo de lgica del juego

o Implementacin
Tres hilos de ejecucin: Envo de datos a servidores, recepcin de datos de servidor de juego, clculo de lgica Dos sockets para comunicacin
Manual para el diseo de infraestructuras MMO 19/39

PROTOCOLO DE TRANSPORTE
TCP
o o o o Servicio confiable de entrega de datos Control de flujo Orden en la transmisin Incrementa la transmisin de datos

UDP
o Envo de datos rpido y sencillo o Prdida de paquetes o Reordenacin en la recepcin de paquetes grandes

Hbrido TCP/UDP
o Prdida de eficiencia

Manual para el diseo de infraestructuras MMO

20/39

PROTOCOLO DE TRANSPORTE Implementacin


Protocolo TCP
o Minimizar el envo de paquetes cliente o Reduccin de envo de paquetes servidor o Latencia y ajuste de coordenadas

Manual para el diseo de infraestructuras MMO

21/39

TRANSMISIN DE DATOS
Orquestacin en el envo de paquetes
o Protocolo de comunicacin o Imposiciones de infraestructura o Frecuencia de envo

Seguridad en la informacin comunicada


o Integridad de los datos transmitidos o Cifrado de datos
Manual para el diseo de infraestructuras MMO 22/39

TRANSMISIN DE DATOS
Paquetes de datos
o Estructura
Tamao mapa = Mapa Elemento 1 Tamao elemento Elemento 2 ...

Elemento

Contenido elemento

o Tipos de elementos
Cadena de caracteres: codificacin ASCII Enteros: codificados a razn 1B=2n + bit de signo
Manual para el diseo de infraestructuras MMO 23/39

TRANSMISIN DE DATOS
Alta en el servidor de conexin
o Servidor de login

o Servidor de juego

Manual para el diseo de infraestructuras MMO

24/39

TRANSMISIN DE DATOS
Alta en el servidor de conexin
o Cliente

Manual para el diseo de infraestructuras MMO

25/39

TRANSMISIN DE DATOS
Funciones del servidor de login
o Conexin y autenticacin del cliente

Manual para el diseo de infraestructuras MMO

26/39

TRANSMISIN DE DATOS
Funciones del servidor de login
o Seleccin de personajes

Manual para el diseo de infraestructuras MMO

27/39

TRANSMISIN DE DATOS
Funciones del servidor de juego
o Conexin en sentido cliente -> servidor

Manual para el diseo de infraestructuras MMO

28/39

TRANSMISIN DE DATOS
Funciones del servidor de juego
o Conexin en sentido servidor -> cliente

Manual para el diseo de infraestructuras MMO

29/39

TRANSMISIN DE DATOS
Funciones del servidor de juego
o Dilogo entre cliente y servidor

Cliente
1 1

SPJ
1

ID_SPJ, MOVIMIENTO, X, Y

Manual para el diseo de infraestructuras MMO

30/39

TRANSMISIN DE DATOS
Baja en el servidor de conexin
o Servidor de login

o Servidor de juego

Manual para el diseo de infraestructuras MMO

31/39

Prueba de concepto
Anti-hroe
o MMO de tipo social o 2D o Microsoft XNA 3.5

Manual para el diseo de infraestructuras MMO

32/39

GESTIN DEL PROYECTO


Diagrama Gantt
o Estimado

o Real

Manual para el diseo de infraestructuras MMO

33/39

GESTIN DEL PROYECTO


Presupuesto

Manual para el diseo de infraestructuras MMO

34/39

GESTIN DEL PROYECTO


Presupuesto

Manual para el diseo de infraestructuras MMO

35/39

GESTIN DEL PROYECTO


Comercializacin de un desarrollo MMO
o Cuota mensual o Micro-transacciones o DLC o Publicidad

Manual para el diseo de infraestructuras MMO

36/39

CONCLUSIONES
No existe una solucin genrica MMO Seleccin de plataforma de desarrollo Plantilla multidisciplinaria Inters por el desarrollo de videojuegos

Manual para el diseo de infraestructuras MMO

37/39

LNEAS FUTURAS
Bases de datos Diseo de contenido Composicin de sonido Optimizacin de recursos Ajuste de coordenadas por latencia Reforzar la jugabilidad
o Sistema de lista de amigos o Interaccin entre usuarios
Manual para el diseo de infraestructuras MMO 38/39

PREGUNTAS

Manual para el diseo de infraestructuras MMO

39/39