Tema: Juego MMORPG
Ver Mensaje Individual
  #7 (permalink)  
Antiguo 13/12/2015, 07:51
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Juego MMORPG

Cita:
Iniciado por xonil Ver Mensaje
A mi uno de mis profesores, cuando le comente lo de hacer un juego de navegador tipo travian, lo que me dijo es que cada acción que se hacia en el juego, se jugaba lo que quisiese a que no se hacia a través de la BD, ya que la latencia volvería el juego injugable, ya que las bases de datos no son rápidas en responder por la conexión, sino que lo son por la eficacia en buscar la información en sus archivos.
Y repito, que no te hablo de teoría, sino de hechos empíricos, para trabajar en tiempo real, no se debe de usar una base de datos, ya que es demasiado lento.
La respuesta de un programa escrito en C o C++ es mucho más rápido, y sólo debería guardar unos pocos ks, con lo que se puede incluso medir su tiempo de respuesta.
Te vuelvo a decir, google mueve varios gigas de datos por segundo en su buscador y la latencia para mostrarte 100 millones de resultados se puede medir en centésimas de segundo.

Lo que más suele afectar a la latencia suele ser el ancho de banda. Lo que no puedes pretender es que un portal gratuito te ofrezca un ancho de banda en condiciones... no es su intención palmar pasta con el servicio. Ya te puedo yo asegurar que un servidor tipo LoL no dispone de un ancho de banda de 100MB precisamente porque no daría abasto... y este tipo de servidores hacen uso de una base de datos ya que el coste de tener todo en memoria es desorbitado... y funcionan sin problemas.

Si quieres algo más específico lo que tienes que hacer es saltarte el protocolo http y la conexión tcp y basar tu programa en un servidor y clientes propios. Para ello simplemente tienes que currarte las dos aplicaciones, definir un protocolo de comunicación, ...

Además, para escalar el servicio también hay que ser coherentes con el número de usuarios que vaya a tener el servicio... no es lo mismo dar cobertura a 20 usuarios que a 20.000. La mejor solución para cada escenario es distinta.

Por otro lado me río yo de lo que opinen muchos profesores... si no que me expliquen por qué en algunos sitios siguen enseñando programación con lenguajes fuera de mercado. No digo que tu profesor pertenezca a ese grupo, pero a muchos hay que darles de comer aparte.

Eso sí, yo te recomendaría programarte tu propio servidor. Aprenderás muchas más cosas que si te limitas a aprovechar infraestructuras ya hechas. La mejor forma de conocer cómo funcionan estas cosas es manchándose las manos.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.