CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 16 Jul 2018 19:17

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 28 mensajes ]  Ir a página 1, 2  Siguiente
Autor Mensaje
NotaPublicado: 01 Sep 2017 15:04 
Desconectado
Enano Maluva
Enano Maluva
Avatar de Usuario

Registrado: 21 Jun 2017 13:16
Mensajes: 45
Ubicación: Madrid
Antes de nada comento: Soy Neo_One, pero como el foro no me dejaba entrar con mi antiguo usuario he tenido que crearme uno nuevo. Dicho esto paso a la batería de preguntas.
He decidido crear, por fin, una aventura conversacional y mi elección ha sido este parser para su concepción y desarrollo, pero tengo alguna que otra duda al respecto.
1) Mi idea es que la comunidad de jugadores invidentes o de visión reducida puedan disfrutar del producto, ¿con AGE es posible?
2) ¿Qué tal es la integración con el sdk de Steam? Tengo pensado publicarla ahí y en GOG, si bien en la última no es necesario la implementación de un drm con Steam es diferente (su sdk está escrito en C++).
3) Quiero lanzarlo en un máximo de dos idiomas, ¿Cómo se podrían hacer las labores de traducción y un menú principal para su elección?
4) Quisiera hacerlo muy vistoso para atraer a la mayor cantidad de jugadores posible y tengo pensado dividir la pantalla dividida en diferentes áreas.
-Principal: texto descriptivo; texto con respuestas y el promt donde escribe el jugador.
-Informativa: una con la imagen del personaje y su estado (camino, hablando, etc...) y otra con la imagen de la localización en la que se esté en ese momento.
-La última con dos áreas: inventario y un mapa que se va desbloqueando según descubramos nuevas zonas.

Gracias. Nos leemos.

_________________
https://skoto3d.jimdofree.com/


Arriba
 Perfil  
 
NotaPublicado: 01 Sep 2017 16:28 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5300
Ubicación: Coruña
Hola,

Coque_Mad escribió:
Antes de nada comento: Soy Neo_One, pero como el foro no me dejaba entrar con mi antiguo usuario he tenido que crearme uno nuevo. Dicho esto paso a la batería de preguntas.
He decidido crear, por fin, una aventura conversacional y mi elección ha sido este parser para su concepción y desarrollo, pero tengo alguna que otra duda al respecto.

¡Genial!

Coque_Mad escribió:
1) Mi idea es que la comunidad de jugadores invidentes o de visión reducida puedan disfrutar del producto, ¿con AGE es posible?

Sí, las aventuras en AGE son accesibles para jugadores invidentes mediante el Java Access Bridge y un lector de pantalla. AGE cuenta con un modo para lectores de pantalla que facilita esto.

Para jugadores de visión reducida pero que no lleguen a necesitar lector de pantalla, AGE también permite al jugador ampliar el texto al tamaño que quiera.

Coque_Mad escribió:
2) ¿Qué tal es la integración con el sdk de Steam? Tengo pensado publicarla ahí y en GOG, si bien en la última no es necesario la implementación de un drm con Steam es diferente (su sdk está escrito en C++).

Pues aquí me temo que no tengo ni la más remota idea, porque nunca he desarrollado nada para Steam. Para jugar una aventura de AGE, hace falta el intérprete (un ejecutable), tener Java instalado, y los ficheros de la aventura. Sé que hay herramientas que te permitirían empaquetar todo esto de forma que un ejecutable te instale Java si no está ya instalado. Pero ni idea de lo que se requiere específicamente para poner juegos en Steam.

Coque_Mad escribió:
3) Quiero lanzarlo en un máximo de dos idiomas, ¿Cómo se podrían hacer las labores de traducción y un menú principal para su elección?

Ahora mismo AGE trae soporte para crear aventuras en cinco idiomas: español, gallego, catalán, inglés y esperanto. El sistema puede soportar más idiomas, pero no está traducido a ellos, si te interesa alguno que no sea de esos cinco tendría que traducirlo tú (no es difícil, en http://www.caad.es/aetheria/doc/doku.ph ... u_lenguaje hay información).

Para lanzar un juego en dos idiomas de entre los soportados por el sistema, habría dos opciones. Una sería sacar versiones separadas en un idioma y en otro, y otra sería hacerlo conjunto, por ejemplo con un menú como comentas. Esto se puede hacer sin problema porque AGE soporta cambiar el idioma del sistema en tiempo de ejecución y además tanto las descripciones, como los nombres de los objetos, etc. se pueden parametrizar de acuerdo con variables del juego. Así que puedes, por ejemplo, guardar una propiedad en una entidad abstracta que represente el idioma, y que según esa propiedad se muestren las cosas en un idioma u otro. Si te bajas el kit de desarrollo, viene con una aventura pequeñita llamada Multilingüe que es un ejemplo de esto. Es una aventura donde hay un botón que, si lo pulsas, cambia el idioma de la aventura de español a inglés o viceversa. Lo mismo lo puedes hacer con un menú, por supuesto.

Coque_Mad escribió:
4) Quisiera hacerlo muy vistoso para atraer a la mayor cantidad de jugadores posible y tengo pensado dividir la pantalla dividida en diferentes áreas.
-Principal: texto descriptivo; texto con respuestas y el promt donde escribe el jugador.
-Informativa: una con la imagen del personaje y su estado (camino, hablando, etc...) y otra con la imagen de la localización en la que se esté en ese momento.
-La última con dos áreas: inventario y un mapa que se va desbloqueando según descubramos nuevas zonas.

También se puede hacer. En AGE puedes dividir la pantalla como quieras mediante el soporte de frames: http://www.caad.es/aetheria/doc/doku.php?id=frames

En los frames se pueden poner imágenes con métodos al efecto, o incluso si quieres puedes obtener el componente Java correspondiente y dibujar tú mismo en él, lo cual puede ser más flexible para el inventario y el mapa.

_________________
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: 01 Sep 2017 22:11 
Desconectado
Enano Maluva
Enano Maluva
Avatar de Usuario

Registrado: 21 Jun 2017 13:16
Mensajes: 45
Ubicación: Madrid
¡Estupendo! Esto sí que es rapidez al contestar. :)
Para lo de Steam a ver si puedo preguntar a los muchachos de La abadía Extensum, que lo hicieron en java y lo tienen en esa tienda.
Ahora solo queda ir escribiendo la aventura tipo novela en un editor de textos que me ayude a pillar pifias ortográficas; que como muchos sabréis al escribir se suelen colar algunas: bien por no darle correctamente a la una tecla; bien por darle a otra al ir deprisa. Que en mi actual juego por ello he cogido alguna que me hizo sangrar los ojos; crear los puzles y empezar con el parser.

_________________
https://skoto3d.jimdofree.com/


Arriba
 Perfil  
 
NotaPublicado: 02 Sep 2017 00:25 
Desconectado
Implementador
Implementador

Registrado: 09 Jun 2010 14:50
Mensajes: 1655
Ubicación: Argentina
Primero que nada, enhorabuena por la nueva aventura en siernes.
De las cuestiones que consultas, en relación con la primera que es en la que más te puedo asistir, tal como te dijo Al-K, AGE es accesible si se habilita JavaAccessBridge y aparte AGE tiene un modo especial para lectores de pantalla. Si bien por el carácter multiplataforma AGE no puede directamente enviar la salida de texto a un motor de TTS al pulsar ENTER, el modo lector de pantalla acelera la consulta del texto resultante del último comando ya que al pulsar TAB para ir al cuadro de edición de sólo lectura de la salida, en vez de que el cursor esté al final de todo el texto como es habitual, con el modo lector de pantalla el cursor permanece donde estaba y entonces pueden emplearse comandos de lectura o navegación de texto estándar tanto de Windows como de los lectores de pantalla, tal como las flechas para moverse o INSERT+ABAJO que en los lectores suele servir para iniciar una lectura continua desde donde estamos hasta el final del texto.
Java Access Bridge antes había que instalarlo, pero desde hace unos tres o cuatro años la instalación estándar del Java Runtime lo incluye y sólo es cuestión de habilitarlo, ya sea a través de la línea de comandos o en el enlace Facilitar el uso del equipo que figura en el Centro de Accesibilidad de Windows (Windows Vista y posteriores). En Mac el propio lector VoiceOver de Apple integra compatibilidad con Java de serie, con lo cual no hay que hacer nada. En GNU/Linux, por desgracia, no tengo idea.

Ánimo con el proyecto, y si necesitares a alguien que dé un repaso a los textos no dudes en escribirme.


Arriba
 Perfil  
 
NotaPublicado: 02 Sep 2017 09:42 
Desconectado
Enano Maluva
Enano Maluva
Avatar de Usuario

Registrado: 21 Jun 2017 13:16
Mensajes: 45
Ubicación: Madrid
Fernando Gregoire escribió:
Primero que nada, enhorabuena por la nueva aventura en siernes.
De las cuestiones que consultas, en relación con la primera que es en la que más te puedo asistir, tal como te dijo Al-K, AGE es accesible si se habilita JavaAccessBridge y aparte AGE tiene un modo especial para lectores de pantalla. Si bien por el carácter multiplataforma AGE no puede directamente enviar la salida de texto a un motor de TTS al pulsar ENTER, el modo lector de pantalla acelera la consulta del texto resultante del último comando ya que al pulsar TAB para ir al cuadro de edición de sólo lectura de la salida, en vez de que el cursor esté al final de todo el texto como es habitual, con el modo lector de pantalla el cursor permanece donde estaba y entonces pueden emplearse comandos de lectura o navegación de texto estándar tanto de Windows como de los lectores de pantalla, tal como las flechas para moverse o INSERT+ABAJO que en los lectores suele servir para iniciar una lectura continua desde donde estamos hasta el final del texto.
Java Access Bridge antes había que instalarlo, pero desde hace unos tres o cuatro años la instalación estándar del Java Runtime lo incluye y sólo es cuestión de habilitarlo, ya sea a través de la línea de comandos o en el enlace Facilitar el uso del equipo que figura en el Centro de Accesibilidad de Windows (Windows Vista y posteriores). En Mac el propio lector VoiceOver de Apple integra compatibilidad con Java de serie, con lo cual no hay que hacer nada. En GNU/Linux, por desgracia, no tengo idea.

Ánimo con el proyecto, y si necesitares a alguien que dé un repaso a los textos no dudes en escribirme.


Muchas gracias por la aclaración y por el ofrecimiento. Lo tendré en cuenta.

Fuera de la conversación añado que en cuanto a facilidad de uso Mac es el más amigable para el usuario inexperto, encender y punto, contra lo alienante de Linux. Que según mi experiencia personal es de "no toques mucho" porque al final acabas mal.

_________________
https://skoto3d.jimdofree.com/


Arriba
 Perfil  
 
NotaPublicado: 15 Sep 2017 23:32 
Desconectado
Enano Maluva
Enano Maluva
Avatar de Usuario

Registrado: 21 Jun 2017 13:16
Mensajes: 45
Ubicación: Madrid
Se me olvidó preguntar: ¿se pueden poner imágenes en movimiento (*.gif)?

_________________
https://skoto3d.jimdofree.com/


Arriba
 Perfil  
 
NotaPublicado: 16 Sep 2017 19:05 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5300
Ubicación: Coruña
Sí, AGE soporta GIFs animados. http://www.caad.es/aetheria/doc/doku.php?id=imagenes

_________________
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: 13 Feb 2018 22:41 
Desconectado
Enano Maluva
Enano Maluva
Avatar de Usuario

Registrado: 21 Jun 2017 13:16
Mensajes: 45
Ubicación: Madrid
Después de un tiempo vuelvo para preguntar una cosa en relación a los frames.
Resulta que más o menos lo principal lo tengo y sería como lo describo en el esquema.

|----------------------------------------------------------------------------------------------|
| |
| Imagen del escenario |
| |
|----------------------------------------------------------------------------------------------|
| |
| |
| Frame donde describo situaciones, escenarios, eventos, etc... |
| |
| |
|-----------------------------------------------------------------------------------------------|
| Promt


Vale, lo que yo quisiera hacer es colocar botones a modo de acceso en mitad de la pantalla situados en las mitades: superior y derecha para que el usuario pueda acceder al mapa, ficha del personaje e inventario. Y que también se pueda acceder desde el promt, por supuesto.
El mapa no tiene mucho misterio. En el primero se ve que zonas has visitado para no perderte. El de la ficha tiene más miga y sería más o menos como uno que se puede ver en el típico jrpg.

Imagen

Y que al pulsar el botón o tecleando el comando correspondiente te lleve a una de esas secciones dentro de ese mismo frame.
También añadir otro botón para ocultar esa sección.
¿Se podría hacer o sería muy complicado?

_________________
https://skoto3d.jimdofree.com/


Arriba
 Perfil  
 
NotaPublicado: 15 Feb 2018 00:38 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5300
Ubicación: Coruña
Se puede hacer, lo que pasa es que para hacer esas cosas se trabaja con la API de Swing que proporciona Java. Como esto no es una cosa muy estándar, AGE no viene con una capa personalizada para capturar clicks y, en función de eso, gestionar una interfaz cambiando imágenes, etc.

Lo que te proporciona es una manera de acceder al propio frame, véase el método getFrame de InputOutputClient que se documenta aquí:

http://www.caad.es/aetheria/doc/doku.php?id=frames

Cada frame es un objeto JPanel de Swing ( https://docs.oracle.com/javase/7/docs/a ... Panel.html ) y una vez que has accedido a él, puedes hacer de todo lo que te permita Swing: añadir listeners para capturar los clicks del ratón en la posición que quieras, cambiar según eso la imagen que muestras, incluso añadir componentes del sistema como botones pulsables, combo boxes, etc. Cualquier cosa que puedas programar en Swing, básicamente.

Esto te proporciona una gran flexibilidad (básicamente ilimitada), pero como contrapartida requiere usar Swing, librería más compleja que las APIs que normalmente encontramos en AGE, y que requiere tener un poco de cuidado con el threading, etc. Pero bueno, ya lo decían en Spiderman, "un gran poder conlleva una gran responsabilidad". Si uno quiere hacer cosas avanzadas con gráficos, tampoco queda otra, un wrapper sencillo va a tener funcionalidad también sencilla y se va a quedar corto en un momento u otro.

_________________
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: 15 Feb 2018 11:28 
Desconectado
Enano Maluva
Enano Maluva
Avatar de Usuario

Registrado: 21 Jun 2017 13:16
Mensajes: 45
Ubicación: Madrid
Bastante complicado la verdad :shock:
Yo que en programación ando lo justo no sé si tendría que instalar algo para eso de Swing.
Por cierto, no sé si está explicado en el manual porque acabo de empezar con la parte de Beanshell (corro mucho), ¿cómo es el tema de subir de nivel y repartir los puntos de experiencia?

_________________
https://skoto3d.jimdofree.com/


Arriba
 Perfil  
 
NotaPublicado: 15 Feb 2018 13:05 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5300
Ubicación: Coruña
Bueno, es que hacer interfaces gráficas de usuario que responden a eventos sobre distintas zonas de una imagen, etc., es complicado de por sí... no hay mucho que uno pueda hacer al respecto. Es uno de los principales motivos por los que me puse a hacer aventuras de texto, no creas... la programación de interfaces, siendo además negado para todo lo que sea diseño gráfico, siempre me cuesta muchísimo :D

Para hacerlo con Swing no tienes que instalar nada. Es la API para hacer interfaces gráficas que viene incluida en Java, que lógicamente ya lo tienes si estás programando en AGE. Lo que necesitarás hacer es aprender a programar en Swing. Pero eso te pasará con cualquier herramienta con la que quieras hacer una interfaz gráfica.

Me comentaba el otro día dddddd en el canal que la aventura "Una de dragones", versión AGE, de edlobez tiene un mapa dinámico que va cambiando según las localidades que explora, siempre puedes probar a mirar su código y usarlo de ejemplo de cómo hacer cosillas con Swing.

Acerca de experiencia y niveles, el sistema de evolución que viene implementado en AGE por defecto para el combate (y que se puede usar también para otras habilidades que no sean de combate, por supuesto) es basado en habilidades: http://www.caad.es/aetheria/doc/doku.ph ... te_y_armas

Es decir, con ese sistema, hay una serie de habilidades (las que quieras según lo que necesite tu juego, por ejemplo espada, escudo, saltar, etc.) que pueden tener una evolución independiente.

Eso no quiere decir que no puedas usar esto para tener un sistema más sencillo con puntos de experiencia y niveles, de hecho, es muy fácil: puedes hacerlo utilizando una única habilidad (llamada "experiencia", por ejemplo) y que todo lo que haga el personaje dependa de esa misma habilidad, en lugar de tener habilidades separadas para cada cosa. O bien puedes tener habilidades separadas y a la vez que todo lo que hagas te aumente también la "experiencia" (como ves en la documentación, por ejemplo, un mismo ataque con un arma puede aumentar varias habilidades).

Los puntos en las habilidades (una de las cuales puede ser la experiencia) se reparten automáticamente en el combate, ya que el sistema de combate está preprogramado en AGE (salvo que quieras cambiarlo por otro). En lo que no es el combate, los repartirías tú mediante los métodos getSkill y setSkill del enlace. Por ejemplo, si tienes un código para que el jugador salte por encima de un abismo, le podrías meter un chequeo de que getSkill sea mayor que una determinada cantidad (para ver si lo consigue y se cae) y, si lo consigue, usar setSkill para cambiarle la habilidad de saltar, y/o la experiencia.

_________________
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: 15 Feb 2018 13:41 
Desconectado
Enano Maluva
Enano Maluva
Avatar de Usuario

Registrado: 21 Jun 2017 13:16
Mensajes: 45
Ubicación: Madrid
Como dice el dicho: "El que algo quiere algo le cuesta.", y es que me gustaría llevar la experiencia jrpg al terreno de lo conversacional para que el público invidente también pueda disfrutarlo.
No sé si me estaré metiendo en un jardín al querer insertar demasiados elementos y de forma tan novedosa, es posible que haya una forma de acceder a: la ficha del personaje, inventario de cada uno (aquí mejor hacerlo compartido), lista de hechizos, atributos, etc... o quizá lo que deba hacer es algo más simple como solo poner el nivel que tienen y el resto gestionarlo por debajo.

Voy preguntando cosas que están más avanzadas y me aturulla un poco :lol:

_________________
https://skoto3d.jimdofree.com/


Arriba
 Perfil  
 
NotaPublicado: 15 Feb 2018 17:06 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5300
Ubicación: Coruña
Claro que puedes acceder a todo eso.

Ficha del personaje, incluyendo habilidades y atributos - usando los métodos getStat() y getSkill() del enlace que puse antes de la documentación.

Inventario - getInventory() - http://www.caad.es/aetheria/doc/doku.ph ... _inventory

Hechizos - getSpells() - http://www.caad.es/aetheria/doc/doku.php?id=hechizos

_________________
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: 15 Feb 2018 23:48 
Desconectado
Enano Maluva
Enano Maluva
Avatar de Usuario

Registrado: 21 Jun 2017 13:16
Mensajes: 45
Ubicación: Madrid
Muchas gracias Al :), por tu tiempo y por AGE.
Mejor tomarlo con calma e ir con pies de plomo para dejarlo todo como lo tengo ideado y no fastidiarlo por las prisas.

_________________
https://skoto3d.jimdofree.com/


Arriba
 Perfil  
 
NotaPublicado: 30 Mar 2018 19:46 
Desconectado
Enano Maluva
Enano Maluva
Avatar de Usuario

Registrado: 21 Jun 2017 13:16
Mensajes: 45
Ubicación: Madrid
Hola Al.
Estoy con el manual "Métodos para quitar, poner y mover entidades", parte del (plátano) y tengo un problema con el parser y es que se lia con un verbo, desconozco y ocurre con más. Pongo el código.

if(equals(verb,"pelar") || equals(verb,"mondar") || equals(verb,"descortezar"))
{
if(aCreature.hasItem(self)){
aCreature.write("Con delicadeza vas pelando el plátano.\n");
aCreature.addItem(item("piel de plátano"));
aCreature.addItem(item("plátano pelado"));
aCreature.removeItem(self);
end();
}
else if(aCreature.getRoom().hasItem(self)){
aCreature.write("Te agachas a cogerl el plátano y con delicadeza lo vas pelando.\n");
aCreature.addItem(item("piel de plátano"));
aCreature.addItem(item("plátano pelado"));
aCreature.removeItem(self);
end();
}
else{
aCreature.write("Deberías cogerlo antes.\n");
end();
}

Si escribo en el promt la orden "mondar plátano" me devuelve "¿cómo? ¿sondar plátano?, en cambio con los otros dos vervos no hay problema. ¿A qué puede ser debido?

Edito. Una cosa que se podría mejorar de cara al futuro sería ponerle autocompletado y una lista de los metodos que tienen los objetos al poner el punto, como en Visual Studio. Creo que sería más cómodo para el programador.

_________________
https://skoto3d.jimdofree.com/


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 28 mensajes ]  Ir a página 1, 2  Siguiente

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados


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