CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 12 Dic 2017 13:18

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 2 mensajes ] 
Autor Mensaje
NotaPublicado: 02 Sep 2012 22:28 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5274
Ubicación: Coruña
Acabo de publicar una nueva versión de AGE y PUCK, la 1.2.3.

Kit del jugador: http://code.google.com/p/aetheria/downl ... 022114.zip (el kit del jugador ya no incluye la aventura "Wizard's Quest: Morluck's Lair", ya que la nueva versión de esta aventura va a tener multimedia y ocuparía mucho para hacer bajársela a todo el mundo).
Kit del desarrollador: http://code.google.com/p/aetheria/downl ... 022114.zip

He aquí la lista de cambios, y ojo que viene muy grande:


Nuevas funcionalidades:

- Ahora se pueden guardar y cargar partidas en el applet de AGE (juegos online). Debería funcionar en todos los navegadores modernos (que soporten el "local storage" de HTML 5, que ahora son todos si están actualizados). De momento, está limitado a guardar una partida a la vez; aunque si no hay problemas se puede ampliar más adelante para gestionar varios salvados en el mismo navegador.
- En el cliente de ventanas de AGE (online y offline), el jugador puede ahora cambiar el tamaño de la letra cuando juega una aventura. Todos los tamaños de letra que haya en la aventura se escalarán proporcionalmente.


Arreglos de bugs importantes:

- Arreglado bucle infinito al intentar salvar estado en el applet de AGE.
- Arreglado bug por el cual el método getMessages() de la clase World no funcionaba correctamente para ficheros de mensajes personalizados.
- Arreglado error interno que aparecía al devolver null en BeanShell en ciertas situaciones particulares.
- Arreglada ineficiencia de la clase Messages que hacía que obtener mensajes por defecto fuese lento (realmente, no estoy seguro de si ese problema existía en la versión 1.2.2 o si esto es un arreglo de un problema que introduje estos últimos meses en versiones de desarrollo, con lo cual no sería realmente un cambio, pero lo incluyo por si acaso). Arreglada también una fuga de memoria relacionada con este mismo problema.
- Arreglado error por el cual invocar un método inexistente en una entidad que no tuviese ningún código BeanShell generaba un mensaje de error muy poco explicativo ("Unknown error: null") en vez del mensaje correcto ("Method not found", etc.)
- Arreglado bug por el cual el género de los Mobile no se cargaba correctamente en PUCK (apareciendo siempre como masculino al cargar un mundo).
- Arreglado bug por el cual las descripciones de componentes no se guardaban en los estados, con lo que se perdían al cargar estado.
- Arreglado bug por el cual end() no lanzaba un Throwable en métodos BeanShell de un objeto que a su vez fueron llamados por un método BeanShell de otro objeto distinto.


Arreglos de bugs muy leves/glitches:

- Corregido bug que mostraba un mensaje que no venía a cuento en ocasiones al "atacar con arma" sin especificar a quién.
- La propiedad "describeRoomsOnArrival" de los Mobile se fija ahora por defecto al crear el mundo con temporizador -1 en lugar de 0, para evitar llamadas innecesarias a update() por parte del núcleo de AGE.
- Arreglado un bug por el cual no se interpretaban correctamente algunos comandos con la preposición "con".
- Arreglado bug por el cual no se mostraban los signos "%" que se escribiesen en el cliente de ventanas de AGE.
- Arreglado bug por el cual los informes de excepción provocados por eventos onSay se escribían en la consola de la criatura que recibía el mensaje (que podía ser un PNJ) en lugar de en la del mundo, con lo cual podía no mostrarse el mensaje de error.


Mejoras de funcionalidad existente:

- El sistema de "pattern-matching" del parser de AGE ahora es un poco más inteligente: si una entrada podría valer tanto para una entidad como para dos, pero se ajusta estrictamente mejor a una que a dos, ya no se ejecutarán parseCommands para dos entidades. El ejemplo típico de esto es que tenemos un libro rojo con nombres de referencia "libro rojo", "libro", "rojo" y un libro verde con nombres de referencia "libro verde", "libro", "verde". Antes, escribir "verbear el libro verde" podía emparejar con dos entidades (libro rojo, con el nombre de referencia 2 "libro", y libro verde, con el nombre de referencia 3 "verde"). Ahora, AGE detecta que la entrada completa se ajusta mejor a una sola entidad ("libro verde" con el primer nombre de referencia), que suele ser lo esperado.
- Esta mejora ha ido acompañada de una refactorización del sistema de pattern-matching que hará más fácil arreglar problemas o incluir nuevas mejoras en el futuro.
- Las órdenes "atacar" y "bloquear" ahora eligen su objetivo automáticamente si es obvio (si sólo hay otra criatura en la localidad y es hostil), ya no hay que especificar el objetivo ("atacar al orco") si no se quiere.
- PUCK puede ahora abrir ficheros de estado (aunque no se cargan las posiciones de los nodos ya que el estado no contiene esta información).
- Arreglada limitación por la cual un camino con dirección "estándar" no podía tener una segunda dirección estándar (por ejemplo, no podía ser a la vez "sur" y "abajo", había que hacer dos caminos para ello).
- Los nombres de los conjuros ahora tienen corrección tipográfica igual que los de cosas, criaturas, etc.
- El cliente asociado a un jugador se puede obtener ahora con jugador.getClient() en vez del más críptico getIO() (que, por supuesto, seguirá funcionando para mantener la compatibilidad).
- Los mnemónicos de los menús de las ventanas de PUCK y AGE ahora se generan al vuelo, de forma que todas las opciones de menú siempre tendrán mnemónicos en todos los idiomas.
- Ahora el jugador se puede referir a los cadáveres por el nombre de la criatura cuando estaba viva (por ejemplo, si se genera un "cadáver de orco", responderá a "mirar orco" y no sólo a "mirar cadáver").
- Añadido método removeSpell(Spell) a la clase Mobile, para que las criaturas puedan "olvidar" conjuros que sabían.
- Añadidos verbos a la lista de verbos, corregidos errores tipográficos en la lista de alias, y mejorados algunos mensajes por defecto relacionados con armas.
- Añadido método getScreenSize() a la clase ColoredSwingClient (cliente gráfico de AGE) para que el programador de aventuras pueda obtener la resolución de pantalla. En el caso de los applets (juego online), este método también funciona si se pasan al applet los parámetros "screenheight" y "screenwidth" representando la resolución, que se puede obtener fácilmente con JavaScript.
- El cargador de juegos del modo MDI de AGE ahora muestra la información referente a mundos comprimidos (.agz).
- Cuando la misma arma se blande con dos miembros (por ejemplo en las dos manos), esto ahora se muestra en la misma línea en el inventario (en lugar de tener una línea que te dice que la blandes en la mano izquierda y otra para decirte que la blandes en la mano derecha).


Mejoras internas que no se traducen directamente en nueva funcionalidad para el usuario:

- Los ficheros de verbos, de log y de estado se leen y escriben ahora en codificación UTF-8 en vez de ISO.
- El script de compilación de AGE+PUCK ahora también compila el fork de BeanShell.
- Añadida funcionalidad a la clase Messages.
- Añadidas varias clases a la caché de clases BeanShell para mejorar la eficiencia del applet de AGE.



Como veis, sigo en la tendencia de pulir y mejorar cosas para conseguir versiones de AGE cada vez más útiles y estables. Sin cambios muy revolucionarios, pero el sistema debería ser cada vez más cómodo de usar.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 08 Sep 2012 12:13 
Desconectado
Elfito
Elfito

Registrado: 20 Jul 2012 14:43
Mensajes: 19
Ubicación: La Jungla
Increible, muy bien :)
¡Sigue así! Y gracias por mejorar ese mensaje de error ;)

Saludos,
Kakuro


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 2 mensajes ] 

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM