CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 24 Feb 2020 04:43

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 27 mensajes ]  Ir a página Anterior  1, 2
Autor Mensaje
NotaPublicado: 25 Jul 2012 17:18 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 23 Mar 2010 20:11
Mensajes: 1141
Ubicación: Valencia
Yo soy programador nato, así que lo de que se puedan crear aventuras desde un entorno gráfico rellenando fichas de propiedades de objetos/lugares/puzles no es especialmente importante para mí, aunque tampoco me molesta.

Eso sí, si lo tuviera, debería implemantar el doble click sobre el objeto que quieras para sacar el código generado y poder retocarlo... vamos, como se hace actualmente en casi todos los entornos visuales desde hace tiempo, que aparte de poder rellenar la pestaña de propiedades, se puede editar el código completo.

El entorno de desarrollo debería tener integrado el compilador sí o sí, para poder darle al botón de Compile o de Run y poder ejecutar la aventura al momento.

Ayuda y Autocompletar el código: Al poner el nombre de un objeto que pudiesen salir las propiedades y métodos del objeto (al estilo del CTRL+Espacio de eclipse), así como la lista de acciones definidas en la aventura (si ya sacase las que son aplicables al objeto en cuestión sería la leche).

Y que implemente todo lo imaginable en el manejo de cadenas... Ya que se trata de aventuras de texto, me resulta inconcebible que el sistema de creación no permita al desarrollador el poder manejar cadenas. Esto es lo que menos me gusta de I6, que no existan las típicas funciones substr(), instr(), startswith(), endswith(), length(), etc...

La orientación a gramáticas de I6 me gusta, pero sin la limitación de 2 objetos máximo por acción. Además, que permita la corrección automática de errores tipográficos del usuario.

Ya de paso, algo que siempre nos quejamos... que permita por defecto "IR A localidad", sin que el desarrollador tenga que programarlo especificamente. O como mínimo, que lo permita con las localidades adyacentes a la actual. Así, si en la localidad HALL tenemos definido que al norte está el pasillo, se traduciría automáticamente IR AL PASILLO por IR AL NORTE, lo que estaría disponible en cualquier aventura realizada con este sistema de creación.

Un sistema básico para conversaciones, personalizable, pero que pudiese ser funcional sin tocar nada.

Un sistema básico de combate!!!! También personalizable, pero también funcional sin tocar nada.

Me levanto de la siesta... ya se me irán ocurriendo más cosas...

_________________
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: 25 Jul 2012 17:44 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 24 Dic 2010 14:37
Mensajes: 929
Akbarr escribió:
Que cocine y me planche la ropa. No le pido más.


¿Pero en el sentido de:

Citar:
>> planchar camisa
Plis, plas... un par de pasadas y queda perfecta, tan perfecta como este parser.

>> planchar pantalón
Oh, madre mía, ¿cómo vas a planchar esos pantalones? ¡Mira la etiqueta, por favor! ¿Es que no sabes nada de planchar?


?


Arriba
 Perfil  
 
NotaPublicado: 25 Jul 2012 17:47 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1915
En cuanto al IDE, hace unas semanas empecé a programar uno con la idea de que fuera genérico, y lo he usado para alguna cosilla de TADS y de Superglús. Se llama FIDEL y está hecho en pyhon + pyqt. Es software libre (AGPL v.3).

Alguno ya lo ha visto. Varias de las ideas comentadas por aquí están planeadas e incluso esbozadas y semifuncionales, aunque está en una fase bastante temprana de desarrollo. Si alguien quiere echarle un vistazo a las alphas, que me ponga un privado.

Hay ideas muy interesantes en este hilo. Tengo unas cuantas notas que debo ordenar antes de comentarlas por acá.


Arriba
 Perfil  
 
NotaPublicado: 26 Jul 2012 13:00 
Desconectado
Guionista
Guionista
Avatar de Usuario

Registrado: 20 Ene 2007 20:09
Mensajes: 356
Creo que muchas de las propuestas que se están haciendo ya existen, así que la pregunta es ¿qué te gustaría en un parser? o ¿Qué te gustaría que no hayas visto en un parser?

Yo no he visto un sistema de definición de sintaxis que sea potente y a la vez fácil, vamos que no haya que estar manteniendo casos concretos, excepciones, y peor, que se entere el autor cuando la obra ya está publicada.

Tampoco he visto un sistema de creación de personajes inteligentes, que tengan conocimiento del mundo, recuerden lo que han visto y hecho y actúen en consecuencia. En esa línea estaría bien una sintaxis potente de comunicación con PNJ, que no es la de comunicación con el parser. Por ejemplo: "orco, dime a quien viste cuando subiste a la colina".

Otra cosa que no termino de ver (aunque hay aproximaciones) es una presentación acorde con la tecnología actual, CSS, HTML5, etc. Esto aplicaría también al propio IDE.

Sistema de mundo más flexible, algo así como "plug-in" de modelos de mundo que puedas enchufar al parser. Por ejemplo, un modelo puzzlero, otro más literario, otro basado en escenas de un guión con poca interacción, otro basado en conversaciones.... De forma que el parser se adapte a ese mundo y el programador tenga que escribir menos, que de eso se trata.

Herramientas de apoyo al autor integradas, que ya se ha comentado en un post anterior. No sólo correctores ortográficos, de estilo, gramaticales... También tesauros de temas concretos, organizadores de escenas, etc y todo ello a un clic del texto que tienes delante y con posibilidad de plasmar lo que hagas en el fuente de la aventura. Aunque todo esto es más bien sobre un "IDE Perfecto".

Posibilidad de crear extensiones en otros lenguajes. Esto es algo que se está imponiendo en las aplicaciones del "mundo real" con los famosos bindings y wrappers, y la IF no debería quedarse atrás.


Arriba
 Perfil  
 
NotaPublicado: 26 Jul 2012 18:25 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1915
Comparto casi todas las ideas que se han ido dando. Se puede ver que incluyo aquí cosas similares a lo ya dicho.

Basado en un lenguaje de propósito general (y que pueda enjaularse al estilo de la VM de TADS, con su gestión de acceso a recursos de la máquina, ficheros, red, etc...), con generadores de código para tareas específicas, tanto por medio de plantillas, lenguajes específicos o datos. Por lo tanto, multiparadigma (por ejemplo, que se puedan definir reglas globales de forma similar a i7 y también programar acciones a la TADS, AGE, i6, SG). Por supuesto, con soporte de manejo de cadenas, expresiones regulares, imágenes, etc, etc... (todo lo esperado en una lib de un lenguaje moderno).

Con nada por defecto. Todo se "enchufa" explícitamente.

El parser sería modular e intercambiable. Dividido en tareas definidas en módulos (asi es el de pyphi). Se montaría como un puzle: tal separador de frases, tal desambiguador, tal corrector, etc... Incluso de fácil redefinición, ya que el parser (a vista de pájaro) se define como llamadas a módulos concretos en un orden determinado. Se podría cambiar en tiempo de ejecución, incluso en base a preferencias del usuario (idioma, autocorreción, ...).

Sin modelo de mundo, pero con varios ejemplos a elegir y, por supuesto, con capacidad para la creación de nuevos modelos. Un ejemplo sería un mundo basado en físicas más o menos reales, entidades, sentidos (emisiones), eventos (acción-reacción). Otro podría estar centrado en localidades. Otro en páginas de un "elige tu propia aventura" o escenas de un relato más elaborado. Las acciones/gramáticas se añaden explícitamente. No debe haber nada que el autor no haya incluido. Se trata de evitar sorpresas (comportamientos no esperados) y alentar la toma consciente de decisiones y el conocimiento de las consecuencias. Si todo está bien modularizado se puede aprender bien qué hace cada parte.

Los textos estarán separados lo más posible de los algoritmos, para permitir extracciones, traducciones, etc. Lo mismo los estilos, que deben separarse del contenido.

El texto de salida reciente debe formar parte del conocimiento del parser, de la misma forma que se puede hacer referencia a un objeto recientemente utilizado en una orden, se debería poder hacer referencia implícita a algo nombrado en los textos. Supongo que esto podría ayudar, sobre todo, al desambiguador. Seguro que puede provocar algún problema, pero me parece interesante explorar la posibilidad. (Me suena que i7 tiene algo similar, marcando palabras en los textos, pero no sé hasta donde llega su capacidad).

El verify() de TADS, que permite dar preferencia (para ayudar al desambiguador) a unas acciones sobre otras, me parece potente. Sin llegar al analizador estadístico, permite solucionar el ejemplo de los platos y los huevos que comentó Al-K.

Toda esa modularidad debe estar acompañada de herramientas potentes. Desde un editor de código moderno para los programadores hasta generadores de puzles, localidades, reglas, programación visual. Que cada tarea se pueda realizar de más de una manera, desde bajo nivel (el lenguaje) hasta alto nivel (los asistentes de tareas concretas).

Por lo tanto, el IDE debería ser también modular y fácilmente ampliable. (Aquí pienso en QML ya que mi camino va por PyQt). A veces pienso en simplemente ampliar un emacs o eclipse, pero no es tan divertido como crear uno nuevo :P

Con un amplio repositorio de librerías, plugins, objetos, etc: favorecer la reutilización y el descubrimiento de módulos. Es esencial que todo esté bien documentado y que, idealmente, se siga la filosofía elementos "pequeños" que hagan sólo una cosa pero que la hagan bien.

Posibles ayudas que se me ocurren: Correctores ortográficos. Sinónimos, tanto de sustantivos como de verbos, que serán sugeridos al definir objetos o acciones/gramáticas (por ejemplo, dada una televisión, que se sugiera tele, pantalla, tv, plasma. Esta lista de grupos de sinónimos sería genial que se crease en comunidad, y rellenada en principio con fuentes de obras existentes). Gestores de la historia. Listas de todas las palabras utilizadas en los textos, con resaltado de las no definidas en el mundo (no hay nada más odioso que se mencione algo que luego no "existe" en el mundo).

A la hora de la ejecución, la entrada-salida debe ser también modular, de forma que se pueda generar desde HTML+CSS (o lo que sea) a texto puro, en función del entorno del usuario (navegador AJAX, IRC, telnet, dummy...). También me inclino por un sistema parecido al Channel IO de FyreVM.

Con soporte nativo para ejecución en red, multijugador, etc...

Bueno, por ahora es bastante. Se me queda algo en el tintero, intentaré destilar más notas que tengo para pyphiverses. Casi todo lo que digo está pensado para él.


Arriba
 Perfil  
 
NotaPublicado: 26 Jul 2012 18:33 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
Muy interesante lo que comentas de las listas de sinónimos. Lo deseable sería no tener que hacerlas, sino coger cosas ya hechas. En inglés y otros idiomas existe un recurso lingüístico llamado WordNet que almacena palabras con sus relaciones de sinonimia, antonimia, etc. Creo que en español también la hay, pero no sé si la española es gratis/libre, la verdad.

Edit: creo que sí lo es, http://grial.uab.es/sensem/download?idioma=en

_________________
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: 26 Jul 2012 18:40 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1915
¡Ah! Olvidaba algo fundamental (al menos para mi):

Todo software libre.


Arriba
 Perfil  
 
NotaPublicado: 26 Jul 2012 18:45 
Desconectado
Dragón
Dragón
Avatar de Usuario

Registrado: 18 May 2011 15:56
Mensajes: 124
Ubicación: Zaragoza
dddddd escribió:
¡Ah! Olvidaba algo fundamental (al menos para mi):

Todo software libre.


Sí, pero que no se os olvide el botón de "Haz la aventura que estoy pensando" o su versión pro "Haz la aventura que estoy pensando, por favor".

_________________
Código:
    ___
  |/___\|   "Arto a la Guardia Siví!!!"
   qºLºp
    (-)


Arriba
 Perfil  
 
NotaPublicado: 27 Jul 2012 12:20 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
Notxor escribió:
Sí, pero que no se os olvide el botón de "Haz la aventura que estoy pensando" o su versión pro "Haz la aventura que estoy pensando, por favor".


Yo preferiría directamente el botón "Hazme rico". :P


Arriba
 Perfil  
 
NotaPublicado: 27 Jul 2012 15:21 
Desconectado
Dragón
Dragón
Avatar de Usuario

Registrado: 18 May 2011 15:56
Mensajes: 124
Ubicación: Zaragoza
presi escribió:
Notxor escribió:
Sí, pero que no se os olvide el botón de "Haz la aventura que estoy pensando" o su versión pro "Haz la aventura que estoy pensando, por favor".


Yo preferiría directamente el botón "Hazme rico". :P


Nooo, la fama cuesta y aquí vais a empezar a pagar... :evil:

_________________
Código:
    ___
  |/___\|   "Arto a la Guardia Siví!!!"
   qºLºp
    (-)


Arriba
 Perfil  
 
NotaPublicado: 27 Jul 2012 20:22 
Desconectado
Implementador
Implementador

Registrado: 09 Jun 2010 14:50
Mensajes: 1655
Ubicación: Argentina
presi escribió:
Notxor escribió:
Sí, pero que no se os olvide el botón de "Haz la aventura que estoy pensando" o su versión pro "Haz la aventura que estoy pensando, por favor".


Yo preferiría directamente el botón "Hazme rico". :P


Podría ser, pero entonces más que de un sistema de autoría estaríamos hablando de un CRM:D


Arriba
 Perfil  
 
NotaPublicado: 28 Jul 2012 21:37 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 15 Dic 2004 21:28
Mensajes: 2302
Notxor escribió:
Nooo, la fama cuesta y aquí vais a empezar a pagar... :evil:


...con sudor. :wink:


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