CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 20 Sep 2019 17:46

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 29 mensajes ]  Ir a página Anterior  1, 2
Autor Mensaje
NotaPublicado: 19 Feb 2010 11:56 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
Y ten en cuenta que no puedes obligar al jugador que juegue en tiempo real sí o sí. Puedes recomendárselo, como hice yo en "Fuego"; pero siempre tendrán la opción de saltarse tu recomendación y quitar el modo tiempo real desde los menús de opciones. En cuyo caso la escena seguiría pudiéndose jugar, pero sólo avanzaría la conversación cuando el jugador hiciese algo (o pusiese "esperar"). Creo que esto no debería ser un problema, porque si alguien quiere hacer eso contra la voluntad del autor él se lo busca; pero te lo advierto para que lo sepas.


Pero en una aventura en tiempo real ¿se puede hacer que arranque desde el principio en tiempo real, o es el propio jugador el que tiene que elegir la opción?
Es que no me gustaría tener que poner una nota para decir al jugador que la aventura se juega en tiempo real y que tiene que elegir esa opción.
¿Se puede configurar la aventura para que arranque en ese modo desde un principio?


Arriba
 Perfil  
 
NotaPublicado: 19 Feb 2010 11:59 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5308
Ubicación: Coruña
Ahora mismo no se puede hacer que la aventura decida arrancar en tiempo real, pero no te preocupes, que lo puedo poner. Es algo que está en la lista de cosas por hacer, pero la típica cosa que no he hecho hasta ahora porque no me urgía. Pero ya que quieres usarlo, no me cuesta nada ponerlo cualquier día de éstos.

_________________
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: 19 Feb 2010 12:02 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
Ahora mismo no se puede hacer que la aventura decida arrancar en tiempo real, pero no te preocupes, que lo puedo poner. Es algo que está en la lista de cosas por hacer, pero la típica cosa que no he hecho hasta ahora porque no me urgía. Pero ya que quieres usarlo, no me cuesta nada ponerlo cualquier día de éstos.


Vale, no hay prisa.
Voy a ver si consigo hacerlo funcionar con psis, que creo queda mucho más creible y merecerá la pena el esfuerzo. Además así los uso un poco que los tengo a los pobres muertos de asco. :lol:


Arriba
 Perfil  
 
NotaPublicado: 19 Feb 2010 12:41 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Tengo mis memorias de programación un tanto oxidadas. :oops:
¿Qué mecanismo me recomiendas que use en AGE, como tabla o matriz para introducir las frases que van a decir los personajes, teniendo en cuenta que van a ser secuenciales?


Arriba
 Perfil  
 
NotaPublicado: 19 Feb 2010 12:45 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5308
Ubicación: Coruña
jenesis escribió:
Tengo mis memorias de programación un tanto oxidadas. :oops:
¿Qué mecanismo me recomiendas que use en AGE, como tabla o matriz para introducir las frases que van a decir los personajes, teniendo en cuenta que van a ser secuenciales?


Bueno, no es que estén oxidadas, es que seguramente nunca has hecho eso en AGE ni en Java... :D

Si van a ser un número fijo de frases (que supongo que sí), lo mejor es un array. Se haría así, por ejemplo:

String[] frases = new String[3];
frases[0] = "La primera frase";
frases[1] = "La segunda frase";
frases[2] = "La tercera frase";

Y luego las usarías con

personaje.say ( frases[1] );

O sea, con frases[i] accedes a la frase número i, y empiezan a contar en 0 (es decir, si el array es de tamaño 3, la primera frase es frases[0] y la última es frases[2]. Si te resulta más cómodo contar desde 1 porque hayas usado otros lenguajes que cuentan desde 1 tipo Pascal y similares, siempre puedes declarar el array con una unidad más de longitud y usar frases[1], frases[2] y frases[3].

_________________
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: 19 Feb 2010 12:53 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
Bueno, no es que estén oxidadas, es que seguramente nunca has hecho eso en AGE ni en Java... :D


Sí, que estoy oxidada, porque eso lo he hecho en basic y en php. :lol:
Arrays... que no me salía la palabreja. :lol:

Citar:
O sea, con frases[i] accedes a la frase número i, y empiezan a contar en 0 (es decir, si el array es de tamaño 3, la primera frase es frases[0] y la última es frases[2]. Si te resulta más cómodo contar desde 1 porque hayas usado otros lenguajes que cuentan desde 1 tipo Pascal y similares, siempre puedes declarar el array con una unidad más de longitud y usar frases[1], frases[2] y frases[3].


No tranquilo, estoy acostumbrada a contar desde cero.
Muchas gracias por refrescarme la memoria. :D


Arriba
 Perfil  
 
NotaPublicado: 19 Feb 2010 13:21 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Necesito saber que n/2 es entero.
¿cómo se hace eso en AGE?


Arriba
 Perfil  
 
NotaPublicado: 19 Feb 2010 13:27 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5308
Ubicación: Coruña
Se hace así:

if ( n % 2 == 0 ) ...

(% es el operador módulo, que en algunos lenguajes se escribe "mod", y te da el resto de dividir un número entre 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: 21 Feb 2010 20:05 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
Ahora mismo no se puede hacer que la aventura decida arrancar en tiempo real


Me conformo con encontrar el menú para arrancarla en tiempo real. :lol:
Que no lo encuentro... :oops:


Arriba
 Perfil  
 
NotaPublicado: 21 Feb 2010 20:08 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5308
Ubicación: Coruña
En la ventanita de la aventura, "Servidor -> Modo de juego -> Tiempo real".

Sí, ya sé lo que me vas a decir... lo de Servidor no es muy intuitivo para el jugador, ¿verdad? :D Sí, creo que lo cambiaré por "Opciones de juego" o algo así.

_________________
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: 21 Feb 2010 20:16 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
En la ventanita de la aventura, "Servidor -> Modo de juego -> Tiempo real".

Sí, ya sé lo que me vas a decir... lo de Servidor no es muy intuitivo para el jugador, ¿verdad? :D Sí, creo que lo cambiaré por "Opciones de juego" o algo así.


Jajajaja!
Pues es que yo estaba mirando en el servidor pero no del juego sino del aetheria y ahí no sale, claro. Es que es confuso encontrar los mismos enunciados en la barra de aetheria y en la del juego.
Y sí, no es nada intuitivo lo de "servidor" xD, y no olvides cambiar lo de "Nueva partida", por "Nueva aventura/juego/historia".

Ah, ya tengo funcionando lo de interrumpir a los psis, y funciona a la perfección, aunque me tendrás que decir cómo alargo la medida de tiempo entre una frase y la otra.
De todos modos he estado haciendo pruebas y ambos modos de juego me gustan, así que tengo que sopesar en cuántas cosas más de la historia me va incidir el hecho de que la aventura sea entera en tiempo real, no vaya a ser que pierda el control de otros eventos. :)


Arriba
 Perfil  
 
NotaPublicado: 21 Feb 2010 20:39 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5308
Ubicación: Coruña
jenesis escribió:
Ah, ya tengo funcionando lo de interrumpir a los psis, y funciona a la perfección, aunque me tendrás que decir cómo alargo la medida de tiempo entre una frase y la otra.


Para alargar la medida de tiempo entre una frase y otra, simplemente dale más tiempo al temporizador.

No sé al final lo que has usado exactamente, pero si el código que has implementado es como el último que pusiste, simplemente en vez de

self.setProperty("discusion", true, 1);

en donde pone 1, pon 2, 3, o el número de unidades de tiempo que quieras que pasen entre una frase u otra.

También hay una manera de cambiar a cuántos milisegundos se traduce exactamente una unidad de tiempo (por defecto es segundo y medio, si no recuerdo mal); pero ahora mismo no me acuerdo de cómo era y no tengo el AGE aquí. Así que prueba con el temporizador, y si quieres hacer un ajuste más fino (por ejemplo porque una unidad de tiempo te parece muy rápido y dos te parece muy lento) por la noche te digo cómo se hace eso.

jenesis escribió:
De todos modos he estado haciendo pruebas y ambos modos de juego me gustan, así que tengo que sopesar en cuántas cosas más de la historia me va incidir el hecho de que la aventura sea entera en tiempo real, no vaya a ser que pierda el control de otros eventos. :)


Que sepas que también existe la posibilidad de cambiar de turnos a tiempo real (o viceversa) en medio de la partida. Es decir, podrías hacer que todo el resto del juego fuese por turnos, y al llegar a la escena de la discusión pasase automáticamente a tiempo real (aunque siempre el jugador tendría la opción de cambiarlo).

No sé si esto es muy recomendable porque es posible que sea algo confuso para el jugador que el modo de juego cambie en medio de la partida; pero te lo digo para que sepas que la posibilidad existe.

_________________
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: 21 Feb 2010 20:46 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
Al-Khwarizmi escribió:
[

Que sepas que también existe la posibilidad de cambiar de turnos a tiempo real (o viceversa) en medio de la partida. Es decir, podrías hacer que todo el resto del juego fuese por turnos, y al llegar a la escena de la discusión pasase automáticamente a tiempo real (aunque siempre el jugador tendría la opción de cambiarlo).


Pues eso también es interesante conocerlo, aunque como dices puede resultar confuso para el jugador que no sepa que puede teclear un comando en medio de una escena. :)
Ya me explicarás como hacer tanto una cosa, como la otra. :)
No hay prisa.


Arriba
 Perfil  
 
NotaPublicado: 22 Feb 2010 16:16 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5308
Ubicación: Coruña
Te pongo aquí cómo se pone el modo turnos o tiempo real mediante código en el AGE, y cómo se ajusta la duración de la unidad de tiempo.

Para poner tiempo real:

Thread.currentThread().setRealTimeEnabled(true);

Para poner turnos: seguro que ya lo adivinas,

Thread.currentThread().setRealTimeEnabled(false);

Para ajustar el número de milisegundos que dura una unidad de tiempo:

Thread.currentThread().setRealTimeQuantum(milisegundos);

Todo esto se puede invocar desde cualquier método de AGE.

Por defecto, la unidad de tiempo dura 1500 milisegundos (o sea, segundo y medio). Se le puede dar el valor que se quiera, pero te recomiendo que no pongas valores muy pequeños (menores de 100 milisegundos o por ahí) porque eso hará que AGE tenga que actualizar el mundo muchas veces por segundo, consumiendo más CPU de lo necesario.

_________________
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  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 29 mensajes ]  Ir a página Anterior  1, 2

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 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:  
cron
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM