Professional Documents
Culture Documents
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
4/39
PROBLEMTICA MMO
Adecuacin a la naturaleza del juego Concurrencia Arquitectura de red Protocolo de comunicaciones Orquestacin en la comunicacin
5/39
TIPOS DE JUEGO
Desarrollo rpido
o Shooter o Conduccin
Desarrollo pausado
o Estrategia o RPG o Social
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
o passwd.dat
Usuario1:Clave Usuario2:Clave
8/39
CONCURRENCIA
Sockets bloqueantes y un nico hilo de ejecucin
9/39
CONCURRENCIA
Sockets no bloqueante y un nico hilo de ejecucin
10/39
CONCURRENCIA Implementacin
Sockets bloqueantes y mltiples hilos de ejecucin
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
ARQUITECTURAS DE RED
Clster
o Alto rendimiento, disponibilidad y eficiencia o Deteccin y recuperacin ante errores o Baja eficiencia en aplicacin transaccionales
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
14/39
o Cliente
15/39
o Implementacin
Un nico hilo de ejecucin Socket con cola de 10 clientes
Manual para el diseo de infraestructuras MMO 16/39
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
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
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
20/39
21/39
TRANSMISIN DE DATOS
Orquestacin en el envo de paquetes
o Protocolo de comunicacin o Imposiciones de infraestructura o Frecuencia de envo
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
24/39
TRANSMISIN DE DATOS
Alta en el servidor de conexin
o Cliente
25/39
TRANSMISIN DE DATOS
Funciones del servidor de login
o Conexin y autenticacin del cliente
26/39
TRANSMISIN DE DATOS
Funciones del servidor de login
o Seleccin de personajes
27/39
TRANSMISIN DE DATOS
Funciones del servidor de juego
o Conexin en sentido cliente -> servidor
28/39
TRANSMISIN DE DATOS
Funciones del servidor de juego
o Conexin en sentido servidor -> cliente
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
30/39
TRANSMISIN DE DATOS
Baja en el servidor de conexin
o Servidor de login
o Servidor de juego
31/39
Prueba de concepto
Anti-hroe
o MMO de tipo social o 2D o Microsoft XNA 3.5
32/39
o Real
33/39
34/39
35/39
36/39
CONCLUSIONES
No existe una solucin genrica MMO Seleccin de plataforma de desarrollo Plantilla multidisciplinaria Inters por el desarrollo de videojuegos
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
39/39