Arquitecturas MMOG

  • 800 views
Uploaded on

Una ligera introducción a las arquitecturas software para MMOG más comunes. …

Una ligera introducción a las arquitecturas software para MMOG más comunes.

Aunque le faltan algunos retoques (la actualizaré en breve) creo que está presentable

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
800
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
7
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Virtual reallity software architecture Massive Multiplayer Online Games Miguel Ángel Pastor Olivar http://miguelinlas3.blogspot.com http://twitter.com/miguelinlas3
  • 2. Categorías de juegos
    • Single Games: jugadores individuales
    • 3. Online Games: múltiples jugadores
    • 4. Massive Multiplayer Online Games (MMOG)
      • Role
      • 5. First person shooter
      • 6. Real time strategy
      • 7. Sports, racing
      • 8. Social game
  • 9. MMOG:Reparto del mercado
  • 10. MMGO:Suscripciones activas
  • 11. MMGO: Total suscripciones
  • 12. MMOG Características principales
  • 13. Características
    • Mundo virtual personalizable
    • 14. Acciones repercuten en el mundo de otros jugadores
    • 15. Mundo virtual y personajes persistentes a lo largo del tiempo
    • 16. Gran número de usuarios concurrentes
    • 17. Necesidad de autenticación para jugar
  • 18. Características
    • Comunicaciones seguras: evitar cheating
    • 19. Velocidad de juego
    • 20. Rendimiento
    • 21. Fácil escalabilidad
    • 22. Distribución múltiples procesadores
  • 23. Arquitectura Cliente - Servidor
  • 24. Enfoque tradicional
    • Servidor central y varios clientes
    • 25. Arquitectura multicapa
    Encrypt Server Message Tier Message Tier Client Encrypt Network Network
  • 26. Capa de aplicación
    • Patrón publisher-suscriber
    Cliente 1 Cliente 2 Cliente N Cliente 3 Suscribe Suscribe Suscribe Modificar VW Interested Server
  • 27. Arquitectura servidor En/Decrypt WorldDB World Governor Groups AI Controller Authentication Governor UserDB Network Component World Component User Component Messenger Network
  • 28. Escalabilidad: multiservidor
    • Cientos de miles jugadores simutáneos
  • 29. Ventajas
    • Control centralizado
    • 30. Nivel alto de seguridad de información
    • 31. Estructura relativamente simple
    • 32. Facilidad de diseño de juegos
    • 33. Modo sencillo de escalabilidad
  • 34. Desventajas
    • Alto coste de instalación
    • 35. Mantenimiento costoso
    • 36. Grandes necesidades de ancho de banda
    • 37. Escasa flexibilidad
    • 38. Desaprovechamiento de recursos caros
  • 39. Arquitectura Distribuida Peer to Peer
  • 40. Requisitos:Distribución
    • Arquitectura completamente distribuida
    • 41. Particionado del mundo virtual
    • 42. Gestión de datos
    • 43. Algoritmos de coordinación
  • 44. Requisitos:Consistencia
    • Mundo virtual consistente entre jugadores
    • 45. Esencial: alteraciones del mundo virtual
    • 46. Importante el orden de eventos
  • 47. Requisitos:Auto-organización
    • 24 x 7 x 365
    • 48. Sin embargo, los usuarios se desconectan
    • 49. Necesidad de reorganizar pérdidas
    • 50. Adaptación autónoma por parte del juego
  • 51. Requisitos:Persistencia
    • MMOG persisten durante años
    • 52. Necesario detectar cambios entre logins
    • 53. Mundo virtual continua evolucionando
    • 54. Necesidad información histórica mundo virtual
  • 55. Requisitos:Disponibilidad
    • Alta disponibilidad
    • 56. Tolerancia a fallos
    • 57. Multidispositivo
  • 58. Requisitos:Interactividad
    • Generalmente interactividad intensa
    • 59. Garantizar la jugabilidad
    • 60. Minimizar tiempos de respuesta (dependiente)
  • 61. Requisitos:Escalabilidad
    • Número elevado de jugadores
    • 62. Característica principal sistemas P2P
    • 63. Ejemplo problemática: ancho de banda
  • 64. Requisitos:Seguridad
    • Cheating
    • 65. Virtual crime: lenguaje ofensivo, fraude
    • 66. Dependiente del juego
    • 67. Algunas soluciones: voting,logging system
  • 68. Requisitos:Eficiencia
    • Elevado consumo de recursos
    • Minimización recursos peers
    • 71. No puede ser influenciada por el desarrollador
  • 72. Requisitos:Mantenibilidad
    • Constante en el tiempo
    • 73. Prevención del cheating
    • 74. Sencillo en arquitecturas cliente-servidor
  • 75. Aproximación P2P Overlay
  • 76. Aproximaciones
    • DUT: Topología no estructurada no centralizada
    • 77. DHT : Topología estructurada no centralizada ( Pastry )
    • 78. Scribe : multicast (nivel app) sobre Pastry
    • 79. Colyseus : localidad y previsibles patrones de acceso a datos
  • 80. Aproximaciones
    • Híbrido: DHT + DUT
    • 81. Reparto de recursos sobre DHT
    • 82. Asignación de eventos
    • 83. Evento modificación: broadcast
    • 84. Problemática: unicidad del manejo de eventos
  • 85. Arquitectura Pastry Interface Pastry Application Game Interface Cooperation Management Neighbour discover ARPL Algorithm Manage module Agent Module Resource Mgmt Security module Game Logic Rendering UI Systems Script Mod Network Data Mgmt Physics
  • 86. Node joining
    • Autenticación
    • 87. Descarga de información de usuario
    • 88. Búsqueda del manager local
    • 89. Registro de información del resto de managers
    • 90. APRL: asignación de eventos
  • 91. Neighbour Discovery
    • Busqueda de managers vecinos
    • 92. Intercambio de información de agentes
    • 93. Si conjunto vacío se registran agentes locales en vecino
    • 94. Reemplazados ante una nueva unión
  • 95. Cross Domain and Failure
    • Cruce de fronteras
    • 96. Notificación de vecinos: antiguos y nuevos
    • 97. Deberán ejecutar el algoritmo ARPL
    • 98. Ante un fallo; el resto de agentes serán notificados
  • 99. Conclusiones
  • 100. Conclusiones y retos
    • Mercado interesante: tendencia creciente
    • 101. Cliente-Servidor: mantenimiento y recursos
    • 102. Arquitecturas distribuidas: mundo real?
    • 103. Complejidad elevada: soluciones híbridas
    • 104. Nuevas tendencias: enfoque cloud