CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 15 Sep 2019 17:50

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 36 mensajes ]  Ir a página 1, 2, 3  Siguiente
Autor Mensaje
NotaPublicado: 02 Jul 2013 17:48 
Desconectado
Elfito
Elfito

Registrado: 01 Jul 2013 18:25
Mensajes: 14
Hola a todos,

acabo de descubrir este foro y he decidido lanzarme y escribir mi primer post. Soy programador aficionado y estoy creando una aventura conversacional para tablets android. El parser lo he creado desde cero y no tengo ninguna experiencia previa en creación de aventuras, aunque como jugador si que he jugado a bastantes en la época de 8 y 16 bits.

La programación la tengo bastante avanzada (los avances son bastante lentos por el poco tiempo de ocio disponible) y me gustaría realizar alguna aventurilla aceptable y colgarla en el market de forma gratuita y ver la respuesta de la gente. Si alguien se quisiera apuntar haría falta algún guionista, grafista y la secretaria que cogiera las llamadas :P .

Otra opción sería coger alguna aventura ya creada y adaptarla con la ayuda de su creador, por supuesto.

He creado una pequeña prueba de concepto para ir testeando el software. Cuelgo unas fotos:

Imagen

Imagen

Imagen




Y un video corriendo en el emulador de android (huelga decir que en la tablet el funcionamiento es totalmente fluido):

http://www.youtube.com/watch?v=MyN9uaDJxzM


Arriba
 Perfil  
 
NotaPublicado: 04 Jul 2013 20:06 
Desconectado
Enano Maluva
Enano Maluva

Registrado: 09 Abr 2013 13:18
Mensajes: 38
Hola Ivanguerr,

tiene muy buena pinta. Me gustaría poder decirte que me sumo al proyecto, pero la verdad es que no tengo credenciales que me avalen, ya que no he programado ninguna aventura (ahora mismo me encuentro enfrascado en una con Inform7).

Ojalá la cosa tire pa'lante!!


Arriba
 Perfil  
 
NotaPublicado: 05 Jul 2013 09:24 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5308
Ubicación: Coruña
Muy interesante proyecto. Siento no poder ayudar gran cosa, porque no sé dibujar y como guionista... bueno, si no programo yo mis propias aventuras es más que nada porque no se me ocurren buenas ideas.

Por cierto, que sepas que hay un sistema de creación de aventuras en Java que es totalmente libre, AGE (http://code.google.com/aetheria). Pero sólo tiene cliente para Java de escritorio. Portarlo a Android sería un proyecto muy interesante, y "sólo" habría que programar lo que es la interfaz de usuario, todo lo que es el núcleo (que lee los ficheros de las aventuras, simula el mundo, ejecuta scripts, etc.) en principio ya valdría porque es Java estándar. Just sayin'.

_________________
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: 05 Jul 2013 14:20 
Desconectado
Elfito
Elfito

Registrado: 01 Jul 2013 18:25
Mensajes: 14
Gracias por las respuestas. Simplemente es una vía para acercarme al mundo de la programación en android. Comencé sin tener mucha idea a donde quería ir, poco a poco y a lo tonto he visto que tal vez se pueda conseguir una aventurilla aceptable. Lo malo es que cuando te pones a pensar en una historia te das cuenta que no vales para eso, que si te gusta programar, dedícate a programar y deja las historias para los que se les de bien. Imagino que programadores hay a patadas y grafistas y guionistas los menos. Así que estoy buscando algún relato breve con licencia creative commons o de algún autor muerto hace años cuyos derechos de autor hayan expirado.

¿Java? No tengo ni puñetera idea, utilizo Basic4android que es un entorno de programación para aquellos que programaban hace años en Visual Basic :lol: que como programador "aficionaillo" es lo que estudié y practiqué años ha.

Pero bueno, dicen por ahí que querer es poder.


Saludos.


Arriba
 Perfil  
 
NotaPublicado: 05 Jul 2013 18:43 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 24 Dic 2010 14:37
Mensajes: 928
Qué clase de guión quieres?


Arriba
 Perfil  
 
NotaPublicado: 06 Jul 2013 10:25 
Desconectado
Elfito
Elfito

Registrado: 01 Jul 2013 18:25
Mensajes: 14
Johan Paz escribió:
Qué clase de guión quieres?


¿A qué te refieres con el tipo de guión?


Arriba
 Perfil  
 
NotaPublicado: 07 Jul 2013 19:53 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 24 Dic 2010 14:37
Mensajes: 928
Pues: género, nivel de detalle que necesitas, época, lo que sea... dame algo de lo que arrancar y te mando alguna opción.


Arriba
 Perfil  
 
NotaPublicado: 08 Jul 2013 18:26 
Desconectado
Elfito
Elfito

Registrado: 01 Jul 2013 18:25
Mensajes: 14
Johan Paz escribió:
Pues: género, nivel de detalle que necesitas, época, lo que sea... dame algo de lo que arrancar y te mando alguna opción.


Te envío un privado, mejor.


Arriba
 Perfil  
 
NotaPublicado: 16 Ago 2013 14:38 
Desconectado
Elfito
Elfito

Registrado: 01 Jul 2013 18:25
Mensajes: 14
Hola de nuevo,

poco a poco estoy dando forma a la aventura. Eso sí, voy mucho más lento de lo que nunca hubiera imaginado. Conforme la historia se va haciendo mayor me ha surgido una duda.

Entiendo que hay una serie de respuestas negativas predeterminadas para ciertas acciones. Por ejemplo, cuando se utiliza el verbo 'usar' en objetos que no existen o que no pueden ser utilizados en ese momento o de la forma que intenta el jugador, aparecerán diversas respuestas aleatorias como 'no puedes utilizar ese objeto', 'el objeto no se puede utilizar ahí'... y frases parecidas. Otro camino es predecir de antemano las posibles acciones del usuario e intentar que a cada acción le corresponda una respuesta exclusiva. Este camino es el que he empezado a utilizar, pero en cuanto aparecen varias localizaciones, varios objetos en las escenas con los que interactuar y objetos en el inventario, las acciones posibles crecen exponencialmente y es prácticamente imposible predecir todas las interacciones entre objetos, personajes....

Me gustaría saber como planteáis vuestras aventuras en este aspecto.

Saludos.


Arriba
 Perfil  
 
NotaPublicado: 17 Ago 2013 15:14 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1893
Entiendo que lo habitual es dar respuestas personalizadas donde tenga sentido para el juego/historia y dejar que los mensajes por defecto se encarguen del resto.

Además, podría ser buena idea personalizar ciertos mensajes por defecto según la historia. Por ejemplo, teniendo en cuenta la ambientación o la personalidad del personaje jugador, si es que no es "anónimo".

Los mensajes por defecto dependen de si el parser ha sabido reconocer la frase, de los objetos al alcance, vocabulario, acción, "modelo de mundo", etc.

Todo esto, suele ser aplicable a los juegos creados con algún sistema de creación. Entiendo que tu juego se basa en tu propio sistema, que no sé en cómo funciona. Quizás tendrías que implementar alguna funcionalidad para aplicar estas teorías.

Como bien dices, la cosa se puede ir de las manos... pero unas cuantas reglas lógicas pueden evitarte tener que controlar cada una de las situaciones/frases concretas o, lo que es peor, tener que repetir código para ligeras variantes.

Espero haber entendido bien tu duda y haber arrojado algo de luz al asunto. A ver si algún otro autor nos da más puntos de vista.

Si no me he explicado con suficiente claridad, no dudes en pedir aclaraciones.

Un saludo,
dddddd.-


Arriba
 Perfil  
 
NotaPublicado: 17 Ago 2013 19:27 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 23 Mar 2010 20:11
Mensajes: 1141
Ubicación: Valencia
Lo que puedes hacer es cogerte la lista de acciones/verbos de Inform, por ejemplo, o de AGE, e implementarlas en tu aventura, poniéndoles una frase por defecto acorde.

Si sobre un objeto no se puede usar cierta acción, la aventura responderá con la frase por defecto correspondiente.

Por ejemplo, en Inform, la acción Oler devuelve por defecto "No huele a nada". Entonces cuando en tu aventura el jugador ponga OLER LA PUERTA, si oler la puerta no es necesario en tu aventura, pues se le dirá al jugador que no huele a nada. Si oler la puerta tuviese sentido dentro de la aventura, pues ya implementas la acción OLER sobre la puerta, devolviendo el texto que corresponda.

Respecto al otro aspecto, una vez tienes la frase del usuario unos pasos básicos serían los siguientes:
1- Detectar el verbo/acción -> Si no lo detectas, poco vas a poder hacer más, así que informas al jugador algo así como "No entiendo lo que intentas hacer".
2- Una vez tienes la acción, tienes 3 opciones:
2.1- Que la acción no requiera objetos. (MIRAR)
2.2- Que la acción requiera un objeto. (CERRAR CAJA)
2.3- Que la acción requiera 2 objetos. (CERRAR PUERTA CON LLAVE DORADA)
2.4- Una o varias de las anteriores. (por ejemplo la acción CERRAR se puede usar con un objeto o con dos)
3- Detectas el o los objetos a los que se ha referido el jugador en su frase. Si alguno no lo detectas, es que el usuario ha hecho referencia a algún objeto que no tienes implementado en la aventura, por lo que convendría contestar con algo parecido a "No ves eso".
4- Si la acción más los objetos que has detectado no cuadra con la forma correcta que esperas para la acción, por ejemplo, el usuario ha escrito CERRAR sin objetos, le podrías informar de que ha escrito mal la orden... "USO: CERRAR objeto [CON objeto]"... o "No sé que cerrar".
5- Una vez tengas la acción más todos los objetos necesarios correctamente, ejecutas la acción sobre los objetos (normalmente sería ejecutarla sobre el objeto 1, usando el objeto 2 como herramienta o apoyo)
5.1- Si la acción no aplica sobre el objeto, devuelves la frase por defecto: CERRAR MAR -> Eso no es algo que se pueda cerrar.
5.2- Si la acción aplica, pues ya ejecutas lo que toque: ABRIR BARRIL CON BARRA DE HIERRO -> Metes la barra por debajo de la tapa y forzándola consigues abrir el barril... (obviamente previa comprobación que para abrir el barril se necesitaba la barra de hierro). ABRIR BARRIL CON LLAVE DORADA -> Por más que te esfuerzas, no consigues abrir el barril.
6- Esperas la siguiente orden del usuario.

Con estos pasos, yo creo que puedes pillar más del 90% de acciones que se pueden usar en una conversacional... Luego ya lo puedes complicar todo lo que quieras :D

_________________
El humor existe para recordarnos que por muy alto que sea el trono en el que uno se siente, todo el mundo usa su culo para sentarse.


Arriba
 Perfil  
 
NotaPublicado: 18 Ago 2013 07:49 
Desconectado
Elfito
Elfito

Registrado: 01 Jul 2013 18:25
Mensajes: 14
Gracias por las respuestas.

A Joruiru:

El parser es muy limitado pero sí que detecta el verbo, el primer objeto a usar y el segundo objeto sobre el que se realizará la acción (si es que es necesario un segundo objeto). El tema del verbo también lo tengo implementado mediante sinónimos, para coger un objeto se puede utilizar "coger tomar agarrar prender aferrar trabar recopilar recolectar atrapar pilla" o para subir una muralla 'subir escalar ascender trepar elevar aupar remontar' por citar un par de ejemplos.

He creado una serie de respuestas predeterminadas para diferentes tipos de acciones básicas:
-Cuando no se puede coger un objeto porque no existe o en ese momento no está disponible dispongo de unas cuantas respuestas del tipo 'No se puede coger el objeto' 'prueba a hacer otra cosas antes de cogerlo'.
-Lo mismo cuando no se puede examinar el objeto, para direcciones erróneas, el objeto no está en el inventario, no se puede hablar con personajes ,etc....

Más o menos he conseguido que el parser devuelva respuestas coherentes. En caso de no entender el verbo utilizado (oler no lo he implementado :P ) ya dispongo de una lista de respuestas del tipo 'No entiendo'', 'prueba con otras palabras'.
Muy interesante lo que comentas sobre obtener una lista de verbos de otro parser como Inform o AGE y ver su implementación.

A ddddd:

El responder a todo de forma personalizada se me ha ido de las manos enseguida. De momento tengo unas 10 localidades creadas, con unos 70 objetos que pueden ser examinados. Si el jugador tiene en el inventario un par de objetos, y suponiendo que el jugador quisiera usar esos objetos en los 70 objetos, ya tengo que prever 140 respuestas. Algo bastante descabellado. Dando por hecho que el verbo sea usar, imagina que no es la misma respuesta 'usar objeto1 en objeto2' que 'golpear objeto1 en objeto2'.

Supongo que habrá que buscar un término medio e implementar respuestas personalizadas para aquellas acciones más comunes y corrientes, aquellas que el jugador podría llegar a hacer sin ser acciones rebuscadas como por ejemplo 'usar pollo de goma en polea'. :lol:


Arriba
 Perfil  
 
NotaPublicado: 18 Ago 2013 21:58 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1893
Creo que definitivamente estamos llegando al concepto modelo de mundo (las "reglas lógicas" a las que me refería), que se podría encargar (entre otras cosas) de dar respuesta a todo lo que no trata el autor específicamente. A este nivel, no se suelen manejar los objetos como individuales, sino como parte de una categoría (quizás por tener una determinada propiedad, por jerarquías/herencias...). Se podría decir que se trata de luchar contra la combinatoria mediante la generalización.

Tu modelo de mundo podría ser tan sencillo o complejo como quieras/necesites. ¿Algún atisbo de él en tu implementación?

¿Tienes los objetos categorizados de alguna manera?

Quizás no es el mejor ejemplo pero, una categoría podría incluir aquellos objetos con los que no va a haber posible interacción. De un plumazo podrías responder, en última instancia, a un montón de las combinaciones con un algo similar a "no tiene utilidad en esta aventura". Seguramente en algun momento haya que decir "basta" y vivir con este tipo de respuestas.

Otro ejemplo, quizás algo mejor, es que podrías detectar que algo no se puede meter en un no-contenedor.

En cuanto a mirar las acciones de otros sistemas... decir que AGE no proporciona apenas modelo de mundo de serie (encontrarás movimiento, ropaje, combate, hechizos y poco más, como se puede intuir viendo el fichero messages.lan). En cambio, sí es interesante a este respecto la librería de TADS.

Se me ocurre que es importate tener en cuenta que, si el juego es la meta de tu desarrollo, tendrás que sacrificar sofisticación del sistema, porque sino es posible que el juego no vea la luz a corto plazo. El betatesting podrá darte ideas sobre a qué dar prioridad.

Creo que el polémico verbo "usar" aumentar el trabajo, por la ambigüedad extra que introduce en el análisis de la orden del jugador, pero también puede llevar a simplificación, como se intuye de otros enfoques, que se alejan un tanto del tipo de introducción de órdenes que estás usando. Por ejemplo, admitir el nombre de un objeto como orden, dar el "usar" por implícito y no existir otra acción a la "obvia" (incluso con participación de otro objeto).

Todo esto, por supuesto, opiniones personales y seguramente ingenuas.

Es un interesante tema y no me importaría ver qué otros enfoques se le pueden dar al asunto. En concreto, alternativas a la categorización. ¿Análisis estádistico?


Arriba
 Perfil  
 
NotaPublicado: 19 Ago 2013 10:41 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5308
Ubicación: Coruña
En estas cosas hay tantas opiniones como personas, pero la mía siempre ha sido que es contraproducente poner en las librerías por defecto un sinfín de mensajes por defecto para distintas acciones.

Al final el resultado suele ser que los autores de aventuras no cambian los mensajes (o no todos), con lo cual se producen resultados del tipo:

Citar:
Te despiertas en una cama de hospital. Mirando tu cuerpo, compruebas horrorizado que no tienes piernas. Probablemente pisaste una de esas malditas minas antipersonales.
> saltar
Saltas en el sitio, sin ningún resultado.


O, como haría Jenesis en los testeos:

Citar:
>lamer techo
No saboreas nada inesperado.


Sinceramente me parece más práctico dar una respuesta genérica y no comprometida para todos los verbos no reconocidos por la aventura. Un autor meticuloso creará mensajes que se ajusten a la ambientación de la aventura, evitando pifias como los ejemplos anteriores, así que realmente le dará un poco igual que haya mensajes por defecto o no. Un autor no tan meticuloso no los creará y su aventura dará muchas respuestas genéricas, pero creo que es mucho mejor eso que permitir saltar a un personaje sin piernas.

Si algo me ha quedado claro en mi experiencia aventuril es que las aventuras siguen el principio "There ain't no such thing as a free lunch". Una aventura de calidad tiene un montón de casuística específica y la funcionalidad por defecto de un sistema nunca la va a cubrir toda. Mejor que intentar tener un modelo detallado del mundo que intente dar cobertura a todas las situaciones posibles es aceptar que eso no se puede hacer, y centrarse en que el sistema sea extensible para que el autor pueda extender y modificar el modelo ajustándolo a su idea de aventura en concreto.

_________________
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 Ago 2013 16:19 
Desconectado
Elfito
Elfito

Registrado: 01 Jul 2013 18:25
Mensajes: 14
Leyendo vuestras disquisiciones sobre el asunto, miedo me da el día que tenga que pedir testeadores.


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 36 mensajes ]  Ir a página 1, 2, 3  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 4 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