Download Day 2008

aojava

Imagen de gorlok

AOJava y AONX se saludan

Se encuentra funcionando el protocolo binario de AO 0.12 en AOJava Relol . La primera prueba ha sido usando el cliente multiplataforma AONX con gran éxito, corriendo cliente y servidor en GNU/Linux !!
Seguramente habrá mucho para corregir y mejorar, pero es un avance importantísimo. Con esto se cumple uno de mis objetivos propuestos hace un par de meses.
Les dejo una imagen del momento:

Con esto inicia una nueva etapa del proyecto AOJava. Esperen noticias en el futuro. El pasito de la banana
Saludos,
Gorlok

Imagen de gorlok

AOJava: nueva versión 0.8.5 del servidor

Subí la última versión 0.8.5-ALPHA del servidor AOJava a SF.net. Probablemente será la última versión 100% compatible con el viejo protocolo ASCII. La próxima versión usará el nuevo protocolo binario (ya en desarrollo en el CVS) que es compatible con AO 0.12+

Requerimientos de esta versión:
* Java 5 o 6 (para correr el servidor solo el JRE, si desean compilar desde los fuentes necesitan el JDK completo)
* Ant 1.6.5 o posterior (solo si van a compilar)
* Cliente de Argentum Online 0.9.9z (no incluído)

Por favor notar que las versiones pasadas (hasta 0.6.5) requerían java 1.4.2. Ahora es necesario java 5.

Hasta pronto,
Gorlok

Imagen de gorlok

Nuevo PathFinding: ahora con algoritmo A* (A-Star)

Ya tengo implementado y funcionando el nuevo algoritmo de PF, hecho con una conocida implementación de A* en java. Estoy muy contento, porque realmente salió bastante rápido y casi sin problemas.
Lo probé con los Leviatanes y parece funcionar bien.
En el futuro habrá que optimizarlo, pero vale como primera implementación real de PF.
Tarea cumplida. Una cosa menos Sonrisa

Imagen de gorlok

Lo que se viene...

Seguimos con las pruebas y correcciones. Solucioné el problema que había usando arco y flecha, que al disparar, se cerraba la conexión Sacar la lengua
También agregué que al salir no haya espera de 10 segundos si se está en zona segura. Sonrisa
Es todo por hoy. Probé bastante, entrando un cazador y jugando también con mineros, herreros, carpinteros y trabajando sus oficios. No se encontraron nuevos errores.
Por otro lado, estoy dando forma al mecanismo de comunicación del módulo administrativo. Por el momento la idea sería incorporar dos tipos de consolas administrativas: una de consola de comandos en modo texto (un prompt con algunos comandos mínimos) y la administración web (correría sobre tomcat, usando servlets+jsp+beans+etc...). Esta última sería la forma de administración principal y más completa. La consola en modo texto está pensada para ser usada como medio alternativo si por algún motivo no funciona la administración web, entonces conectándose al servidor por ssh o ts+cmd, uno podría conocer el estado del servidor ao, reiniciarlo, etc.

Imagen de gorlok

Novedes del fin de semana

Estos días hubo un gran avance en la transición al protocolo binario entre otras cosas.
Copio parte de una bitácora de cambios:
- se agrega una enumeracion para los mensajes enviados al cliente. Tiene algunas cosas interesantes, dado que las enumeraciones no son simples tipos básicos, sino un tipo de clase, con muchas posibilidades. He explotado algunas de ellas para hacer un código más simple de leer y mantener.
- en algunas funciones se están usando varargs (argumentos variables), con lo cual se ganado mucho en legibilidad.
- se cambia el metodo de envio de mensajes, lo que facilitara soportar multiples protocolos en breve (en busca del protocolo binario)
- se corrigieron varios bugs en el inventario. Se reescribio el "agregar item a inventario del usuario", que estaba muy mal implementado (sic)
- se hicieron varias mejoras eliminando envios completos de inventario que eran reduntanes (con enviar el item del slot afectado era suficiente)
- se probo todo lo relativo a herreria y mineria. Queda pendiente de corregir un bug (el herrero consume recursos de varios slots de su inventario de forma incorrecta)
- varias correcciones de bugs menores detectados durante las pruebas
- se detecto un problema en los hechizos de invocación de criaturas que pueden estar en agua, cuando se las invoca en tierra (elemental de agua, Ely, fuego fatuo, etc.). Para analizar mejor.
- y otras cosillas ^^

Imagen de gorlok

AOJava se pasa a Java5

Luego de una larga reunión del cuerpo de programadores de AOJava se ha llegado a una decisión: vamos a migrar a Java 5.

Bueno, bueno, en realidad me tenía podrido la ausencia del tipo enumerativo, generics, autoboxing/unboxing, anotaciones, etc., y creo que no vale la pena permanecer en 1.4 cuando las ventajas y mejoras son tantas. De hecho, hace meses que uso Java 6 (desde las primeras beta), aunque siempre compilaba con compatibilidad 1.4. Por lo pronto, el nuevo código que estoy escribiendo ya usa la nueva sintaxis, y sin duda que mejora considerablemente la legibilidad (qué palabra!) del código y me permite escribir algunas cosillas muy interesantes.

Imagen de gorlok

Febrero con novedades en AOJava

Estoy trabajando en una nueva versión del servidor, para lo cual se está haciendo limpieza de código y refactoring.

El objetivo principal es aislar el protocolo del resto del sistema, para poder soportar nuevos protocolos, eventualmente más de uno. El protocolo original ahora ha sido llamado "clásico" y corresponde al de AO 0.9.9z. Al terminar de aislarlo, se implementarán algunos protocolos binarios (tal vez dos).

Esto viene relacionado con otro tema: el cliente. Afortunadamente, hoy día, hay varios proyectos de creación de clientes de AO en C++, algunos con SDL y/o OpenGL. Paralelamente estoy trabajando sobre algunos fuentes de estos proyectos. La idea es ver si se puede integrar uno de estos clientes hechos en C++ con el servidor AOJava, probablemente usando un protocolo binario, y así completar el cuadro.

Imagen de gorlok

¡¡¡Servidor AOJava sin software privativo!!!

Se ha probado con éxito la ejecución del servidor AOJava en Ubuntu Linux 6.06.1 LTS, usando el soporte nativo de GNU Java predeterminado, es decir GCJ y GIJ 4.1.0 (compatibles con Sun Java 1.4.2).
Ahora disponemos de una opción de entorno 100% Libre sin restricciones de licencias semi-propietarias de Sun.
Es otra alternativa que alcanza a todas las plataformas soportadas por GNU GCC/GJC, especialmente importante para aquellas no soportadas por Sun/IBM.

Imagen de gorlok

Actualización del sitio

Renové el sitio y le di una lavada de cara. Espero que les guste Sonrisa. El nuevo diseño es más liviano que el anterior y más consistente.
Aviso: sigo probando cosas, y puede haber algún problemita temporario, como noticias fuera de lugar, que se irán solucionando a medida que gane experiencia con drupal.

Imagen de gorlok

Avance: Captura de pantalla del cliente.

Aquí les dejo un avance del cliente:

Captura del cliente AOJava

Saludos,
-gorlok

Imagen de gorlok

Nace el cliente AOJava

Bueno, después de mucho tiempo sin novedades (es el primer post del año!), les comento que hacía bastante tiempo estaba probando APIs y técnicas para encarar el desarrollo del cliente gráfico de AO en java, el componente faltante de AOJava.

En la noticia completa pueden ver más detalles al respecto.

Imagen de gorlok

Novedades en el desarrollo

Bueno, estoy retomando los pendientes para cerrar algunas cosas del desarrollo y liberar una nueva versión, la más completa hasta la fecha, aprox. 95% AO 099z.
Entre las novedades hay:
* Se solucionó el problema en los textos con caracteres extraños, típico con las palabras mágicas de los hechizos.
* Se terminó el desarrollo del módulo de clanes, ahora hay que ver si funka Sacar la lengua
* Se corrigieron varios bugs, en comandos en GM, crear/destruir teleport
* Se agregó un comando interno de AOJava, solo para GMs, para obtener info de debug en tiempo de ejecución.
Hasta pronto,
Gorlok

Imagen de gorlok

Nuevos comandos

Se agregaron los comandos:
/RACC - crear criatura con respawn.
/MODMAPINFO - cambiar zona segura y backup.

Imagen de gorlok

Más correcciones y facciones funcionando

Correcciones:
- se podia caminar sobre algunos tiles bloqueados.
- duplicación de pj en el cliente al morir (otro "CC" en lugar de "CP").
- correcciones varias en la clase Facciones. Funcionando.
Nuevos comandos (para Dioses):
/CI -> Crear item (un objeto)
/GUARDAMAPA -> Guarda los cambios realizados al mapa actual (aunque el mapa no esté marcado para realizarle backup).

Todos los cambios están en el CVS.

Imagen de gorlok

Bug de cascos/armas/escudos corregido!

Encontré el bug de los cascos/escudos/armas que no se mostraban equipados en el cliente.
Habia 2 problemas en la carga del Obj.DAT:
1) un error con los "Anim" (un copiar y pegar mal hecho Sacar la lengua )
2) y una confusión entre ObjType y SubType.
Corregido!
Ahora continuaré con otras cosas.
Hasta luego.

Distribuir contenido