Tema: Juego MMORPG
Ver Mensaje Individual
  #9 (permalink)  
Antiguo 13/12/2015, 08:14
xonil
 
Fecha de Ingreso: enero-2006
Mensajes: 76
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: Juego MMORPG

Cita:
Iniciado por eferion Ver Mensaje
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.
Gracias de nuevo por responder, lo de google yo creo que es evidente, y es precisamente lo que dices, si manejas ese volumen de información, es porque tienes la tecnología para hacerlo, por eso la solución que busco es más coherente con mis circustancias.

Lo del servidor gratuito, pues naturalmente que dejan mucho que desear, de hecho si quiero manejar sockets, ya que puedo olvidar de los servidores gratuitos, ya que si no te los limitan para que no puedas tocar los puertos, no te dan acceso via telnet para su consola, es decir, no te dan todo el acceso.

Yo las pruebas las tengo que hacer en mi propio ordenador, con lo que se elimina el factor ancho de banda, y lo que mido son el tiempo de respuesta de cada solución.

Lo de contratar un vsp, pues hace un tiempo contraté un par de ellos en hostinger y la verdad, para salir del paso, puede que sirva, pero no me convencieron mucho, aunque he de decir que eran muy básicos.

Lo que has dicho de currarme yo mismo el protocolo, saltándome el http y el tcp, pués es lo que pensé hace seis meses, cuando todo esto empezó a fraguar en mi mente.
Pero después de leerme unos cuantos libros sobre protocolos y sobre todo, todo lo relacionado con programación en tiempo real, juegos en tiempo real y mmorpg (todo en ingles claro), me encontré con la solución que he estado manejando.
El juego en si, está logrado, y las partidas se podría jugar, lo que no he implementado es el control de tiempo y lo del refresco de la página.

Se que parezco un poco tiquismiquis, pero lo del refresco de la página está controlado en páginas como chess24, chess.com, ajedrezweb, playok etc, por lo tanto lo interpreto como que son programas o soluciones informáticas robustas.

Anoche encontré una solución intermedia, entre lo que tengo ya hecho y lo que quiero. La cosa es que como tengo el archivo que responde a los eventos, ese mismo archivo, podría encargarse de manejar cada movimiento de cada jugador en cada partida, y sin tocar los objetos, sino con variables multidimensionales y tal. Eso mismo lo podría hacer en C/C++, con un objeto y variables multidimensionales (matrices/vectores). Más que nada esto no es nuevo en este proyecto, es decir, ya lo pensé y me puse a hacerlo, pero luego vi que no era necesario y lo quité para no darle trabajo al servidor y que fuese todo el trabajo del ordenador del cliente, así el cliente no notaría casi nada por unas líneas más de código,y sin embargo el servidor se libraba de ejecutar esas mismas líneas multiplicadas por cada acción de cada usuario que estuviese jugando, pero si quiero robustez, tengo que tirar por ahí.

Sin querer alargarme más, lo que voy a hacer es mirar a ver la diferencia de tiempo entre php y c++, y según lo vea, puede que me merezca la pena.

ererion, estoy interesado en lo que has dicho de saltarme el protocolo http y tcp, pero no se por donde empezar. si me puedes dar alguna orientación de lectura, lo miraría poco a poco, ya que creo que esa es la solución comercial de las páginas mencionadas anteriormente.