• INICIO
  • AOJAVA EN SF.NET
  • DESCARGAS
  • ARGENTUM ONLINE

AOJava

  • ingresar
  • registrarse
Inicio

noticias

Noticias en general
Imagen de gorlok

De vuelta en linea

gorlok — 26 November, 2009 - 20:30

Después de un tiempo con el sitio caído, debido a que se murió el viejo servidor, ya está restablecido con nuevos bríos.

El proyecto sigue su lento y paulatino curso Laughing out loud. Tengo algunas novedades por el lado del servidor AOJava que compartiré en otro momento, y hubo avances con el nuevo cliente.

  • noticias
  • gorlok's blog
  • 1 comentario
Imagen de gorlok

Bug fixes

gorlok — 10 February, 2009 - 19:59

Corregí el paquete PlayWave, que le falta enviar las posiciones (x, y).
Corregí el decodeData(), que estaba todo mal Laughing out loud, y adapté el generador de paquetes para que lo genere.

Pendientes:
Arreglar el encoding de los .dat, tal vez falta especificar el encoding al abrir el archivo, o esté en utf-8.
El comerciar con NPC falla. Revisar ChangeNPCInventorySlot, ChangeInventorySlot, UpdateUserStats, CommerceInit.

Actualización 23:57:
Ya está incorporado el módulo de Areas, y parece funcionar bastante bien. Hay algunos bugs, pero ahora se puede caminar (con algunos tropiezos) por el mundo nuevamente! Laughing out loud

  • aojava
  • noticias
  • gorlok's blog
  • Inicie sesión o regístrese para enviar comentarios
Imagen de gorlok

Actualización del Protocolo a 0.12.1b y novedades

gorlok — 10 February, 2009 - 00:02

Hacía mucho que no comentaba nada, así que haré un rejunte un poco extenso.

Hoy se actualizó el protocolo a 0.12.1b, el actual en el trunk del AO oficial. Con esto, nos ponemos al día, y permite usar el cliente de AO para realizar pruebas y verificar la compatibilidad... o por los menos un poquito Smile

El servidor ahora está muy inestable, y algunos paquetes estén fallando y hace falta revisarlos. Por el momento se puede conectar, crear usuarios (aunque falla la conexión luego de crearlos), pedir estadísticas, ver el mapa, etc.

Gran pendiente: desarrollar el manejo de áreas de forma equivalente al oficial, y resolver todos los cuelgues.

Hace un par de semanas estuve viendo alternativas para el cliente. Hace un par de años hice un rendering en Java2D, usando FSEM (full-screen exclusive mode) y "active rendering". Volví sobre este diseño para ver cómo había quedado, y si había posibilidades de resucitarlo. Si bien el código estaba bastante bien, recordaba muy bien las dificultades al tratar de integrar los controles de Swing con el Active Rendering, o mejor dicho, este último y el EDT (Event Dispatcher Thread).

Buscando otras alternativas, llegué a Slick: es una API para desarrollar juegos 2D en Java usando OpenGL. La verdad que me impresionó, por lo sencilla que es, y la calidad prometedora de los juegos realizados por su comunidad. Muchos son muy entretenidos, y se pueden jugar desde la web gracias al JWS (Java Web Start). Con un par de horas nomás, ya había portado mi viejo rendering desde Java2D a Slick, y un funcionamiento impresionante comparándolo a Java2D.

Slick trae librerías para el manejo de tilesets, mapas, gestión de las imágenes, fonts, sistema de partículas, sistema de sonido 3D, sistema de física, y mucho más. Para la GUI, por lo que estuve viendo, la que más me gustó fue Thingle, que está basada en Thinlet, y a su vez está basado en XUL. Es muy intuitivo, aunque al comienzo no veía ni cómo empezar Laughing out loud. Pero apenas vi un par de ejemplos, fue muy fácil agregar algo de GUI al cliente de AO.

Por el momento, el nuevo cliente solo realiza rendering y poco más. No tiene nada de red.

Volviendo al tema servidor, necesita urgente un refactoring total, y reescribir gran parte. Hay cosas que son un asco, y que ni siquiera me gustaría reconocer que alguna vez fueron escritas por mi Laughing out loud. Es una tarea pendiente desde que comencé con él, porque inicialmente traté de mantener cierta similitud con el fuente y rutinas del AO, facilitándo mucho el port. Sin embargo, esto llevó a una implementación lejos de un buen diseño OO, y ahora se hace más que evidente la necesidad de replantearlo. Con el conocimiento y experiencia adquirida, ahora me encuentro en una mejor posición para llevarlo a cabo.

La elección de usar NIO allá en sus comienzos, ha sido un gran acierto, pero el diseño no resultó tan limpio como quisiera. Me gustaría migrar todo el manejo de red al framework Apache MINA. Por lo que vi, no sería complicado, y resultaría en un diseño claro, intuitivo, y extensible, con muchos extras: compresión de datos, encriptación (SSL/TLS), logging y gestión por JMX, etc.

Hoy agradecí haber usado el generador de paquetes del servidor y cliente con metaprogramación. Cuando porté AOJava al protocolo binario, AlejoLP me dió un script php y unos archivos de definición, que él había usado para generar los paquetes del protocolo para Python. Yo lo había adaptado para generar paquetes para Java, tratando de mantener actualizados los archivos de definición de tanto en tanto. Hoy encontré algunas diferencias con respecto al protocolo actual, el 0.12.1b, así que una vez detectados los cambios y corregidos los archivos con la descripción, regenerarlos fue unos segundos. Me puso muy contento eso Smile

Hace un tiempo que recolecto info técnica de AO cuando encuentro algo sobre formatos de archivos, o especificaciones y explicaciones sobre algoritmos usados, y cosas así. Sinceramente es muy poco lo que hay o lo que se encuentra, y está todo muy desperdigado. Intentaré juntar lo que pueda, para subirlo en algún momento a una wiki o algo similar, para consolidarlo, y que quede disponible como biblioteca técnica siempre a mano.

Bueno, esto es todo por ahora. Cualquier cosa, el último código fuente del servidor está en el CVS. Si alguien se anima a probar algo, no dejen de comentarme cómo les fue. Probablemente migre el repositorio a Subversion en alguna oportunidad, pero ya habrá tiempo para eso.

Hasta la próxima.

  • aojava
  • noticias
  • gorlok's blog
  • Inicie sesión o regístrese para enviar comentarios
Imagen de gorlok

Feliz 2009

gorlok — 3 January, 2009 - 16:50

Espero que hayan pasado bien el fin de año, y que en este que recién comienza, puedan concretar todos sus deseos.

Para festejar, tiramos la casa por la ventana cambiando el aspecto del blog payaso

Y el proyecto AOJava sigue su curso, lento, pero seguro Smile

  • noticias
  • gorlok's blog
  • Inicie sesión o regístrese para enviar comentarios
Imagen de gorlok

Inauguro un nuevo blog

gorlok — 18 October, 2008 - 00:00

Les comento que finalmente me creé un blog en entrellaves.blogspot.com, donde escribiré sobre diversos temas, en general relacionados a la programación, la internet, Linux, Java, y de todo un poco.

Los espero,
Gorlok

  • noticias
  • gorlok's blog
  • Inicie sesión o regístrese para enviar comentarios
  • 1
  • 2
  • 3
  • 4
  • 5
  • siguiente ›
  • última »
Distribuir contenido

Navegación

  • FAQ
  • instalación
  • contacto


Sitio oficial de Argentum Online
Fenix AO
Tierras del Sur
Imperium AO

SourceForge.net Logo
Get Firefox!
Powered by Drupal
Valid XHTML 1.0 Strict
Add to Technorati Favorites



{entre llaves}
Foro de desarrollo AO
Blog de AlejoLp
Mozilla Argentina

  • ingresar
  • registrarse

Java is a trademark of Sun Microsystems, Inc. in the United States and other countries.