Argentum Online - Desarrollo
December 23, 2009, 07:29:55 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News:
 
   Home   Help Search Calendar Login Register  
Pages: [1]
  Print  
Author Topic: Más Planes a futuro  (Read 999 times)
Maraxus
Administrator
Sr. Member
*****
Posts: 355


View Profile
« on: October 03, 2008, 02:05:25 AM »

Estando la 0.11.5 cerrando su proceso de desarrollo escribí un tema indicando cual era el futuro de la comisión. Ya prácticamente hemos llegado al final de ese listado (que incluía la 0.11.6 / 0.12.0, la 0.11.7 / 0.12.1 y la 0.11.8 / 0.12.2), y creo es momento de actualizarlo.

Del listado original, para esa 0.11.8 estaba asignado lo siguiente:

Quote
0.11.8:
Cliente y Servidor - nuevos paquetes. Separación de los paquetes de movimiento, de las estadísticas, eliminación de paquetes innecesarios (como los cambios de modo de combate y modo seguro), unificación de paquetes que se envían siempre juntos (fama, skills, miniestadísticas y atributos), etc.

Todas estas tareas han sido canceladas para el próximo parche, pues con los dos años que pasaron de entonces a la fecha, las prioridades han cambiado.

En primer lugar, cabe destacar el ingreso de los archivos de recursos comprimidos .ao (que originalmente había sido un agregado para la 0.12.1, pero debió posponerse al adelantarse su salida).

En segundo lugar, y por sobre todo, se está trabajando en la creación de cero de un AutoUpdate. Este es el principal feature de esta versión. Desde hace tiempo que hemos notado el parcheo es uno de los procesos más complicados que hay. Mucha gente con dificultades para hacerlo, que no sabe de donde bajar los parches o donde meterlos o como, y esto ha llevado a minimizar el número de parches maximizando el número de features que se incluyen en cada uno.

Creemos que esta forma de trabajo ya no es válida. Dada la muy variable disponibilidad horaria de todo el staff, e ncada una de las áreas, pretender coordinar un parche grande es siempre caótico, y cuando una comisión se atrasa las otras intenta agregar más contenido que atrasa aún más los parches. Además, esto resulta en un servidor poco competitivo y en el que los buigs suelen durar demasiado incluso una vez que se concoe la causa y la solución.

La idea detrás del autoupdate es justamente permitir parchear cada detalle que surge en cuanto se lo soluciona, sin preocuparse por el resto de las comisiones y minimizando así los tiempos muertos de sincronización.

Este no es un proceso sencillo, ni mucho menos nuevo. Hace tiempo que venimos pavimentando el camino para lograr esto. Los .ao son una parte fundamental del proceso al permitir controlar versionado de bmps, algo similar se introdujo en la 0.12.1 con el nuevo formato de Graficos.ind, y se espera poder continuar puliendolo conforme pasa el tiempo.


En tercer lugar, aunque no necesariamente atado a los tiempos del parche, estamos trabajando en el indexador oficial, que soporta los dos formatos de Graficos.ind y cuyos trabajos comenzaron junto al desarrollo de la 0.12.1. Esta es una herramienta importante y que necesita una alternativa oficial de código libre, estable y extensible, requisitos que no encontramos ningún indexador cumpla perfectamente.


En cuarto lugar, y de nuevo no necesariamente atado a los tiempos del parche, está pendiente la actualización del WorldEditor para usar el nuevo Graficos.ind, el nuevo engine de video, y otros cambios que se introdujeron con el tiempo.


En quinto lugar, y como extra, se está trabajando en levantar la performance de tanto cliente como servidor. Algo que notamos con gran sorpresa al lanzar la 0.12.0 es que lo que limitaba a los usuarios en 550 online era el uso de CPU y no más el ancho de banda. Al poco tiempo de abrir fué necesario tocar bastante el código de NPCAI que colocaba al servidor de rodillas. Con apenas 230 online ya el uso de CPU asciende a un nada despreciable 40%.

En estas últimas semanas he personalmente realizado varias mejoras en el servidor, así como limpieza de gran parte del código y eliminación de numerosas variables innecesarias. Todavía quedan pendientes algunas cosas por hacerse, pero tengo confianza en que lo ya realizado dejará réditos significativos.

Del mismo modo, del lado del cliente, se pretende en la medida de lo posible maximizar la performance, para brindar mayores FPS y mejor calidad de juego a todos. En los últimos días, con mínimos cambios se ha logrado una mejora de cerca de 2%, y otro tanto para quienes tengan memoria de video habilitada, y todavía quedan algunas ideas un poco más ambiciosas para conseguir mejoras más significativas. Ya veremos que es lo que logramos hacer.



Para resumir, actualmente estamos trabajando en esto:
- AutoUpdate nuevo
- Archivos .ao (terminado)
- Indexador
- Performance (bastante avanzado)
- Actualización del World Editor (sin nuevas features)


No traeremos cambios revolucionarios al juego ni mucho menos, pero sí pretendemos dar una base sólida sobre la que seguir construyendo de forma más ágil a como lo venimos haciendo.





Sobre lo que viene después de esto....

Todavía no queda muy claro cuales serán las prioridades de programación tras la 0.12.2, pero estas son algunas de las cosas que tengo dando vueltas en mi cabeza (sin ningún orden particular).

- ORE 1.0a1 como engine alternativo (sí, para todos los que me preguntan todo el tiempo, le tengo ganas, pero no antes de la 0.13.0)
- Anticheat 2.0 (la versión 1.0 fué muy efectiva, pero casi no tuvo cambios en dos años, necesita una lavada de cara)
- Mejoras al protocolo / servidor para continuar levantando el límite de usuarios
- Mejoras significativas al World Editor que está bastante abandonado desde hace rato
- Mejoras al sonido3D
- Migrar usuarios a una DB y simplificar así muchas tareas de admin
- Sistema de cuentas
- Internacionalización
- UI configurable vía XML (skins y demases)

Si alguien quiere hacer su sugerencia para mi listado de cosas de programación a hacerse, es bienvenida. Mientras que lo sugerido sea NETAMENTE de programación y no afecte a comisiones como GD / Balance es más que bienvenido.
« Last Edit: October 03, 2008, 09:25:19 AM by Maraxus » Logged
Maraxus
Administrator
Sr. Member
*****
Posts: 355


View Profile
« Reply #1 on: October 06, 2008, 02:04:48 AM »

Más cambios de programación en el cliente, reescribí el manejo de surfaces tanto dinámico como estático. El resultado final es que con memoria de video ahora el cliente prácticametne 2 veces más rápido que antes. Para quienes no tengan memoria de video, la performance es bastante menor, pero sigue siendo muy superior a lo que era.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!