CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 24 Jun 2017 23:39

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 23 mensajes ]  Ir a página 1, 2  Siguiente
Autor Mensaje
NotaPublicado: 25 Jun 2016 22:38 
Desconectado
Yiepp
Yiepp
Avatar de Usuario

Registrado: 13 Ene 2015 17:46
Mensajes: 76
Hola. Solo tengo una breve pregunta.
Me gustaría saber qué planes hay de futuro para el desarrollo de Aetheria y su documentación.


Arriba
 Perfil  
 
NotaPublicado: 26 Jun 2016 09:50 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5265
Ubicación: Coruña
Pues como siempre a lo largo de los últimos años, depende básicamente de los usuarios que haya. Últimamente la documentación no está avanzando porque no hay usuarios que lo pidan, y es mucho trabajo para que no la lea nadie. Pero si hay demanda, seguiré en ello, y lo mismo con las mejoras y correcciones que se puedan hacer al sistema en general.

Respecto a esto último, lo úncio que no contemplo son las mejoras que impliquen una reescritura completa casi de cero como pueden ser pasarlo a Android o a Javascript, por ejemplo (que tendría que hacer otra persona, porque yo no tengo conocimientos de esos entornos ni tiempo para adquirirlos). Por lo demás, cualquier mejora que necesitéis en temas de funciones internas, idiomas, multimedia, etc. la puedo implementar. Sólo hacen falta usuarios que las sugieran y me motiven a hacerlo :D

_________________
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: 27 Jun 2016 18:26 
Desconectado
Yiepp
Yiepp
Avatar de Usuario

Registrado: 13 Ene 2015 17:46
Mensajes: 76
Neo_One escribió:
Hombre, eso de que no lo lea nadie... Yo lo estoy leyendo.

Pues me alegra saberlo, en serio :) Si ves alguna errata o algo mejorable, no dudes en o bien decírmelo, o bien pedirme registro en la wiki si quieres editarla tú mismo.

Neo_One escribió:
En el manual creo que podrías meter cómo realizar conversaciones, que por el post de más abajo veo que no está implementado, y en este genero es algo fundamental.

Implementado está, en el sentido de que existen los eventos necesarios para saber quién ha dicho qué, y con ello crear una conversación. Lo que no hay ahora mismo es una implementación por defecto de conversaciones por menús, en principio hay conversación libre y quien quiera menús o algo así se los tiene que hacer.

A ver si añado al manual el tema de conversaciones pues.


Arriba
 Perfil  
 
NotaPublicado: 01 Jul 2016 19:32 
Desconectado
Yiepp
Yiepp
Avatar de Usuario

Registrado: 13 Ene 2015 17:46
Mensajes: 76
Hola de nuevo Al-Khwarizmi.
Otro tema que me preocupa es el tema de la sordera que se está discutiendo en el subforo de Inform. ¿Se está exagerando?. ¿Cómo evitarla?


Arriba
 Perfil  
 
NotaPublicado: 01 Jul 2016 22:33 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5265
Ubicación: Coruña
El tema de la sordera no existe. AGE no tiene ningún problema específico de sordera que no tengan otros sistemas. Los ejemplos que se han puesto en el flame son ejemplos donde el programador olvidó definir una respuesta para un objeto dado, y eso te pasaría igualmente en cualquier sistema. La forma de evitarlo es procurando que si en una descripción se menciona un objeto, la aventura tenga previsto que el jugador quiera interactuar con ese objeto y contemple una respuesta. O sea, con mucho cuidado y mucho testing.

Que yo sepa, hay tres diferencias fundamentales (puede que cuatro) entre las respuestas que puede aceptar AGE e Inform:

1. AGE tiene un parsing más robusto e Inform más estricto. Por ejemplo, si en AGE defines que se pueda abrir una puerta, y el jugador teclea "abre la maldita puerta", AGE lo va a entender aunque "maldita" no esté definido en ningún lado. Simplemente chequea que estén las palabras importantes e ignora el resto. AGE también soporta cosas como la continuación de la entrada anterior ("cojo la espada", "y ahora el escudo"), y tiene integrada corrección tipográfica basada en distancia de Levenshtein (funcionaría "cogeer la espsda"). En Inform esto último (corrección tipográfica) creo que se puede hacer con alguna extensión.

2. Inform tiene una larga lista de respuestas por defecto a verbos, con propósito estético. Por ejemplo, por defecto si pones saltar, te responde "Saltas en el sitio, sin ningún resultado". En AGE no he puesto esto porque personalmente considero que hace más mal que bien, ya que en las aventuras en Inform que he probado, suele romper la inmersión. Por ejemplo, cuando esa respuesta te sale en una escena en la que estás atado e inmovilizado. Por supuesto, eso idealmente no debería pasar porque el programador debería cambiar esas respuestas añadiendo las suyas propias personalizadas según la aventura, pero... precisamente por eso, me parece que hacen más mal que bien. Por ello en AGE sólo hay respuestas por defecto a las órdenes que realmente hacen algo, el resto lo tiene que poner el programador.

3. Si hay varios objetos que se pueden corresponder con la misma orden (tecleas "abre la puerta", y hay dos puertas), Inform te pregunta a cuál te refieres, mientras que AGE tiene un sistema de prioridades y tú le definirías cuál es la puerta que se abre si no se especifica cuál. Personalmente prefiero el sistema de AGE, las preguntas de Inform me suelen frustrar bastante (me he encontrado un montón de veces con "¿qué puerta quieres abrir, la puerta roja o la puerta roja?" "la puerta roja" "¿qué puerta quieres abrir, la puerta roja o la puerta roja?") pero otra gente preferirá el de Inform.

4. Esto no sé si es una diferencia ya, puede que en las últimas versiones de Inform lo hayan mejorado, no estoy muy actualizado. Pero en AGE puedes ir más allá del parsing por defecto. Es decir, por defecto tienes métodos para analizar los casos comunes (verbo + 1 ó 2 entidades del mundo), pero a mayores, si quieres, puedes acceder directamente a la cadena de entrada y hacer lo que quieras con ella: matchear expresiones regulares con la biblioteca que tiene Java para ello, meterla en una red neuronal, o lo que te apetezca. Antes en Inform no se podía, aunque ya digo, tal vez ahora sí.

Personalmente no me voy a meter en la flame sobre qué sistema es mejor, antes me metía en esas cosas pero con los años me cansé. A mí obviamente me gusta más el mío, porque por algo lo desarrollé con las características que yo creía deseables :D Pero otra gente deseará otras. Creo que cada cual debe usar el sistema que mejor le venga, aunque haya quien se lo tome como en Los Inmortales y piense que sólo puede quedar uno.

Por cierto, he empezado a escribir la documentación sobre Eventos, que es el preludio a lo que comentabas de las conversaciones (ya que las conversaciones libres van por eventos). De momento no he llegado a las conversaciones en sí, pero estoy cerca.

http://www.caad.es/aetheria/doc/doku.ph ... de_eventos

_________________
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 Jul 2016 22:59 
Desconectado
Yiepp
Yiepp
Avatar de Usuario

Registrado: 13 Ene 2015 17:46
Mensajes: 76
Genial, gracias por la aclaración y por continuar con la documentación :D En cuanto la tengas en pdf la descargo otra vez 8)
Que quede aquí, Age me gusta más :wink: . Descargas y lo tienes todo, sin tener que buscar extensiones.


Arriba
 Perfil  
 
NotaPublicado: 02 Jul 2016 18:59 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 24 Dic 2010 14:37
Mensajes: 859
A ver, algunas aclaraciones...

Al-Khwarizmi escribió:
El tema de la sordera no existe. AGE no tiene ningún problema específico de sordera que no tengan otros sistemas. Los ejemplos que se han puesto en el flame son ejemplos donde el programador olvidó definir una respuesta para un objeto dado, y eso te pasaría igualmente en cualquier sistema. La forma de evitarlo es procurando que si en una descripción se menciona un objeto, la aventura tenga previsto que el jugador quiera interactuar con ese objeto y contemple una respuesta. O sea, con mucho cuidado y mucho testing.


Sí y no. La responsabilidad es del autor, la facilidad que se le pone al mismo depende del sistema de autoría. No entiendo que no se pueda discutir sobre qué sistema de autoría lo pone más fácil o más difícil y en qué aspectos.

Al-Khwarizmi escribió:
Que yo sepa, hay tres diferencias fundamentales (puede que cuatro) entre las respuestas que puede aceptar AGE e Inform:

1. AGE tiene un parsing más robusto e Inform más estricto. Por ejemplo, si en AGE defines que se pueda abrir una puerta, y el jugador teclea "abre la maldita puerta", AGE lo va a entender aunque "maldita" no esté definido en ningún lado. Simplemente chequea que estén las palabras importantes e ignora el resto. AGE también soporta cosas como la continuación de la entrada anterior ("cojo la espada", "y ahora el escudo"), y tiene integrada corrección tipográfica basada en distancia de Levenshtein (funcionaría "cogeer la espsda"). En Inform esto último (corrección tipográfica) creo que se puede hacer con alguna extensión.


Todo esto es correcto. Inform no trae por defecto un parser laxo. Ahora puedes meter actividades que te permiten descargar muchas palabras, etc... pero sigue sin ser un parser laxo. Esto sí lo considero un defecto de Inform.

Al-Khwarizmi escribió:
2. Inform tiene una larga lista de respuestas por defecto a verbos, con propósito estético. Por ejemplo, por defecto si pones saltar, te responde "Saltas en el sitio, sin ningún resultado". En AGE no he puesto esto porque personalmente considero que hace más mal que bien, ya que en las aventuras en Inform que he probado, suele romper la inmersión. Por ejemplo, cuando esa respuesta te sale en una escena en la que estás atado e inmovilizado. Por supuesto, eso idealmente no debería pasar porque el programador debería cambiar esas respuestas añadiendo las suyas propias personalizadas según la aventura, pero... precisamente por eso, me parece que hacen más mal que bien. Por ello en AGE sólo hay respuestas por defecto a las órdenes que realmente hacen algo, el resto lo tiene que poner el programador.


Falso. Infom no trae un 'larga lista de respuestas por defecto' lo que tiene Inform es una larga lista de acciones por defecto. Lo que es bastante diferente. Las acciones por defectos permiten meter reglas complejas que disparan cambios del estado del mundo y respuestas diversas. Pero lo importante no es que tenga las respuestas por defectos, sino que abstrae el parseado y el autor trabaja normalmente sobre acciones. Este es el punto clave en el que considero que el diseño de AGE es equivocado. AGE en lugar de esas acciones por defecto te obliga a poner el 'verbo' en las funciones de parser correspondientes o sino genera un 'no se puede hacer', que desde mi punto de vista es muchísimo peor que la respuesta por defecto que Al-K dice que rompe la inmersión, pero sobre todo a mí me dificulta demasiado el trabajo al estar tan unido la respuesta y la realización de los cambios del estado del mundo con el nivel de análisis de la respuesta del usuario.

Al-Khwarizmi escribió:
3. Si hay varios objetos que se pueden corresponder con la misma orden (tecleas "abre la puerta", y hay dos puertas), Inform te pregunta a cuál te refieres, mientras que AGE tiene un sistema de prioridades y tú le definirías cuál es la puerta que se abre si no se especifica cuál. Personalmente prefiero el sistema de AGE, las preguntas de Inform me suelen frustrar bastante (me he encontrado un montón de veces con "¿qué puerta quieres abrir, la puerta roja o la puerta roja?" "la puerta roja" "¿qué puerta quieres abrir, la puerta roja o la puerta roja?") pero otra gente preferirá el de Inform.


Desactualizado: http://dhayton.haverford.edu/wp-content ... 17_19.html

Al-Khwarizmi escribió:
4. Esto no sé si es una diferencia ya, puede que en las últimas versiones de Inform lo hayan mejorado, no estoy muy actualizado. Pero en AGE puedes ir más allá del parsing por defecto. Es decir, por defecto tienes métodos para analizar los casos comunes (verbo + 1 ó 2 entidades del mundo), pero a mayores, si quieres, puedes acceder directamente a la cadena de entrada y hacer lo que quieras con ella: matchear expresiones regulares con la biblioteca que tiene Java para ello, meterla en una red neuronal, o lo que te apetezca. Antes en Inform no se podía, aunque ya digo, tal vez ahora sí.


Desactualizado:


Al-Khwarizmi escribió:
Personalmente no me voy a meter en la flame sobre qué sistema es mejor, antes me metía en esas cosas pero con los años me cansé. A mí obviamente me gusta más el mío, porque por algo lo desarrollé con las características que yo creía deseables :D Pero otra gente deseará otras. Creo que cada cual debe usar el sistema que mejor le venga, aunque haya quien se lo tome como en Los Inmortales y piense que sólo puede quedar uno.


Estoy de acuerdo con que no merece la pena hacer flame, pero también en necesario que quede clara la situación de desarrollo de cada sistema.

Los dos sistemas han avanzado mucho, pero no entiendo porqué te resistes a separar el nivel de parseado del nivel de acción. Me parece que se simplifica mucho el trabajo del autor si se trabaja a nivel de acción. Ahora mismo para verbos 'no estándar', es necesario hacerlo a la PAWS -es decir, verificando verbos y objetos- y unir justo en ese condicional lo que quieres que sea la respuesta o el cambio. Así que en el fondo es como cuando en PAWS, pero peor, porque la sintaxis es mucho más verbosa y trabajosa.

Ejemplo PAWS:

Código:
LAMER VERRUGA
 PRESENT oVerruga
 WRITE "Paugh... no me seas asqueroso..."
 DONE


Ejemplo AGE:

Código:
En el objeto 'verruga'...

void parseCommand( Mobile aCreature , String verb , String args )
{
    if ( equals(verb,"lamer") )
    {
        aCreature.writeAction("Puagh... no me seas asqueroso...");
        end();   
    }
}


¿De verdad no te parece en exceso verboso? ¿De verdad? Y los casos de la generalización... puff... en el caso de PAWS se hacían con apaños -usando propiedades binarias de los objetos y antes de los nuevos PAWS con rangos de objetos numéricos- en el caso de AGE se haría mediante la herencia -entiendo- creando una categoría que contendría en el padre, en el parseCommand esa entrada de lamer. La relación de cómo los parserCommand se ejecutan a lo largo de la jerarquía de la herencia eso ya se lo dejo a Al-K, pero mi opinión es que tampoco está bien.

No sé... parece que yo le tuviese inquina en concreto al AGE, pero la verdad es que lo que llevo son años intentando sugerir cambios que podrían hacerlo mucho más atractivo para el autor, simplificando su trabajo y centrándolo en la historia y sus textos en lugar de tener que pensar como un programador.

No quiero molestar más. Y pido disculpa por la flame.


Arriba
 Perfil  
 
NotaPublicado: 02 Jul 2016 22:31 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5265
Ubicación: Coruña
Johan Paz escribió:
Sí y no. La responsabilidad es del autor, la facilidad que se le pone al mismo depende del sistema de autoría. No entiendo que no se pueda discutir sobre qué sistema de autoría lo pone más fácil o más difícil y en qué aspectos.

Se puede discutir, simplemente yo estoy ya un poco cansado de discutir estas cosas, me hago viejo :D

En mi opinión personal, las aventuras de Inform parten con un hándicap ya por definición a la hora de aspirar a no ser sordas, debido a la gramática estricta. Sólo aceptan órdenes en formato telegráfico. El sistema de parsing de AGE lo diseñé en su momento después de hacer pruebas de usabilidad con novatos totales, viendo lo que tecleaban, y es mucho más robusto en la práctica.

Sobre la facilidad de añadir descripciones o reacciones de distintos objetos, ya depende de qué sistema le guste a uno. Para mí es más fácil en AGE, entiendo que para otra gente no.

Johan Paz escribió:
Falso. Infom no trae un 'larga lista de respuestas por defecto' lo que tiene Inform es una larga lista de acciones por defecto. Lo que es bastante diferente. Las acciones por defectos permiten meter reglas complejas que disparan cambios del estado del mundo y respuestas diversas. Pero lo importante no es que tenga las respuestas por defectos, sino que abstrae el parseado y el autor trabaja normalmente sobre acciones. Este es el punto clave en el que considero que el diseño de AGE es equivocado. AGE en lugar de esas acciones por defecto te obliga a poner el 'verbo' en las funciones de parser correspondientes o sino genera un 'no se puede hacer', que desde mi punto de vista es muchísimo peor que la respuesta por defecto que Al-K dice que rompe la inmersión, pero sobre todo a mí me dificulta demasiado el trabajo al estar tan unido la respuesta y la realización de los cambios del estado del mundo con el nivel de análisis de la respuesta del usuario.

Para mí, el "no entiendo" es una respuesta honesta si realmente el programador no ha contemplado la entrada del jugador (respuesta que, como todos los mensajes por defecto de AGE, se puede cambiar por otra cosa, claro). Prefiero eso a una respuesta enlatada que rompe la inmersión. Por lo menos el "no entiendo" no hace cosas contradictorias dentro del mundo, deja claro que el problema ha sido de interfaz. Lo deseable, por supuesto, es que no salga nunca o casi nunca porque el programador de la aventura piense respuestas para todas las reacciones lógicas - pero si eso falla, prefiero la honestidad a hacer que los personajes salten cuando no pueden o toquen techos que no existen.

Sobre el tema de añadir un nivel de abstracción para representar las acciones, desde luego puede tener sus ventajas, pero también sus inconvenientes. Por un lado, añade una capa más de complejidad al sistema, y aleja al programador del texto. Por otro lado, el diseño de AGE está pensado para que los objetos sean totalmente autocontenidos. El ideal (que supongo que nunca se realizará por no haber suficiente masa crítica de usuarios) era que los autores compartiesen sus objetos en "repositorios" de objetos. La presencia de una capa de acciones aumenta la cohesión entre objetos (hace que dependan de algo externo) y dificulta eso, y lo mismo con la mantenibilidad.

Que conste que son cosas que sopesé en su momento. No digo que mi opción sea la buena y lo otro sea un asco, faltaría más. Dependiendo de las prioridades que tenga uno, puede compensar una opción de diseño u otra, como en todo sistema informático. Pero a mí el diseño de los objetos como procesadores de texto, que pueden recibir directamente texto del jugador y responder a él, me parece muy flexible y muy potente. ¿No el más fácil para no programadores? Probablemente, pero es que AGE nunca ha querido ser un sistema para no programadores.

Johan Paz escribió:

Me alegro, porque la desambiguación de marras nunca me ha resultado útil como jugador y siempre me ha sacado de quicio. Espero que la gente use esa extensión.


Johan Paz escribió:

Pues menos mal. Siempre me pareció contra natura un sistema para hacer juegos con entrada y salida de texto, que no permitía acceder directamente al texto.

Johan Paz escribió:
Los dos sistemas han avanzado mucho, pero no entiendo porqué te resistes a separar el nivel de parseado del nivel de acción. Me parece que se simplifica mucho el trabajo del autor si se trabaja a nivel de acción.

Ahora mismo para verbos 'no estándar', es necesario hacerlo a la PAWS -es decir, verificando verbos y objetos- y unir justo en ese condicional lo que quieres que sea la respuesta o el cambio. Así que en el fondo es como cuando en PAWS, pero peor, porque la sintaxis es mucho más verbosa y trabajosa.

(...)

¿De verdad no te parece en exceso verboso? ¿De verdad?

Es básicamente sintaxis Java. Yo me paso el día trabajando con él, y me gusta (aunque si le preguntas a alguien que prefiera Python o Lua, también te dirá que es verboso). La idea es que la mayoría de ese código no lo tienes que escribir tú, te lo genera el PUCK con una opción de un menú contextual. Tú sólo tienes que rellenar.

Por otra parte, es una sintaxis que ya es prácticamente un estándar de facto, ya que la usan (con pequeñas variaciones) Java, C, C++, C#... cualquier programador la coge y la pilla al vuelo.

Por cierto que AGE está diseñado para que el lenguaje sea configurable. Se le podría poner Jython en vez de BeanShell, por ejemplo, o poner un lenguaje de propósito específico menos verboso porque tuviese una sintaxis muy abreviada para ese "if" (una regla, vamos). Lo que pasa es que lógicamente, para la cantidad de usuarios que hay, no le voy a meter varios lenguajes.

Johan Paz escribió:
No sé... parece que yo le tuviese inquina en concreto al AGE, pero la verdad es que lo que llevo son años intentando sugerir cambios que podrían hacerlo mucho más atractivo para el autor, simplificando su trabajo y centrándolo en la historia y sus textos en lugar de tener que pensar como un programador.

¡Es que AGE es un sistema para programadores! Nunca lo he descrito de otro modo, hay quien piensa que es un sistema para novatos porque tiene un entorno gráfico de desarrollo, pero para nada. La gente que no quiere programar nada, creo que va bien servida con Quest. La gente que quiere programar algo pero sin "pensar como un programador", como dices tú, sino más como un escritor, creo que va bien servida con Inform 7 (o al menos irá bien servida cuando salga una versión donde no haya que programar en spanglish). AGE es para la gente que o bien ya sabe programar (en cuyo caso se sentirá como en casa porque si sabe Java, C# o incluso C++, todo le resultará muy conocido) o bien no le importa a aprender a programar con todas las consecuencias. Esa gente encontrará un sistema muy productivo, donde podrá hacer cualquier cosa sin mucho esfuerzo.

De nuevo, si tuviese tiempo y recursos, lo podría orientar a más públicos a la vez. AGE es muy flexible y realmente nada impediría meterle acciones o reglas como alternativa no excluyente a lo que ya tiene... nada, salvo que daría mucho trabajo para que luego lo usen cuatro y el del tambor :D Así que el foco está en contentar lo máximo posible al público programador, en vez de intentar contentar un poco a todo el mundo. Y creo que en general la gente que ha hecho aventuras en AGE ha quedado contenta.

¿El mayor problema? Haberlo programado en Java, que por desgracia ahora ha quedado prácticamente vetado de los navegadores web y tampoco se puede ejecutar (o no fácilmente) en las plataformas móviles. Eso sí que es un inconveniente de hacer aventuras en AGE, que se podría solucionar portándolo pero es algo que, salvo que me toque la lotería o reciba una donación de un filántropo para poder dedicarme a estas cosas a tiempo completo, no voy a hacer nunca.

_________________
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: 04 Jul 2016 08:18 
Desconectado
Yiepp
Yiepp
Avatar de Usuario

Registrado: 13 Ene 2015 17:46
Mensajes: 76
Quisiera comentar que me he bajado Transilvana corruption, diseñado con Inform, y también adolece de algún que otro problema de sordera y de otra indole:
Al principio tenemos un Mercedes en la primera habitación, si le ponemos "examinar mercedes" imprime que "No sabe lo que es eso". Hay que escribir " examinar coche"
Luego si escribes "llamar a la puerta" no te va a entender, tienes que poner "Llamar puerta"

La sordera como bien dije en otro post es un problema del autor y no del parser. En cuanto a lo ultimo expuesto veo que AGE sí es superior a Inform en ese sentido.


Arriba
 Perfil  
 
NotaPublicado: 04 Jul 2016 11:44 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4605
Neo_One escribió:
Quisiera comentar que me he bajado Transilvana corruption, diseñado con Inform, y también adolece de algún que otro problema de sordera y de otra indole:
Al principio tenemos un Mercedes en la primera habitación, si le ponemos "examinar mercedes" imprime que "No sabe lo que es eso". Hay que escribir " examinar coche"
Luego si escribes "llamar a la puerta" no te va a entender, tienes que poner "Llamar puerta"

La sordera como bien dije en otro post es un problema del autor y no del parser. En cuanto a lo ultimo expuesto veo que AGE sí es superior a Inform en ese sentido.


En mi opinión, parte de la sordera la puede tener el parser, pero la mayor parte de la culpa la suele tener el autor. Añadir respuestas (y contexto) para todo lo posible es un trabajo arduo, y aun haciéndolo de manera concienzuda, entra dentro de lo posible dejarse huecos sin cubrir. En esos huecos sin cubrir es donde entra el parser y sus respuestas por defecto, que yo prefiero que existan. Es cierto que en alguna ocasión dichas respuestas pueden producir un resultado más anticlimático que la ausencia de las mismas (y el consbido "No puedes hacer eso"), pero mi experiencia en ese sentido es que arreglan más de lo que estropean, si el autor se lo ha currando antes. El problema de las respuestas por defecto vienen cuando el autor no hace ningún esfuerzo y por tanto el 99% de las órdenes van a parar a las respuestas por defecto. Las respuestas por defecto deberían ser un recurso al que se llega tras pasar las órdenes por un colador fino, pero es que hay aventuras que tienen un filtro previo con agujeros del tamaño de pelotas de tenis :-D

Por otro lado, los modelos de parser llevan a esos efectos que indicas en el ejemplo de "llamar a la puerta". Inform tiene un parseado estricto que hace que esa orden no funcione, probablemente porque es entendida como "llamar puerta" (es decir "¡puerta ven aquí!", CALL DOOR) y no como "llamar a la puerta" (KNOCK DOOR). En esos casos tanto AGE como Superglús/ngPAWS, que tienen un parseado no estricto, se limitarán a ignorar "a la" y por tanto responden correctamente. En general, no he visto ventajas a los parseados estrictos, salvo en que obligar a escribir mejor. No obstante estoy seguro de que se puede hacer que Inform entienda "llamar puerta", pero habría que cambiar las normas de gramática, y conseguir que en español sean tratados diferente el "llamar" de "llamar a alguien" y el de "llamar a la puerta".

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 04 Jul 2016 22:28 
Desconectado
Yiepp
Yiepp
Avatar de Usuario

Registrado: 13 Ene 2015 17:46
Mensajes: 76
Uto corrección. Sí admite "Llamar a la puerta" (antes no lo admitía, no sé por qué), aunque no sé qué extensión habrán usado. Supongo que la del traductor al español.


Arriba
 Perfil  
 
NotaPublicado: 05 Jul 2016 09:18 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4605
Neo_One escribió:
Uto corrección. Sí admite "Llamar a la puerta" (antes no lo admitía, no sé por qué), aunque no sé qué extensión habrán usado. Supongo que la del traductor al español.


Probablemente el problema fue detectado en algún momento y se modificó la extensión en español para evitar ese problema que en inglés no existe. En cualquier caso es un ejemplo de cosas que pasan por usar un parser estricto, es posible que otras cosas pasen por usar un parser no estricto, nada es perfecto.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 05 Jul 2016 09:41 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5265
Ubicación: Coruña
Uto escribió:
Probablemente el problema fue detectado en algún momento y se modificó la extensión en español para evitar ese problema que en inglés no existe. En cualquier caso es un ejemplo de cosas que pasan por usar un parser estricto, es posible que otras cosas pasen por usar un parser no estricto, nada es perfecto.

Si el problema es como lo has descrito, también puede ser un ejemplo de inconveniente de esa capa de abstracción con acciones.

En AGE cada objeto define sus propios trozos de "gramática", así que incluso a igualdad de preposiciones y todo, es trivial que "llamar a la puerta" haga una cosa y "llamar a la camarera" haga otra totalmente distinta, ya que cada objeto procesa los verbos como quiere.

Si tienes una capa de abstracción intermedia que convierte "llamar a" en CALL_ACTION o KNOCK_ACTION y pasa eso a los objetos, parece más complicado. Se podría hacer con una gramática probabilística o algo similar, pero eso con las aventuras que hacemos y los recursos que tenemos creo que es matar moscas a cañonazos. La solución de que cada objeto procese por su cuenta los verbos permite resolver estas cosas de forma bastante sencilla y a gusto del autor. Aunque también tenga sus inconvenientes, desde luego.

A lo del parsing estricto en sí sí que no le veo ninguna ventaja. En procesamiento del lenguaje natural nadie hace parsing estricto desde por lo menos principios de los años 90, se considera algo totalmente superado. El lenguaje es un ente muy complejo, y encima adaptable y dinámico, encorsetarlo en una gramática estricta es una utopía. Desde luego la entrada de las aventuras es más sencilla que "el lenguaje" en su conjunto, pero aun así, creo que ofrece suficiente libertad para que el parsing estricto sea insuficiente.

_________________
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 2016 09:57 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 24 Dic 2010 14:37
Mensajes: 859
Al-Khwarizmi escribió:
Uto escribió:
Probablemente el problema fue detectado en algún momento y se modificó la extensión en español para evitar ese problema que en inglés no existe. En cualquier caso es un ejemplo de cosas que pasan por usar un parser estricto, es posible que otras cosas pasen por usar un parser no estricto, nada es perfecto.

Si el problema es como lo has descrito, también puede ser un ejemplo de inconveniente de esa capa de abstracción con acciones.

En AGE cada objeto define sus propios trozos de "gramática", así que incluso a igualdad de preposiciones y todo, es trivial que "llamar a la puerta" haga una cosa y "llamar a la camarera" haga otra totalmente distinta, ya que cada objeto procesa los verbos como quiere.

Si tienes una capa de abstracción intermedia que convierte "llamar a" en CALL_ACTION o KNOCK_ACTION y pasa eso a los objetos, parece más complicado. Se podría hacer con una gramática probabilística o algo similar, pero eso con las aventuras que hacemos y los recursos que tenemos creo que es matar moscas a cañonazos. La solución de que cada objeto procese por su cuenta los verbos permite resolver estas cosas de forma bastante sencilla y a gusto del autor. Aunque también tenga sus inconvenientes, desde luego.


No es nada complicado y no hace falta gramática probabilística. Pero no voy a seguir con la flame, así que si tenéis interés en saber cómo se resuelve buscadme y os lo explico.


Arriba
 Perfil  
 
NotaPublicado: 05 Jul 2016 12:50 
Desconectado
Yiepp
Yiepp
Avatar de Usuario

Registrado: 13 Ene 2015 17:46
Mensajes: 76
Cuando acabe de ver la documentación te preguntaré las dudas.


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 23 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 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:  
cron
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM