Post on 24-Jul-2015
Servidor Genérico de juegos MMORPG
Escuela Técnica Superior de Ingeniería Informática Universidad de Málaga
Realizado por Julia Sánchez Simón Dirigido por Antonio Nebro Urbaneja
Índice
๏Introducción ๏Diseño ๏Implementación ๏Pruebas ๏Conclusiones
2/40
Introducción
๏Introducción ๏ Objetivo
๏ Motivación
๏ Diseño
๏ Implementación
๏ Pruebas
๏ Conclusiones
Índice
3/40
Índice
๏Introducción ๏ Objetivos
๏ Motivación
๏Implementación ๏Conclusiones
Introducción
4/40
Objetivo: Servidor de juegos MMORPG
Introducción
Massive Multiplayer Role Playing Game
Massive Multiplayer Role Playing Game
5/40
Objetivo: Servidor de juegos MMORPG
Introducción
Massive Multiplayer Role Playing Game
6/40
Objetivo: Servidor de juegos MMORPG
Introducción
Massive Multiplayer Role Playing Game
7/40
Objetivo: Servidor de juegos MMORPG
Introducción
Massive Multiplayer Role Playing Game
8/40
Objetivo: Servidor genérico
Introducción
Texto
API
9/40
Objetivo: Servidor genérico
Introducción
API
10/40
Índice
๏Introducción ๏ Objetivo
๏ Motivación
๏Implementación ๏Conclusiones
Introducción
11/40
Motivación
Introducción
12/40
Índice
๏Introducción ๏Diseño ๏Implementación ๏Pruebas ๏Conclusiones
Implementación
13/40
๏ Introducción ๏ Diseño de la API ๏ Implementación ๏ Pruebas ๏ Conclusiones
Implementación
Índice
14/40
API: Application Programming Interface
Implementación
“Es el conjunto de métodos o funciones que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción”
Wikipedia
15/40
API: Características
Implementación
16/40
API: ¿Qué necesitan hacer los jugadores?
Implementación
17/40
API: ¿Qué necesitan hacer los jugadores?
Implementación
18/40
API: Qué necesitan hacer los jugadores?
Implementación
19/40
API: Ocurren muchas cosas
Implementación
20/40
API: En muchos sitios
Implementación
21/40
API: La información relevante es relativa
Implementación
22/40
REST: Representational State Transfer
Implementación
๏ No guarda estado
๏ Utiliza los métodos HTTP (GET, POST, PUT, DELETE)
๏ transfiere XML, JSON, o ambos
23/40
REST: Representational State Transfer
Implementación
GET server/list GET :servername/character/creationinfo POST :servername/character/new GET :servername/character/list POST :servername/character/active POST :servername/character/delete GET :servername/character/inventory POST :servername/character/inventory/item GET :servername/area GET :servername/area/surroundings POST :servername/area/status GET :servername/resource GET :servername/entity POST :servername/entity/interaction GET :servername/combat POST :servername/combat
24/40
Implementación
Índice
๏Introducción ๏Diseño ๏Implementación ๏Pruebas ๏Conclusiones
25/40
Programación orientada a eventos
Implementación
26/40
Programación orientada a eventos
Implementación
27/40
Programación orientada a eventos
Implementación
28/40
Programación orientada a eventos
Implementación
29/40
Implementación
Índice
๏Introducción ๏Diseño ๏Implementación ๏Pruebas ๏Conclusiones
30/40
Pruebas
Implementación
31/40
Pruebas de carga: CPU
Implementación
32/40
Pruebas de carga: Instancias
Implementación
33/40
Pruebas de carga: Memoria
Implementación
34/40
Pruebas de carga: Carga
Implementación
319%
498%
446% 35/40
Índice
๏Introducción ๏Diseño ๏Implementación ๏Pruebas ๏Conclusiones
Conclusiones
36/40
Proyecto Personales
Conclusiones
๏ Proyecto muy grande
๏ Infinitamente extensible
๏ AppEngine es un poco rígido
๏ AppEngine permite prototipado muy rápido
๏ Poca documentación al respecto
๏ <3 Python
37/40
๏ Pruebas con un número alto de clientes ๏ Ampliación de la capa de Memcached ๏ Implementar evolución de los personajes ๏ Implementar sistema de habilidades de combate ๏ Mejora de la IA de los monstruos ๏ Sistema de comercio
Trabajo futuro
Conclusiones
38/40
¿Preguntas?
¡Gracias!