|
|
La Taberna Un lugar para conversar sobre casi cualquier tema |
|
Thread Tools | Display Modes |
04-16-2009, 03:59 PM | #31 | |
Count
Join Date: Aug 2007
Posts: 1,565
|
Quote:
Así que me parece bien las fechas orientativas. |
|
04-16-2009, 04:07 PM | #32 |
Marquis
Join Date: Oct 2006
Location: no se pudo establecar conexión con el servidor
Posts: 2,057
|
claro, algo así quise decir. Lo importante es que si se tiene que atrasar porque hay problemas, que se atrase el tiempo que sea necesario
__________________
in theCopyleft—all rights reversed |
04-16-2009, 05:37 PM | #33 | ||
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Quote:
También depende la calidad de tu quipo. Algunos modems dropean paquetes cuando se ven bajo presión de tráfico. Quote:
Regnum usa mucho ancho de banda, como es debido. Suena doloroso, pero aquellos usuarios que tengan una conexión de 512 no deberían jugar (con eso también se liberaría una gran parte de la carga). Hay motivos técnicos por el cual no se puede comprimir el flujo del protocolo más de lo actual y por el que tampoco se puede reducir la comunicación. Un mito es el de pensar que el ancho de banda del cliente al servidor afecta a un solo usuario. Por más concurrencia que tengas, hay un hilo (supongo que es multi-hilo) de ejecución que está trabado esperando datos. Claro, esto podría parecer aislado hasta que se toma en consideración la cantidad de hilos dormidos o esperando respuesta, en especial en situaciones de combate. Aún así, no siempre la concurrencia resuelve todos los problemas. Hay tareas que se pueden colocar en un hilo propio, pero que invariablemente deben ejecutar procesos en forma lineal. Un Handshake es un ejemplo, pero también un broadcast a todos los clientes y procesos de verificación. Tampoco te olvides que pueden ocurrir locks prolongados en los recursos, y eso es muy difícil de detectar sin un profiling intensivo (lo cual también degrada la performance). Otro problema que puede ocurrir son las fugas de memoria por no tener los destructores necesarios, y si además se usa una mezcla de assembler entonces se debe tener muchísimo cuidado con eso. Por ejemplo, si J2EE está bastante refinado en manejo de memoria y se sigue comiendo 2gb de ram como desayuno si se corre por tiempos prolongados... Es lógico, entonces, suponer que Regnum agote los recursos en poco tiempo después de tantas batallas y clientes conectados (clientes = programa). Hay que tener cuidado con eso. Hasta aquí hay crecimiento lineal, es decir, más potencia es más desempeño. Pero el problema es que en los sistemas cliente-servidor también uno se está limitando por la norma del "viejo más chico y lento". Si la mayoría de los usuarios tiene una conexión mediocre, tarda en responder y además tienen pérdida de paquetes alta entonces es un problema que está fuera de tu alcance (o bien, requiere la refactorización del cliente casi por completo). Claro, usemos UDP. ¡TCP trae muchos problemas de eficiencia! Verifica los paquetes, los ordena y pide que estén completos... ¡Para la posición y skills no se necesita eso! Para el chat sí necesitás TCP... Ah, pero el problema base de UDP es que el overhead que perdés por parte de la verificación en el protocolo lo tenés que añadir en tu aplicación para verificar los datos. Perder uno o dos paquetes de cada diez está bien, pero cuando hay diferencias grandes entre los datos y una pérdida alta entonces el servidor tiene que verificar dichos datos. Supongo que parte del problema del posicionamiento viene de ahí y no del código en sí mismo. Alta latencia sumado a una velocidad de respuesta pobre genera los saltos y cuelgues en el movimiento. Por lo que más velocidad, memoria e hilos de ejecución no va a solventar mucho. ¡Optimicen! Pero el problema con ello es que la optimización prematura trae como primer problema un algoritmo que a la larga es ineficiente. Hay que buscar dónde ocurre el cuello de botella y eliminarlo una vez que existe, pero primero debe funcionar toda la implementación. Si hay un bug, se optimiza, se resuelve el bug, se optimiza y luego se vuelve a parchear lo más seguro es que termines con el doble de bugs y un código difícil de entender. Por eso se refactoriza a menudo, porque es un ancla en el desarrollo. ¿Cómo implementar lo que dije? No sé, todavía no soy ni un décimo de profesional y tampoco tengo mucha experiencia. Además, el modelo de juego online que eligieron exige mejoras constantes y actualizaciones variadas, así que hace más complejo todo... Yo tiraría todo al tacho y haría un asteroids online. Al menos no tengo que tolerar a nadie en balance. Y voto por la opción de que salga cuando esté estable. Deb... Eh, Regnum ya tiene muchísimas cosas y puede vivir tranquilo con lo que está por un largo tiempo. Queda mucho para que se agote el tema de las invasiones (en fin, un Capture The Flag hiperdimensionado), así que pequeñas actualizaciones funcionales vienen bien*, para luego liberar algo más grande y estable. Sin embargo, todos sabemos cómo es eso de liberar cuando está listo. *Liberar rápido pocos buenos cambios mantiene la moral alta... Aunque sabemos que las comunidades online son como la gata flora. No a todos le va a gustar lo mismo...
__________________
I don't have a solution, but I admire the problem. |
||
04-16-2009, 05:59 PM | #34 |
Count
Join Date: May 2007
Posts: 1,007
|
Sin ningun animo de defender las formas del creador del thread, cualquier comparacion con el modo de desarrollo de UNIX no tiene sentido Xeph.
Primero, esta KISS, Keep It Simple Stupid! Un programa hace una cosa y lo hace bien, y hasta que sea asi no se desarrollan mas features. En RO se añaden mas y mas y mas features sin arreglar bugs, por lo que de KISS nada de nada. Por otro, esta la proteccion por ofuscacion (en cuanto a informacion), tipico en NGD, no tan habitual en entornos UNIX. Junto a ellos iria el tratamiento de bugs y su resolucion, un chiste aca, todo lo contrario en UNIX. Por otro, en UNIX nada entra en produccion hasta que las cosas esten terminadas, testeadas como es debido y bien maduradas. en Regnum todo lo contrario. El soporte de los sistemas comerciales UNIX suele ser increible, el soporte de NGD hacia sus clientes brilla por su ausencia en la mayoria de los casos. Y todo eso sin ver el codigo, que si lo viesemos estoy seguro de que encontrariamos muchisimas mas diferencias radicales entre el tipico desarrollo unix y el de regnum. Por otro, lo del cliente madurado da la risa. El cliente debe tener bastante memory leaks, no es normal que me consuma 2Gb enteros y que empieze a swapear tras horas jugando. Es clarisima sintoma de memory leaks. Tampoco es normal que el server envie informacion redundante al cliente porque faltan datos. Cuando el server informa de un enemigo avistado manda info de nombre,reino,clan etc etc. Pues bien, esa informacion te puede llegar tres o cuatro veces seguidas porque falta alguno de los datos. Y no hablo de udp, hablo del stream tcp por lo no es que se haya perdido un datagrama por el camino. Asi era hace no mucho tiempo y no creo que haya cambiado mucho. Tampoco es normal el rollback de code que parece haber en regnum. Obviamente no se puede confirmar sin ver el code pero tanto bug que vuelve tras X tiempo solucionado suena a eso. O no hay un sistema de control de versiones decente o algo raro pasa. Tampoco es normal tener un pseudobugtraq en la web principal y tener bugs sin confirmar ni cerrar ni nada durante años. Ahora mismo estan cerrados pero los bugs reportados cuando existia el boton de reporte en el cliente estaban abiertos y sin tocarlos hasta no hace muchos meses, al menos en ese bugtraq. Quiero creer que habra otro sistema para ello, pero no se yo. Tampoco es normal meter en produccion una feature de cambio de nombres en el foro que no checkee si existen dichos nombres en la db! Tampoco es normal tener a clientes sin ningun tipo de respuesta durante dias, semanas o meses. Si esto fuera una tienda, vas a preguntar al del mostrador por una reclamacion y no te responde en meses que pensariais? En fin, podria seguir pero ahi lo dejo. Y tal como dije otras veces, lo de que son pocos no sirve como excusa eternamente. Saludos
__________________
Takola Barbara ··· Aker Medico ··· Iraia Aprendiz de Thanus ··· Zakilixut Gigolo de oficio, tirapalillos de aficion ··· Kinki Guardian de las lindas elfas
Campurriano Inmerso en los secretos de la nigromancia ··· Cochinilla Enfermera sexy ··· ??? Trituramandados Sex clan |
04-16-2009, 06:27 PM | #35 |
Count
Join Date: Aug 2007
Posts: 1,565
|
Solo decir, que estoy completamente de acuerdo con la argumentación expuesta por Takola, y que es inmejorable desde mi punto de vista.
|
04-16-2009, 07:02 PM | #36 | |||||||||||
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Quote:
Quote:
Quote:
Quote:
Los sistemas Unix requieren que algo esté estable para mandarlo a producción porque no son un juguete. Aclaré en mi anterior post que ese debería ser el modo (para mí) a adoptar. Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Con el tema de soporte estoy plenamente de acuerdo.
__________________
I don't have a solution, but I admire the problem. |
|||||||||||
04-16-2009, 07:10 PM | #37 |
Pledge
Join Date: Dec 2007
Posts: 0
|
papa , ensima que el juego es gratis te quejas ? :S
el chabon sabe mas de programacion que vos asique no le discutas nada. bye ^^ |
04-16-2009, 07:21 PM | #38 | |
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Quote:
Que sea gratis no tiene nada que ver, pero si va a criticar es mejor que lo haga de una forma constructiva.
__________________
I don't have a solution, but I admire the problem. |
|
04-16-2009, 07:26 PM | #39 |
Count
Join Date: May 2007
Posts: 1,007
|
No tienes ni idea de lo que se o dejo de saber de programacion asi que callate mejor. Ahora leo y respondo si toca el post de Xeph
__________________
Takola Barbara ··· Aker Medico ··· Iraia Aprendiz de Thanus ··· Zakilixut Gigolo de oficio, tirapalillos de aficion ··· Kinki Guardian de las lindas elfas
Campurriano Inmerso en los secretos de la nigromancia ··· Cochinilla Enfermera sexy ··· ??? Trituramandados Sex clan |
04-16-2009, 07:41 PM | #40 |
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Creo que se refería al primer post. De vos no dudo que sabés de informática. Y mejor la corto acá porque no quiero armar un flame.
__________________
I don't have a solution, but I admire the problem. |
|
|