sábado, 16 febrero

16:08

Repertorio de acciones en Inform
[Interlecturas (J. Francisco Martín)]

Captura de pantalla de la FI Alien: La aventura
Alien: La aventura (Alpha Aventuras 2008−2018)
El analizador de comandos de toda ficción interactiva se presenta al usuario bajo la siguiente premisa: eres libre de escribir lo que quieras, como si de algún modo estuvieses conversando con el narrador de la obra o con el director de partida de un juego de rol. Esta idea está detrás, de hecho, del término "aventura conversacional" utilizado ampliamente en el pasado para referirse al medio y que aún hoy sigue siendo popular entre algunas personas —especialmente entre antiguos aficionados de habla hispana—. La premisa es falsa, por supuesto. A pesar de la ilusión de poder escribir cualquier cosa para comunicarte con la obra, la cantidad de entradas que puede procesar correctamente el analizador de comandos de una ficción interactiva se reduce en realidad a un conjunto muy limitado de acciones.

Cada obra puede definir potencialmente su propio repertorio de acciones particular, completamente diferente (o no) de otras obras. Existe, no obstante, un cierto conjunto de acciones que es habitual encontrar en la gran mayoría de las ficciones interactivas —este conjunto de acciones habituales se corresponde en gran medida (no exactamente, pero en gran medida) con el conjunto de acciones que era capaz de aceptar el analizador de comandos de la ficción interactiva clásica Zork (Infocom, 1977)—. Gracias a esto los usuarios más veteranos pueden explotar lo aprendido al experimentar obras previas para hacerse una idea general de las acciones que pueden utilizar al iniciar una nueva FI.

El sistema de autoría Inform (tanto en su versión 6, como en la 7) implementa este conjunto de acciones básicas, junto con comportamientos y mensajes por defecto para cada una de ellas, de manera que cualquier obra de ficción interactiva creada con este sistema cuenta de partida con todas ellas. Los autores son libres después para eliminar o añadir acciones de acuerdo a sus necesidades. Lo más común en este caso, al menos si es que las acciones añadidas resultan clave para hacer avanzar la narración, es que la obra informe al usuario de cuáles son las novedades que se salen del conjunto habitual. En The Inform Designers Manual (2001) Graham Nelson, autor de Inform, detalla el repertorio completo de acciones del sistema [1]. A continuación se reproduce esta relación de acciones, junto con las entradas de teclado típicas que genera cada una en la traducción de la librería al español INFSP.

Grupo 1

Acciones relacionadas con la operación del software. No tienen que ver con la historia de la obra ni con el modelo de mundo subyacente.

Acción Producida típicamente por Notas
Pronouns "pronombres" Lista correspondencia de pronombres con objetos de la obra
Quit "fin"
Restart "reiniciar"
Restore "cargar"
Save "guardar"
Verify "verificar" Comprueba la integridad del fichero de la obra
ScriptOn "script on" Inicia transcripción de la sesión en un fichero de texto
ScriptOff "script off" Finaliza la transcripción
NotifyOn "notificar on" Activa notificaciones de puntuación
NotifyOff "notificar off" Desactiva notificaciones
Places "lugares" Lista las localidades visitadas
Objects "objetos" Lista los objetos manipulados
Score "puntuación"
FullScore "puntuación completa" Muestra la puntuación detallada de la partida
Version "versión" Muestra la versión actual de la obra
LMode1 "breve" Descripciones normales de las localidades
LMode2 "largo" Siempre descripciones completas de las localidades
LMode3 "superbreve" siempre descripciones abreviadas de las localidades

Grupo 2

Acciones que de forma automática interactúan sobre el modelo de mundo, en caso de darse las condiciones adecuadas:

Acción Producida típicamente por Notas
Look "mira"
Examine "examina pez"
Search "busca en el caja"
Inv "inventario"
InvTall "inventario alto" Se convierte en Inv
InvWide "inventario ancho" Se convierte en Inv
Take "coge pez"
Drop "deja pez"
Remove "coge pez de la caja"
PutOn "pon caja en la estantería"
Insert "pon pez en la caja"
LetGo acción de apoyo interna Provocada por Remove
Receive acción de apoyo interna Provocada por PutOn e Insert
Empty "vacía caja" Se convierte en EmptyT d_obj
EmptyT "vacía bolsa en la caja" Para cada elemento contenido, se convierte en Remove y después en Drop/PutOn/Insert
Transfer "mueve manzana a la caja" Se convierte en Drop/PutOn/Insert
Go "norte"
Enter "entra en el armario"
GetOff "sal del armario"
GoIn "entra" Se convierte en Go in_obj
Exit "sal" Puede convertirse en Go out_obj
Unlock "abre puerta con llave"
Lock "cierra puerta con llave"
SwitchOn "enciende radio"
SwitchOff "apaga radio"
Open "abre puerta"
Close "cierra puerta"
Disrobe "quítate sombrero"
Wear "ponte sombrero"
Eat "come pez"
Wait "espera"

Grupo 3

Imprimen un mensaje y finalizan en la fase before de la ejecución (sin producir ningún cambio en el modelo de mundo).

Acción Producida típicamente por Notas
LookUnder "mira bajo [la alfombra]" noun puede ser nothing
Listen "escucha [casete]" noun puede ser nothing
Taste "prueba [escabeche]" noun puede ser nothing
Touch "toca [pintura]" noun puede ser nothing
Pull "tira carretilla"
Push "empuja carretilla"
Wave "agita varita"
Turn "gira sintonizador"
PushDir "empuja carretilla norte"
ThrowAt "lanza dardo a diana"
ThrownAt acción de apoyo interna Provocada por ThrowAt
JumpOver "salta sobre verja"
Tie "ata cuerda [al gancho]" second puede ser nothing
Drink "bebe absenta"
Attack "ataca soldados"
Swing "columpiate en cuerda"
Blow "sopla pipa"
Rub "limpia mesa"
Set "pon trampa"
SetTo "pon temporizador a 10" second no es un objeto del modelo de mundo
Buy "compra helado"
Climb "escala escalera"
Squeeze "aplasta tomate"
Burn "quema papeles [con cerilla]" second puede ser nothing
Dig "cava jardín [con pala]" second puede ser nothing
Cut "corta papel"
Consulta "consulta pez en libro" Establece noun y el asunto
Tell "habla Gema sobre Arturo" Establece noun y el asunto
Answer "responde confirmación a Álvaro" Establece noun y el asunto
Ask "pregunta Gema sobre Isaac" Establece noun y el asunto
Give "da moneda a troll"
Show "muestra pasaporte al guardia"
AskFor "pide margaritas a Gema"
WakeOther "despierta a dormilón"
Kiss "besa Gema"
Sleep "duerme"
Sing "canta"
WaveHands "agita manos" Mira también Wave
Swim "nada"
Sorry "perdón"
Strong palabras muy malsonantes
Mild palabras algo malsonantes
Jump "salta" Mira también JumpOver
Think "piensa"
Smell "huele [café]" noun puede ser nothing
Pray "reza"
VagueGo "anda"
Yes "si"
No "no"
Wake "despierta" Mira también WakeOther

Acciones que se trasladan a las reglas life de los objetos:

Acción Producida típicamente por
Answer "di si al cajero"
Ask "pregunta mujer sobre plutonio"
Attack "ataca soldados"
Give "da moneda a Caronte"
Kiss "besa Gema"
Order "Thorin, ve al oeste"
Show "muestra pasaporte al guardia"
Tell "habla a Paris sobre Helena"
ThrowAt "lanza hacha al enano"
WakeOther "despierta a bella durmiente"

[Descargar repertorio completo como un fichero de texto].

[1] Nelson, G (2001). The Inform Designers Manual. (4th ed.) Interactive Fiction Library. (Disponible online: https://www.inform-fiction.org/manual/html/)

jueves, 14 febrero

16:08

Tabla de contenidos
[Interlecturas (J. Francisco Martín)]

Apuntes sobre ficción interactiva:

El sistema de autoría Inform 6:

Sistemas de conversación en Inform 6
[Interlecturas (J. Francisco Martín)]

Uno de los principales retos a la hora de añadir personajes no jugadores (PNJs o NPCs, por sus siglas en inglés) en una ficción interactiva es la implementación de las conversaciones entre ellos y el personaje controlado por el jugador (PJ o PC). Existen múltiples maneras de crear un sistema de conversación, cada uno con sus ventajas e inconvenientes. Una buena práctica antes de decidirse por la utilización de uno u otro es analizar las particularidades de cada sistema y las necesidades de la propia obra a fin de seleccionar aquel que pueda adecuarse mejor a ella —para hacerse una imagen bastante completa de las diferentes opciones con las que cuenta un autor, el Manual Técnico de TADS 3 [1] incluye una sección dedicada a analizar con cierta exhaustividad algunos de los sistemas de conversación más utilizados—.

En líneas generales, estos sistemas de conversación pueden adoptar tres formas de interfaz: 1) "VERBO [PREPOSICIÓN] <PNJ>", algo en el estilo "habla con Fran"; 2) "VERBO [PREP.] <PNJ> [PREP.] <asunto>", estilo "pregunta a Fran sobre los sistemas de conversación"; 3) Entrada libre de texto, como en "me gustaría saber qué sistemas de conversación existen". A continuación se ofrece una relación rápida de las particularidades de cada uno de ellos junto con ejemplos de obras que los utilizan, así como herramientas para facilitar su implementación en el sistema de autoría Inform 6:

1) Interfaz "VERBO [PREP.] <PNJ>"


La interfaz más simple, utilizando comandos del tipo "HABLA CON <nombre_de_PNJ>" (y sinónimos). A priori facilita evitar situaciones de sordera que se pueden manifestar en las otras dos interfaces que analizamos —llamamos "sordera" a situaciones en las que el usuario no es capaz de hacerse entender por la obra, bien porque el analizador no haya podido comprendender correctamente la entrada o, en ocasiones, porque aún habiéndola entendido no ofrece después una respuesta adecuada para esta entrada. Algo que, por supuesto, conviene en lo posible evitar—. Con cada entrada del usuario se retorna un intercambio de conversación entre PJ y PNJ. Este intercambio puede ser contextual y variar, lo que permite cosas como que tras haber hablado ya con un personaje éste deje de estar interesado en volver a hablar y, así, subsiguientes intentos de introducir el mismo comando devuelvan una respuesta adecuada del PNJ. O, en conversaciones largas, éstas se pueden dividir en varios fragmentos e ir retornándolos secuencialmente con entradas sucesivas del comando "HABLA CON <nombre_de_PNJ>" hasta agotar la conversación por completo.

Ejemplos de uso: Ariadne in Aeaea (2016) y 1958: Dancing With Fear (2017), ambas de Víctor Ojuel.

El principal inconveniente de las interfaces de este estilo es que, en su forma más básica, limitan la agencia del usuario puesto que se le priva de formas con las que guiar la conversación —no puede escoger las respuestas del PJ, ni los temas sobre los que se habla—. Al final del artículo se discuten brevemente ciertos mecanismos que pueden ayudar a solucionar este último punto.

La forma más rápida de implementarlo en Inform 6 posiblemente sea reescribir las respuestas por defecto de la librería a las acciones ##Answer, ##Ask y ##Tell —en general será conveniente reescribir también las acciones ##AskFor, con la que los PJ pueden pedir objetos a los PNJs; y ##Order, con la que pueden introducir comandos e intentar que sean ejecutados por el PNJ en lugar del PJ— a través del objeto "LibraryMessages":

Object LibraryMessages
  with before [;
    Answer, Ask, Tell, AskFor, Order:
      "Para iniciar una conversación usa simplemente la acción HABLA (a/con) PERSONAJE.";
      [ ... ]
];

Y redefinir la gramática asociada al verbo 'habla' para que invoque a una nueva acción ##TalkTo:

Extend 'habla' replace
  * noun -> TalkTo
  * 'a'/'con' noun -> TalkTo
  * creature -> TalkTo
  * 'a'/'con' creature -> TalkTo
;

[ TalkToSub;
  ! Mensaje por defecto tipo:
  ! "No parece estar interesado en hablar ahora."
  [...]
];

De este modo cada uno de los PNJs del modelo de mundo pueden capturar la nueva acción ##TalkTo en sus rutinas before() y ofrecer respuestas adecuadas. (Advertir que los ejemplos de código propuestos más arriba son sólo un esbozo incompleto. Queda en manos de los autores añadir nuevas líneas de gramática para que, por ejemplo, términos como "conversa" funcionen como sinónimos de "habla", o que la lógica de la rutina TalkToSub() retorne mensajes por defecto adecuados y diferentes cuando el usuario intente lanzar la acción sobre objetos animados o inanimados o sobre sí mismo).

2) Interfaz "VERBO [PREP.] <PNJ> [PREP.] <asunto>"


Una de los sistemas de conversación más ampliamente utilizados a lo largo de los años. Consiste en el uso de comandos del tipo "PREGUNTA A <nombre_de_PNJ> ACERCA DE <asunto>" (habitualmente, además de "pregunta" se contemplan otros verbos como "responde", "di", "cuenta", etc.) o, también, "<nombre_de_PNJ>, <asunto>". Al permitir especificar un asunto sobre el que tratar presenta la ventaja de ofrecer una mayor libertad al usuario, algo que nos impedía el primer sistema analizado. Por contra, esta mayor libertad redunda en un mayor riesgo de provocar situaciones de sordera; cualquier intento por parte del usuario de tratar un asunto que no haya sido contemplado por el autor retornará algún mensaje genérico del tipo "No sé nada sobre ese tema.", lo que puede deteriorar la experiencia y llegar a generar frustraciones con la interfaz. O puede dar lugar a escenarios más indeseables aún: algunas obras requieren conseguir cierta información de un PNJ para avanzar en la historia, de manera que el usuario puede encontrarse en situaciones de bloqueo del tipo "adivina el asunto" en las que debe dar con las palabras adecuadas sobre las que hablar con ese personaje determiando para conseguir dicha información. Estas situaciones de bloqueo suelen revelar un grave problema de diseño y a menudo resultan más frustrantes para el usuario que los bloqueos motivados por situaciones del tipo "adivina el comando" —una de las principales barreras de accesibilidad en obras de ficción interactiva mal implementadas. Varios autores, como Andrew Plotkin (2011), han abordado ya en el pasado este tipo de problemas con más detalle [2]—. Al igual que con el primer ejempo de interfaz, al final del artículo se discuten mecanismos que pueden aliviar estos inconvenientes.

Dado que se trata del sistema más utilizado y se considera prácticamente estándar en el medio, la librería Inform 6 ofrece de partida toda la infraestructura necesaria (gramáticas, definición de acciones, modelo de mundo...) para implementarla.

Ejemplos de uso: Alien: La aventura (Alpha Aventuras, 2008−2018) o Anchorhead (Gentry, M. 1998−2018), entre muchas otras.

3) NLP aplicado sobre entrada libre del teclado


Esta interfaz plantea permitir la entrada de texto completamente libre por parte del usuario y que, a través de procesamiento de lenguaje natural, la obra pueda interpretar esta entrada y ofrecer respuestas de los PNJs acordes a ella. En la práctica no hay ficciones interactivas con analizador de comandos que hayan utilizado realmente sistemas de este estilo con éxito —sí versiones del sistema (2) que pueden parecer imitarlo al utilizar análisis no estricto para reconocer patrones entre la entrada de usuario y las palabras clave asociadas a cada tema de conversación—. No existen tampoco herramientas ideadas específicamente para implementar conversaciones así en Inform 6, por lo que sería tarea del autor crear el sistema por su cuenta —lo que no se antoja en absoluto sencillo—.

En cambio, algunas otras obras englobadas en clases distintas de narrativa electrónica si han experimentado con acercamientos de este tipo para establecer conversaciones con PNJs, como por ejemplo Starship Titanic (The Digital Village, 1998), Façade (Mateas, M. y Stern, A., 2005) o el reciente Restless (Short, E. 2018), presentado en la edición de 2018 de la ECTOCOMP y que hace uso, entre otros, de las capacidades procedimentales de generación de texto automático del MiddleWare Character Engine [3], desarrollado por la compañía Spirit AI.

Mecanismos para mitigar las desventajas de (1): menús


Los menús representan una posible forma de añadir capacidad de decisión por parte del usuario aún utilizando formas de interfaz simples como las vistas en el punto (1) para iniciar las conversaciones. Estos menús se presentan de forma similar a la que puede observarse en videojuegos como las aventuras gráficas —por ejemplo en The Curse of Monkey Island (LucasArts, 1997)— o los RPG occidentales —ej: Torment: Tides of Numenera (inXile Entertainment, 2017)—: al iniciar la conversación se presenta un conjunto de opciones al usuario (normalmente etiquetadas con números); el usuario selecciona una opción (su número asociado); el PNJ da la respuesta adecuada a esa opción; y se vuelve a repetir el mismo flujo hasta que se agote la conversación.

Algunas de las ficciones interactivas mejor valoradas por la comunidad [4] utilizan este tipo de sistema de conversación: Photopia (Cadre, A. 1998) , Rameses (Bond, S. 2000) o De Baron (Gijsbers, V. 2006), entre otras.

Existen diferentes extensiones para implementar un sistema de conversación basado en menús en Inform 6. Probablemente la más popular, la más robusta y la mejor documentada sea gtalk.h creada por Boettcher, G.; Fundin, K. y Tilford, M. J.:
El sistema basado en menús presenta, por su parte, ciertos inconvenientes —como con el resto de sistemas, para encontrar una descripción detallada del funcionamiento de cada uno junto con sus ventajas y sus inconvenientes, se emplaza de nuevo al lector a consultar el Manual de TADS 3[1]—, el más importante probablemente sea la ruptura de coherencia de la interfaz; durante todo el flujo de la conversación la entrada del usuario deja de consistir en un comando de entre el conjunto de comandos de texto definidos por la obra para convertirse en una selección de opciones del menú (habitualmente, la selección de un número asociado a cada opción). Roberts, M. J. et al. (2008) destacan cómo esta ruptura llama la atención sobre la interfaz de usuario y, por tanto, degrada la experiencia de estar interactuando con el narrador de la obra: «Una enumeración de opciones no encaja bien con el aspecto y comportamiento de un juego de texto. La interfaz de usuario de una ficción interactiva reivindica una salida que pueda ser interpretada como voz del narrador y simular, al menos, [un espacio de posibilidades abierto]».

Mecanismos para mitigar las desventajas de (2): inventario de temas


Con la pretensión de evitar las situaciones de bloqueo de tipo "adivina la palabra" de los sistemas de conversación basados en las interfaces de tipo (2), así como los inconvenientes de los sistemas basados en menús, surgen los inventarios de temas. Estos sistemas consisten en ofrecer directamente una lista de asuntos (un inventario) sobre los que se puede hablar con un PNJ, y que el usuario puede consultar en cualquier momento.

Esta lista de temas no tiene por qué ser completa. Es decir, el usuario potencialmente podría todavía intentar tocar asuntos no listados por el inventario, consciente de la posibilidad de que el PNJ retorne alguna respuesta genérica indicando que no sabe nada sobre ese tema. Al ser consciente de partida de esta posibilidad, se mitiga la frustración y, a cambio, se deja abierta la puerta a la exploración libre y a experimentar la sensación de recompensa y gratificación por descubrir temas y fragmentos de conversación secundarios ocultos o no evidentes. El grueso de la conversación, sin embargo, junto con toda la información que pueda resultar importante para la historia, debería incluirse dentro de los temas sugeridos por el inventario a fin de evitar los temidos bloqueos de "adivina la palabra".

Son numerosos los ejemplos de obras que han adoptado este sistema de conversación en la última década. Por citar algunos: Aotearoa (Wigdahl, M. 2010), Shelter from the storm (Eve, E. 2009) o Make It Good (Ingold, J. 2009).

Para facilitar a los autores la implementación de este tipo de sistema de conversación en Inform 6 he creado una extensión llamada choiceSet (basada en otra extensión previa: NPC_conversation [5]):
  • choiceSet.h (la parte final del código incluye un ejemplo de uso)
  • El Chico (pequeña obra con un ejemplo de uso de la extensión más completo)

Relación de obras citadas:

[1] Roberts, M. J.; Breslin, S; Eve, E.; Nizette, M. y Sewe, A. (2008). TADS 3 Technical Manual: Choosing a Conversation System [Online]. Disponible en: http://tads.org/t3doc/doc/techman/convbkg.htm (Consultado el 2019/02/08).
[2] Plotkin, A. (2011). 'Characterizing, If Not Defining, Interactive Fiction'. En Jackson-Mead, K. y Wheeler, J. R. (ed), IF Theory Reader. 1st ed. Boston, MA: Transcript On Press. pp.(59-66).
[3] Short, E. (2019) Conversation as Gameplay (Talk) [Online]. Transcripción de coloquio en la Oxford/London IF Meetup. Disponible en: https://emshort.blog/2019/01/20/conversation-as-gameplay-talk/ (Consultado el 2019/02/08).
[4] IFDB (2015). Interactive Fiction Top 50 of all time (2015 edition) [Online]. Gijsbers, V. (ed.). Disponible en: https://ifdb.tads.org/viewcomp?id=p6s9uem6td8rfihv (Consultado el 2019/02/10).
[5] Mastodon (2011). Ahora que me acuerdo... [Online]. Disponible en: https://lanemastodon.wordpress.com/2011/04/02/ahora-que-me-acuerdo/ (Consultado el 2019/02/10).

lunes, 11 febrero

16:08

La ficción interactiva
[Interlecturas (J. Francisco Martín)]

Coloquialmente utilizamos el término ficción interactiva (traducción directa del inglés interactive fiction) para referirnos a un amplio y heterogéneo grupo de obras que suelen tener en común un preponderante componente narrativo. Bajo esta clasificación suelen colocarse obras de lo más diverso; desde librojuegos (físicos o digitales, entre los que los más populares probablemente sean las obras del tipo Elige tu Propia Aventura, también llamadas CYOA, por sus siglas en inglés) a hiperficciones, cómics interactivos, novelas visuales, aventuras gráficas y conversacionales, u otras clases de videojuego. El término, sin embargo, fue acuñado por la empresa de software Infocom a finales de la década de los 1970 para hacer referencia al tipo muy concreto de obra que comercializaba, y que en español se corresponde con las conocidas tradicionalmente como aventuras conversacionales.

Captura de pantalla de la ficción interactiva Zork
Zork (Infocom, 1977)
De este modo, si acotamos el término en su sentido más estricto —aquel utilizado por Infocom—, la definición de ficción interactiva se limitaría a un género literario sobre soporte electrónico que ofrece al usuario la posibilidad de explorar un entorno simulado y producir cambios en este entorno y en el propio progreso de la narración, por medio de la introducción de sencillos comandos de texto.

Cabe llamar la atención sobre tres ideas fundamentales de la definición anterior. En primer lugar, puesto que nos referimos a la ficción interactiva como un género literario, su desarrollo se ha de llevar a cabo principalmente a través de la expresión verbal. En segundo lugar, el papel destacado que desempeña la interacción del usuario en la experiencia de este tipo de software. Algunos autores, como Niesz y Holland, reflejan claramente esta importancia al ofrecer su definición particular de la ficción interactiva: «obras de ficción que invitan explícitamente al lector a interactuar con ellas mediante consultas o respuestas, a participar activamente en la historia y a cambiar deliberadamente el desarrollo de la trama, del personaje, del entorno o del lenguaje, junto con el autor» [1]. Y por último; las ficciones interactivas se sustentan sobre la simulación de un cierto entorno. «[Esta simulación] ofrece una modalidad de interacción continua, análoga a la interacción real, lo que puede resultar en una experiencia más inmersiva y cautivadora para los jugadores que las simples historias con numerosas ramificaciones» [2]. El hecho de utilizar un modelo de mundo como base puede redundar igualmente en beneficio de ficciones interactivas con pretensiones pedagógicas de algún tipo, tal y como señalan también Riedl et al. (2006), al ofrecer potencialmente una experiencia de aprendizaje más realista, así como una progresión narrativa coherente.

El profesor del MIT Nick Montfort recoge las ideas expuestas anteriormente y caracteriza sucintamente la ficción interactiva del siguiente modo [3]:
  1. Es un software de computador que acepta texto como entrada e igualmente produce texto como salida (principalmente).
  2. Es una narrativa potencial; esto es, un sistema que produce una narrativa a lo largo de la interacción con él.
  3. Es la simulación de un entorno o modelo de mundo.
  4. Es una estructura de reglas a través de las cuáles se persigue un resultado, lo que también se puede determinar como un juego.
Aún considerando la caracterización de Montfort como marco formal desde el que analizar este tipo concreto de obra, debido a la utilización coloquial que se hace del término "ficción interactiva" y con objeto de evitar ambigüedades, en ocasiones también se nombra a estas obras como ficción interactiva con analizador de comandos o ficción interactiva de parser.

A continuación se adjuntan un conjunto de enlaces a través de los que se puede acceder a mucha más información acerca del medio, así como a multitud de ejemplos gratuitos de obras de ficción interactiva:


[1] Niesz, A. J. y Holland, N. N. (1984). Interactive fiction. Critical Inquiry, 11(1):110-129.
[2] Riedl, M. O., Stern, A. y Dini, D. M. (2006) Mixing story and simulation in interactive narrative. The Artificial Intelligence for Interactive Digital Entertainment Conference (AIIDE).
[3] Montfort, N. (2004). Twisty Little Passages: An Approach to Interactive Fiction. MIT Press, Cambridge, MA, USA.

miércoles, 06 febrero

16:08

En busca del Parser Perdido.
[Ficción Interactiva – La Línea Dura (lineadura)]

Así que terminaba el post anterior anticipando un señor notición… y es que en realidad el plan original era relatar en él 2 acontecimientos en principio carentes de relacción, pero que, por aquello de las sinergias entre la retroinformática y la cosa esa de la literatura computerizada, confluyeron en un mismo tiempo y lugar…

Uno era, obviamente, la presencia de un stand del CAAD en el evento Valencia Va de Retro el pasado 4 de octubre, el otro…

…ahora permitidme por un día ejercer un ejercicio de sano ombligismo internetero (si tal cosa existe) y contarlo todo del modo más rebuscado, teatrero y peliculero posible XD

-VALENCIA, 4 de octubre de 2014:
Espero con ansiedad la llegada de Andrés Samudio a la feria para su encuentro con la afición en la mesa del CAAD y… Andrés que no llega… ¡Espera un momento! Esa historieta ya os la he contado en el último post XD . La cosa acabó con la llegada de Andrés, las oleadas de firmas de libros, CDs, posters, las fotos, las entrañables charlas con los fans…
Y ahora un flashback…

-INGLATERRA, entre mediados y finales de los felices 80:
Graeme Yeandle y Tim Gilberts gozan del éxito de público que han obtenido sus herramientas de creación de aventuras de texto, el Quill y el PAWS. La historia detallada la podéis leer (y yo aún diría aún más, ¡la debéis leer!) en la entrada dedicada al Quill en el blog del Digital Antiquarian, donde entre otras cosas se rastrean los orígenes e influencias del sistema en los artículos y estudios publicados en las revistas especializadas a primeros de la década sobre el motor de las aventuras de Scott Adams.
Quienes hayáis trasteado tanto con las herramientas de la era Quill/PAWS como con las distintas utilidades existentes para crear obras con el sistema de Adams, habréis notado rápidamente que éste último es el “abuelo” de todos los sitemas posteriores basados en lo que se acabaría llamando “condactos”: una base de datos con los mensajes, vocabulario y acciones de la aventura junto con un “árbol” de órdenes para manejarla.
El concepto tenía dos grandes virtudes. Por un lado era maravillosamente “virtualizable”, es decir, se podía ejecutar con intérpretes hechos para cualquier plataforma de la época. Por el otro, era razonablemente “liviano”, pudiendose cargar de una vez (es decir, desde cinta) en la límitada memoria de las máquinas de su momento. El resultado fue conseguir el pequeño “milagro” de trasladar el concepto de juego de la “Colossal Cave“, aparentemente reservado a los poderosos mainframes de las universidades y centros de investigación, a las humildes computadoras pioneras de la informática doméstica.

Si bien el artículo del Digital Antiquarian señala que la popularidad del Quill y del PAWS nunca se llegó a corresponder con su potencial beneficio económico debido a sus precios populares y a estar ambas herramientas dirigidas a los aficionados de a pie, lo cierto es que Graeme y Gilberts sí que hicieron una aproximación a su negocio con aspiraciones más lucrativas con un producto dirigido en esta ocasión al sector estrictamente profesional. Cambiando el nombre tradicional de su empresa “Gilsoft” por el de “Infinite Imaginations“, su nueva criatura fue bautizada con el no-nombre de “System Without A Name” y conocida por sus siglas “SWAN“. De un precio mucho más elevado y pensada más para empresas que para usuarios finales, el nuevo instrumento cambiaba la aproximación del Quill (distintas versiones para distintas plataformas) por una sóla versión desde la que crear automáticamente los ejecutables de las distintas versiones, además de tener un repertorio más avanzado de condactos y mayor versatilidad para manejarlos (bucles, indirecciones, cositas que le hacían más fácil la vida a los autores, vamos). La única obra conocida que se realizó con ella fue el meritorio “Mindfighter“, una muy buena aventura de ciencia-ficción apocalíptica escrita por Ferguss McNeil, conocido por sus divertidas obras en el equipo “Delta 4“.

Si tomásemos como referencia, como hace el bueno del Antiquarian, la prensa especializada inglesa y americana, parecería que las andanzas informáticas de los miembros de Gilsoft se acabarían ahí…

… pero, por suspuesto, los aficionados españoles sabemos que hay un capítulo más en esa historia 🙂

-VALENCIA, 2014:
Me pongo a la cola de los fans que esperan llevarse un autógrafo del señor Samudio. En realidad no busco una firmita, de hecho, voy a hacerle un regalo, y mientras, mi cabeza va rumiando… “¿Cómo resuelvo yo esto?

-VALENCIA, 1989:
El número de verano de Micro-Hobby de ese año, el 190, incluye las reseñas de aventuras conversacionales como “Ke Rulen Los Petas“, “Zipi y Zape” y… “La Aventura Original“. En las primeras páginas hay un reportaje sobre Aventuras AD con una foto al completo del orgulloso equipo. Se anuncia a página completa un concurso de creación de aventuras y la sección “El MUndo de la Aventura” de Samudio consiste en una entrevista a Tim Gilberts en la que Andrés afirma con rotundidad:

“Tim lleva en España cuatro meses trabajando para Aventuras AD en la producción del más completo Creador que se pueda soñar hasta el momento.”

Efectivamente, al grito de “vente pa’ España“, Andrés ha reclutado a Gilberts para la creación de una herramienta tuneada para su recién creada empresa de producción de aventuras conversacionales. Sería una utilidad con las prestaciones de lo que había sido el SWAN, preparada para la gramática del español, y con cuantas nuevas características pudieran añadirsele según surgiera la necesidad. En el texto se cuela de rondón el nombre de la criatura: DAAD, siglas que a posteriori se revelarían como las iniciales de “Diseñador de Aventuras de Aventuras AD“.

El resto es Historia… (Historia sobre la que, en estos mismos momentos, el señor Juanjo Muñoz está escribiendo un libro con todos los jugosos detalles que ninguno nos vamos a perder 🙂 ). Con el DAAD se crearon las mejores obras de producción comercial de la aventura conversacional española en la era de los 8 bits. A su vez, la producción y comercialización de una versión española del PAWS causó un impacto, a nuestra escala, similar al que el Quill tuvo en su Inglaterra natal, demostrando que, si bien las conversacionales siempre fueron un género mayoritariamente denostado por el grueso de los aficionados a los videojuegos, sus entusiastas eran una tribu mucho más activa, con grandes dosis de creatividad, y, sobre todo, muchas historias que contar.

DSCN6560 DSCN6562

DSCN6563 DSCN6564

Ediciones de la primera y de la, hasta la fecha, última obra de Scott Adams, “abuelo” de las aventuras realizadas por sistemas de condactos. Herramientas de creación del entorno Gilsoft. MIndfighter, obra realizada con el SWAN. Las 6 obras clásicas realizadas en España con el DAAD .

El concuros de aventuras organizado por AD tuvo, mientras tanto, un final atípico e inesperado. Tras muchos traumas y requiebros (que fueron, con todo, el origen de una imparable escena homebrew aventurera hispana), la crisis de la industria del software de 8 bits, el tan fatídico momento en que la llamada “Edad de oro del Soft Español” dejó de serlo, obligó a finalizarlo con el reparto de copias del “creador” DAAD entre los finalistas…

… y pasó el tiempo. Aventuras AD cerró, pero el club creado a su sombra, el CAAD, sobrevivió durante una cantidad de tiempo bastante notable para tratarse del género “menor” de una industria “moribunda”. Y pasó más tiempo. Internet llegó en masa a los hogares. El CAAD se transmutó de un club con cuotas, carnets y membresías a una página web donde la línea dura de los aficionados a la ficción interactiva se reunía con libertad para  discutir sobre la evolución del medio. Hubo reemplazos generacionales, los fanzines impresos dieron paso al e-zine SPAC, que haciendo honor a su nombre, luchaba contra viento y marea por la “preservación” de la aventura conversacional. Y pasó más tiempo aún, y un buen día la retroinformática se puso de moda.

Los buenos y viejos programas de pronto andaban correteando por la red de redes en páginas empeñadas en que, por mucho que pasasen los años y cambiasen los ordenadores, las obras clásicas nunca se perdieran ni cayesen en el olvido. Esto incluía, por supuesto, las aventuras conversacionales hechas en España y las herramientas con que se crearon, particularmente el PAWS. Pero entonces todos nos dimos cuenta de que… nadie sabía qué había sido del “mítico” DAAD…

… o sí.

Entre los habituales del foro del CAAD se encontraban unos pocos de los ganadores del siempre recordado concurso (perdón si meto la pata con los nombres, el recuerdo de los detalles es, cuanto menos, borroso). Al menos uno de ellos, Johan Paz, conservaba los ficheros para MS-DOS del programa en un vetusto disquette de 5,25”, que no tenía donde leer ni ejecutar. El disco se lo pasó, de nuevo si lo recuerdo bien, a Carlos Sánchez (Uto), que hizo lo imposible para rescatar su contenido, incluyendo “rebañarlo” sector por sector… pero no se pudo hacer nada debido al deterioro físico del soporte. En aquel momento no se sabía absolutamente de nadie más que estuviese localizable y que pudiera tener una copia superviviente.
A efectos prácticos, el “Creador”, el mítico “Diseñador”, tenía el status de, como les gusta decir en los foros ingleses del Spectrum, “missing in action” (“desaparecido en combate”). El paso del tiempo, además de hacer crecer su “leyenda”, no hizo sino acrecentar la sensación de que el DAAD se trataba de un sistema irremediablemente “perdido”…

… o no.

-VALENCIA, 2014:
En medio del barullo de la feria llega mi turno frente a Andrés, y como todos los ensayos mentales sobre cómo abordar el tema se borraron fulminantemente, improviso: “Eer, yo no venía a pedirte un autógrafo, sino ¡a hacerte un regalo!😀 (en realidad, es el mismo regalo que le hacemos en todos los saraos: una copia impresa del ultimo SPAC, eso sí, edición lulú con portada a color, la reproducción faccsímil del nº 0 del fanzine del CAAD, que cumplía sus 25 añitos, y un CD con juegos) “… y ya que estoy, de paso iba a pedirte un favor…

Y en ese momento todo el mundo se calla y se me queda mirando ^_^’

Estoo… tenía un tema de que hablarte, algo que te atañe directamente y que requiere la máxima discreción y confidencialidad…

Secuestrar a Andrés Samudio en plena sesión de firmas era, desde luego, una osadía, pero ¡hey! el encuentro con los aficionados se estaba realizando en el stand del CAAD ¡nuestro stand! Así que si alguien se podía permitir una pequeña tiranía, ¡ese era yo! XD

Ni que decir tiene que Andrés se prestó con toda naturalidad a tener una pequeña charla privada en el pasillo de al lado.

Eer, a ver por dónde empiezo a contarte ésto...”

-MADRID, 2013:
Corre el mes de septiembre y en el espacio cultural Matadero Madrid se celebra una conferencia-coloquio a cargo de Andrés Samudio de la que un servidor dio detallada cuenta en este post y en la que compartió con el público unas cuantas rarezas de su historia aventurera: sus manifiestos en pro de la creación de aventuras de texto en español y una copia “superviviente” de la primera versión de la Diosa de Cozumel muy anterior a la que se comercializó en su día.
Pero si el acto en sí era de un incuestionable interés, no menos interés tenían las líneas de acontecimientos que se hilvanaban en su “trastienda”. Líneas que, aparentemente inconexas en principio, no tardarían en converger en un mismo punto.
Por un lado, Samudio y el presentador del evento, Adonías, a la sazón presidente (1) de la Asociación de Usuarios de Informática Clásica (AUIC), acordaban que el primero les prestaría un lote de material de exhibición para la “zona retro” de la edición del Madrid Games Week de ese año, en el que la AUIC colaboraba con una zona de exposición.
Por otro, se estaba acordando la cesión del juego original de Cozumel para su venta en exclusiva, y en forma de copia física, a los sucriptores de la edición española de la revista Retro-Gamer. Para esto último, ciertamente, primero había que rescatar el juego de la vieja cinta de casette para Spectrum en que se encontraba. Como suele ocurrir, la cinta, con, literalmente, décadas de antiguedad, no se encontraba en su mejor estado de conservación, lo que impediría recuperar el juego. Afortunadamente,  lo más granadito de los expertos en preservación de software clásico de la AUIC se encontraba a mano :-). Jaime (Deepfb, Alt) Soriano y Javi (Habi) Chocano se encargaron de filtrar la grabación, quitarle el ruido producido por el deterioro físico del soporte, y conseguir una imagen plenamente funcional de la cinta a partir de la cual se podrían fabricar las nuevas copias físicas. Sin su labor, no acreditada hasta la fecha, nunca habríamos tenido esa nueva/vieja versión de “La Diosa de Cozumel” para jugarla en nuestras máquinas en el siglo XXI. Otra cosa es que luego la editorial Axel-Springer metiese la pata y encargase una cantidad de copias inferior a la demanda de los suscriptores de la revista. Si fue desidia o dejadez ya es, ciertamente, un misterio para otra historia, pero queda la esperanza de que no hayamos oido aún lo último sobre ese juego.

Mientras todo eso pasaba, se celebró la Madrid Games Week, y en ella, como estaba previsto, se expuso el material cedido por Samudio. Ediciones de los buenos y viejos juegos de AD, la cinta con la versión primigenia de Cozumel y… unos curiosos disquettes de trabajo. Curiosamente, todo ello habría pasado casi desapercibido si no fuera por los visitantes que sacaban fotos de la feria y luego las colgaban en Internet. Casi por casualidad en algunas de ellas se podían distinguir las anotaciones hechas a mano en las etiquetas de esos discos: “DAAD developer utilities“, “DAAD Amiga“, “DAAD CPC“…

“¿Cómo?¿Qué?¿Cuálo?” 0_0! El mismo día que algunas de esas fotos empezaron a ser vistas, en los foros del CAAD se nos quedaron los ojos como platos “¡Oiga usted! ¿eso es exactamente lo que parece que sugiere que dice que es?” XD

La reacción inmediata de un servidor fue mandar un mail a mi contacto más cercano (por verle habitualmente en las quedadas madrileñas del Grupo de Usuarios de Amstrad) con la AUIC, de nuevo, Jaime Soriano. Al grito de “A mí los preservacionistas” le urgía a que me contase si se había mirado el contenido de esos discos. Su respuesta fue… ¡desconcertante! Casi parecía no saber a qué me refería “Parece que no hay nada raro en esos discos, lo interesante es esa cinta de Cozumel” (en aquel momento aún no se había hecho público que se había preservado con éxito y que iba a venderse con la revista Retro-Gamer) “Por lo visto es una versión algo más picantona que la que se hizo después“…
Tuve que responderle con inmediatez y algo (bastante XD) de vehemencia que no, que lo de Cozumel estaba muy bien (nota mental, jugar la versión vieja/nueva para comprobar cuanto más “picantona” quiere decir exactamente lo de “algo más picantona” XDD ) pero lo que nos iba a quitar el sueño esa noche en el CAAD eran los discos, potencialmente poseedores de la herramienta de creación de aventuras conversaciones española más buscada de la Historia de la creación de aventuras conversacionales en España XD

Tras varios días en vilo recibí la noticia que esperaba. Todo el lote de disquettes que Samudio había aportado para la exposición había pasado, de nuevo, por las sabías manos de Jaime y Javi quienes, de nuevo, hicieron el milagro: la práctica totalidad del contenido había sido satisfactoriamente rescatado. En realidad, si entendí bien como me lo contaron, no tuvo mayor dificultad, ya que para ahorrar tiempo los pasaron por la herramienta KryoFlux sin que ofrecieran apenas resistencia. Digo “la práctica totalidad” porque, y ahora es cuando mi amigo Bieno Marti se va a llevar un señor disgusto, los discos con los ejecutables necesarios para crear aventuras en Commodore 64 estaban envolviendo al resto cogidos con una goma elástica, y la doblez producida los había estropeado más allá de toda posibilidad de rescate ^_^’

Pero en lo que respecta al resto… se podía afirmar con rotundidad que el mítico “Creador”, el legendario “Diseñador de Aventuras de Aventuras AD”, el tan desesperadamente buscado “DAAD” había sido recuperado con éxito tras haber estado durante años en el lugar en que, mirándolo ahora con lógica, tenía que estar ¡el trastero de Andrés Samudio! 😀

El enlace temporal a las imágenes de los discos recuperados se nos facilitó a un reducido número de interesados, básicamente Jaime, Javi, Miguel Matias, autor de la reciente “Aventura GAME” para Spectrum, y un servidor. Junto al link venía una tajante instrucción: no revelar nada del asunto públicamente, vamos, no decir “ni mu”, ni, menos aún, distribuir los ficheros de ningún modo hasta que, por elementales motivos de ética y respeto que todos compartíamos, se contase con una autorización expresa al respecto del propio Andrés, absoluto y legítimo propietario de todo ese material.
Así que durante un tiempo nos quedamos todos, literalmente, “callados como putas” 🙂 Fue un momento en el que todos estábamos emocionalmente “dividos”: por un lado, nos haría toda la ilusión del mundo que todo ese material pudiese salir a la luz, tanto por su interés histórico como por la posibilidad de que los aficionados pudiesen trastear con él… y por el otro, entenderíamos perfectamente que a Andrés Samudio no le pareciese bien, ya que este fue un producto que en su día le costó simultaneamente un buen montón de disgustos y, además, un buen montón de dinero… para ser exactos, unos dos millones y medio de pesetas de la época. Si él no estuviese de acuerdo, mal que nos pesase, respetaríamos escrupulosamente su decisión.

La tarea de contactar con Andrés, exponerle la recuperación del contenido de los discos y pedirle autorización para ponerlos a disposición del público iba a caer en la persona más apropiada para ello, el propio Adonías, que fue a quien Andrés le cedió el material para exponer, pero entonces… sobrevino la debacle. A pocas semanas de la celebración de RetroMadrid 2014, un grave contratiempo de caracter personal obligó a Adonías a retirarse de la organización del evento, dejar su puesto al frente de la AUIC y sus colaboraciones en distintos medios y, en definitiva, a quedar a efectos prácticos “fuera de la circulación”. El tema “DAAD” quedó, también a efectos prácticos, en el limbo, salvo por el hecho de que durante un tiempo no dejé de dar la brasa a Jaime con mails del tipo “¿se sabe algo ya?” e insistiendo hasta el colmo de la plastez con preguntas sobre si se había efectuado la delicada y diplomática tarea de obtener ese permiso.

Y mientras todo eso sucedía, no pudimos evitar sucumbir a la tentación de poner a prueba el “nuevo/viejo” invento. Tras examinar minuciosamente el contenido de los distintos discos y la documentación, que andaba dispersa en varios ficheros de formato exótico (una versión del WordStar del año catapún, pero catapún, catapún XD ) pudimos comprobar que había suficiente material e información para tratar de poner el sistema en funcionamiento.

Básicamente el DAAD funcionaba escribiendo en un fichero de texto la aventura en un formato de condactos muy similar al PAWS, aunque sin algunos de sus mecanismos por defecto (dejando en manos del autor reproducirlos por su cuenta y añadiendo una dosis mayor de “libertad a costa de mayor esfuerzo”). Este fichero, mediante un compilador llamado desde la linea de comandos del MS-DOS, se transformaría en una base de datos que, dependiendo de los parámetros invocados al ejecutarlo, sería específica de cada una de las distintas plataformas de la época soportadas (Spectrum, CPC, Amiga, etc…). La base datos se traspasaría, con el hardware adecuado, a la plataforma destino, donde se fusionaría con un progama ejecutable también específico de cada sistema para producir el juego final.

La buena noticia es que el proceso era, en la mayoría de los casos, maravillosamente reproducible usando imágenes para emuladores de hoy en día, con lo que fue “relativamente” (siempre entre comillas) fácil crear una pequeña demo de ensayo. Durante un par de mañanas domingueras en las “CPCmaniacas” quedadas madrileñas del GUA pude, netbook en mano, crear una pequeña aventura: unas pocas localidades, un par de puzzles facilones, unos PSI bastante estáticos y muy poco habladores basados en chistes privados de los habituales a esas reuniones, y hasta un cameo del propio Samudio 🙂 Incluso fue posible añadir, a las versiones para máquinas de 16 bits, unos pequeños gráficos digitalizados con fotos de los asistentes (tras pelearse un buen rato con las paletas de 16 colores propias de la época y con los formatos de los ficheros de Atari ST, la máquina donde se manipulaban por defecto en AD en su momento).
Lo verdaderamente interesante era cómo, tras haber diseñado la aventura en si misma, era totalmente factible crear, con unos pocos cambios en los parámetros del compilador y algo de trasteo en las máquinas de destino, las distintas versiones totalmente funcionales para los distintos sistemas. En nuestro caso pude hacer versiones para Spectrum y CPC (sin gráficos, no porque no se pudiera sino por falta material de tiempo) y para MS-DOS, Atari ST y Amiga (éstas con gráficos de fotitos digitalizadas en b/n). Podrían haberse hecho también versiones para Amstrad PCW, MSX y C64. No hize para PCW por desconocimiento absoluto por mi parte de la máquina, pero seguro que es totalmente posible. Para MSX el tema era más peliagudo, ya que la documentación, en la parte que tendría que explicar como hacer el port, se limitaba a aseverar que el proceso en esta máquina era algo así como para “darle de comer aparte” y zanjar la cuestión diciendo que la explicación se salía de las posibilidades del manual (eer, sí, tal cual XD ). Y para C64… como ya comenté, los ficheros se han perdido, pero… ¡hey! si hemos llegado hasta aquí, no hay que perder la esperanza 🙂

Si alguien tiene curiosidad por ver el resultado de la demo, muy convenientemente titulada “En Busca del Paser Perdido“, puede echar un tejo por aquí.

DSCN6536 20131109_184307_zpsabd19088

2014-02-09 13.18.44 2014-02-09 13.31.10

2014-02-09 13.57.36

Edición de RetroGamer de La Diosa de Cozumel, producida por Matra y con portada de Azpiri. Foto del material de Samudio expuesto en Madrid games Week 2013 sacada del blog de Vintagenarios en la que pueden verse los discos del DAAD. Pruebas realizadas durante una quedada del GUA, con la demo de En Busca del Parser Perdido ejecutandose en un Amstrad CPC real y las versiones MS-DOS y Spectrum emuladas en un netbook y una tablet respectivamente.

Pero aún con la demo acabada y el “parser perdido” aparente convertido en el “parser encontrado”, al menos en un 90% de su totalidad, seguíamos teniendo la asignatura pendiente de, con Adonías fuera del mapa, encontrar quien le pusiera el cascabel al gato y obtuviese la deseada autorización de su autor para poder compartirlo. Pasaron, literalmente, meses con el tema en suspenso. No pasaba una sola quedad del GUA sin que persiguiese hasta la extenuación a Jaime preguntandole “¿alguien ha hablado ya con Samudio?“, “¿alguien ha hablado ya con Samudio?“, “¿alguien ha hablado ya con Samudio?“… y así ad nauseam XD … hasta que me dio la respuesta obvia: “oye, y ¿por qué no lo intentas tú…?

-VALENCIA, 2014:
Y en un pasillo apartado de la feria Valencia Va De Retro, tras secuestrar a Andrés Samudio de su sesión de firmas, me dirijo a él diciendo: “Eer, a ver por dónde empiezo a contarte ésto…

… ahora, por obra y gracia de la elipsis, puedo ahorraros la charla en la que que le cuento a Andrés todo el bloque de párrafos anterior y pasar directamente a su respuesta, que, tal y como le contaba en un mail a Jaime pocos días después, venía a ser…

… … que estará encantado de que se use el DAAD para hacer aventuras y de que lo pongamos a la libre disposición del público colgándolo donde y como nos parezca! Que si volvemos a necesitar los discos para lo que sea que se los pidamos con toda tranquilidad, y que, en sus (casi exactas) palabras “os corresponde a vosotros ahora usarlo, ponerlo donde sea, y darle el uso que queráis

Eer ¿Había dicho antes que, además de ser una figura fundacional e inspiracional en el mundo de la aventura conversacional en español, Andrés Samudio es… un tío majo? 😀

Poco después de que se publique este post, los ficheros se subirán a la zona de descargas de la web del CAAD, y no mucho después, con toda seguridad y Jaime mediante, al FTP habitual de los usarios de Amstrad, amén de otros posibles repositorios. Seguramente actualize el post con los enlaces concretos o los añada en la sección de comentarios. De momento también hay un enlace a un dropbox en la misma página que la demo, además de un enlace al pdf de la documentación básica para quienes quieran echar un vistazo por curiosidad sin bajarse los 40 MB del conjunto. La idea es que, para evitar el riesgo de que el DAAD vuelva a ser “el parser perdido” estén al menos en varios sitios.

Con la autorización verbal del Sr. Samudio podemos entender que los ficheros tienen lo que podríamos llamar una licencia “freeware”. Sentíos libres de descargarlos, copiarlos, hacer aventuras con ellos… pero si pensáis en algo más raro, como modificarlos o incluirlos en proyectos que tengan el menor ánimo de lucro, recordad que lo procedente, además de lo legal y elegante, es… hacer lo mismo que nosotros, o sea, aseguraos de consultar con el propietario y contar con su autorización.

Tal y como está en la actualidad, la descarga consiste en las imágenes de los discos tal y como se han encontrado. Para trabajar con ellas, el potencial autor de aventuras tendrá que examinarlas por su cuenta y localizar dónde está cada cosa. En la práctica, los únicos requisitos para sacarle partido son:

-un entorno de MS-DOS, real o emulado. Dosbox sirve a la perfección.
-familiaridad con la programación en PAWS (y estar dispuesto a aprender las diferencias)
-no tener miedo a los “entornos de programación sin entorno de programación” o sea, a trabajar con ficheros de texto compilados desde la línea de comandos.
-controlar algo de inglés, ya que parte del manual está en ese idioma.

Como mínima ayuda, al menos en la versión que subiremos en el CAAD, se incluirá la documentación recopilada en un fichero pdf fácilmente legible en un ordenador moderno. Originalmente eran varios ficheros dispersos de WordStar… ¿os acordáis cuando el procesador de textos WordStar era lo más de lo más? XD

Trabajar con el DAAD no es difícil, pero tampoco es un proceso que pudieramos llamar “intuitivo”. Acostumbrados a las facilidades de los sistemas de creación de software actuales, la aridez de las ventanas negras del MS-DOS puede intimidar a más de uno. Pero si un servidor, que es cualquier cosa menos un ingeniero informático, ha podido hacer una aventura pequeñita de prueba, seguro que muchos de vosotros, y no digo ya los expertos en programación “retroinformática”, puede, con el tiempo y la calma debidos, embarcarse en proyectos más ambiciosos de aventuras largas para varios sistemas. Cabe la posibilidad de que en un futuro se prepare una descarga con el material más organizado, o puesto de un modo más “user-friendly” que dirían los guiris. Hasta podría pensarse en un tutorial. Pero todo eso son planes hipotéticos y a largo plazo.

Lo bueno es que ahora tenemos la oportunidad al alcance de la mano de asomarnos a la ventana de la Historia aventurera española y, si nos atrevemos, de tocarla con nuestras manos y hasta de experimentar con ella. Me gustaría, a riesgo de pasarme tres pueblos de cursi, invitaros a todos los entusiastas de la aventura a uniros a mí en un agradecimiento colectivo a Andrés Samudio…

… por haber guardado esos discos durante todos estos años (¡eh! imaginate que le hubiese dado por tirarlos pensando que ya no servían para nada XD )
… y por no tener inconveniente en que se pongan al alcance de quienes estén interesados en su uso o estudio.

Un trozo más de la Historia del soft clásico español ha sido recuperado. Así que ya sabéis: ¡corred la voz! y, por supuesto, nunca dejéis de jugar aventuras, y si, además, os apetece hacerlas para sistemas “retro”, ya tenéis una opción más… ¡y ésta de las profesionales! 😀

(1) Actualización 5/2/19. En realidad el dato es del todo falso: Adonías en aquel momento estaba al cargo del evento RetroMadrid, pero no era presidente ni ejercía cargo alguno en la dirección de la AUIC. El error está anotado en los comentarios de este post desde hace años, pero por ir “dejándolo…” nunca lo corregí en el texto principal ^_^’

domingo, 27 enero

16:08

Tengo un problema con Bandersnatch…
[Ficción Interactiva – La Línea Dura (lineadura)]

Tengo un problema con Bandersnatch.

Y ver el vídeo con el análisis de Guillermo Crespi me ha ayudado a saber cuál es 🙂

En los ETPA, impresos o electrónicos, los twine, los juegos de FI basados en opciones, los Telltale, los Quantic Dream, los Life is Strange, etc… soy el típico jugador que “no” tengo una necesidad compulsiva de explorar las ramas alternativas. Para mí, la historia es “mi” historia, la que surge de mis elecciones. No necesito saber la historia de otros, los que hayan hecho cosas que yo no hubiera hecho (relevantes o triviales). El final “bueno” es el fruto de mis acciones (salvo los casos obvios de muerte prematura, más si ésta se produce por no haber tenido reflejos en un QTE o similar, que ya es otro tema).

Eso significa que estoy condenado a no disfrutar de Bandersnatch en su plenitud, ya que como bien indica Guillermo Crespi en su vídeo, un único visionado es forzosamente una experiencia incompleta.
Tengo el handicap adicional de que, por su propia naturaleza de episodio de la serie Black Mirror, Bandersnatch es a la vez desazonador y confuso. La mezcla de sueño, realidad, y realidad alternativa no es, ni tiene la intención de ser, clara y fácil de seguir. Al contrario, juega al “cuanto más liante, mejor, más cumplo mi objetivo”. A partir de cierto punto yo ya no tenía (ni se esperaba que tuviese) una noción clara de qué línea estaba siguiendo, lo que hacía que muchas de mis decisiones posteriores ya no tuviesen un claro fundamento y las efectuase un poco por aquello de “bueno, a ver qué pasa ahora…”. Suma a ello el (por otro lado brillante) elemento de romper la cuarta pared y el resultado corre el riesgo de parecerse a tragarse Serial Experiments Lain y el Animal Man de Grant Morrison en una noche… (al día siguiente seguro que eres mejor persona, pero por un precio: tu cerebro saldrá altamente resentido del proceso 😉  )

20190126_174712

Así que en cierto momento de la obra yo ya tengo que “rendirme” y asumir que estoy más perdido que el proverbial astronauta en la fosa de las Marianas XDD. Mi problema, que es “mío”, es que todo tiene mucho más sentido, y muchas de las aparentes incoherencias dejan de serlo, al tener la visión de conjunto que ofrece el explorar varias ramas, pero yo no soy un público/jugador inclinado a ello.

¡SPOILER ahead! 🙂

Con todo, tengo que decir que para mí Bandersnatch ha sido una grata experiencia. A pesar de la frustrante sensación de que me estaban “mareando la perdiz” por el camino, la carga emotiva del final, o en este caso, de mi final, aquel al que yo llegué, compensó con creces. Una obra que termnina con el protagonista, en su perspectiva de “niño”, acompañando a su madre en un viaje en el que “sabe” que van a morir mientras suena de fondo el Oh Superman de Laurie Anderson… simplemente no puede no gustarme. Es un momento lo bastante poderoso como para hacer que el viaje, aunque incómodo, haya merecido la pena.

No soy quien para decir si debería haber sido más… simple o si por el contrario deberían haberlo liado más. Sólo cuento mi experiencia por si a futuros diseñadores de FI en vídeo les sirve el dato 🙂

martes, 08 enero

16:08

Un hombre bueno (1): Triángulo de personalidades - Tutorial I7
[Pacificaciones (Johan Paz)]

En el anterior capítulo introductorio de este tutorial creamos un lugar y un personaje, Lycurgus. Si corréis el ejemplo en el IDE de Inform 7, veréis a Lycurgus dentro de su tienda, pero, ¿es eso lo que queremos?

Eso nos lleva a la discusión sobre la 'trinidad' de las obras interactivas. En las obras interactivas (incluso en un librojuego) siempre podemos distinguir tres entidades relacionadas: el interlector (el humano, el usuario, el jugador...), el narrador (el que cuenta la historia y, en el caso de ficción interactiva de comandos, el que responde los comandos) y la marioneta (el personaje al que le ocurre la historia, en nuestro caso Lycurgus). Estas tres personalidades se pueden relacionar de muchas maneras diferentes, pueden unirse entre ellas o no. Un ejemplo reciente es Bandersnatch de Black Mirror. En este caso el narrador es Netflix y su presencia es casi nula, pues muestra la historia visualmente; la marioneta es Stefan, al que le pasan todas la penalidades y, finalmente, el interlector (en este caso interespectador) es el que ve el capítulo. Y toda la obra habla de la relación entre el interespectador y la marioneta, que se resiste a ser manipulada, etc... En la mayor parte de las aventuras tradicionales la marioneta se identifica con el interlector, y el narrador contesta a sus acciones, a veces de forma neutra, a veces de forma didáctica o incluso burlona (véase El libro que se aburría).

¿Qué relaciones podrían establecerse entre esas tres entidades? Veamos casos:
  1. Verás lo que le pasó a este tipo (narrador / interlector / marioneta): en este caso alguien (un narrador) nos cuenta una historia en la que el interlector puede intervenir (tal vez aconsejar), pero la marioneta tiene una identidad propia. El ejemplo de Bandersnatch nos sirve para un caso de narrador casi inexistene, también podéis probar el esbozo de Berg para ver un caso mucho más extremo en la que las tres personalidades están presentes y juegan un papel.
  2. Vayamos de aventuras (narrador / interlector = marioneta ): este es el caso habitual de casi todas las aventuras conversacionales clásicas. La marioneta en este caso no es más que una extensión del jugador, suele ser anónima neutra y genérica (para que se identifique con facilidad el interlector con la marioneta), lo que muchas veces lleva al más que gastado arquetipo de la marioneta amnésica, que no sabe quién es ni dónde está. Un ejemplo clásico de esta opción es la propia aventura original o ROTA.
  3. Por favor, ayuda ( interlector / narrador = marioneta ): en estos casos la marioneta 'contacta' con alguien externo y le pide asistencia, ejecuta las recomendaciones (si es que las acepta) y cuenta los resultados. Este caso es el de todas las aventuras tipo lifeline.
  4. Escribamos juntos esta historia ( narrador = interlector / marioneta ): en este caso el narrador queda anulado porque son las propias elecciones del interlector los que conforman la historia, el sistema plantea lo más libremente posible las opciones y corre la simulación presentando las consecuencias en forma de reacción de la/s marioneta/s. El ejemplo más claro que se me ocurre es First Draft of the Revolution, que es una obra que me encanta. Creo que es una opción muy poco explorada e interesante, pero aquí la interfaz por comandos va muy forzada, por lo que probablemente Inform 7 no sería la mejor opción.
  5. Te está pasando ( narrador = interlector = marioneta ): no sé si se puede conseguir esta unidad completa si no es un entorno de realidad virtual o juego de primera persona, En cuanto la interfaz fuese mediante descripción de texto el narrador tenderá a separarse y acabarás haciendo el caso número 2. Yo intenté aproximarme a este caso en Hierba tras el cristal en donde la marioneta (Layna) se narra a sí misma y por eso el narrador habla ¡en primera persona! Para acabar de completar el egocentrismo exagerado de esta marioneta respondona, a veces establece autodiálogos con una voz que no deja de ser una parte de su cabeza, o sea discute con ella misma. En tal contexto el interlector queda constituido como una parte de la propia Layna, es algo así como una parte más de su cabeza a la que se le van ocurriendo 'ideas' que probar. El resultado es divertido y en su momento llamó mucho la atención, aunque no sé cuánta gente se dio cuenta de esta ruptura de paradigma. Por otra parte no es un 'Te está pasando' puro, es un ejemplo un tanto forzado que no queda del todo mal.
Antes de poder escribir más líneas tenemos que decidir qué relación hay en nuestro caso entre el narrador, el interlector y la marioneta. Es decir, cuál de los casos anteriores es el que va a usar nuestra historia. Aunque Inform 7 puede usarse en cualquier mezcla de relación entre esas tres entidades viene por defecto con respuestas en las que se da por hecho que el interlector y la marioneta se identifican y que el narrador es lo más neutral posible. Esta elección no nos viene mal si queremos que el interlector se meta en la piel de un viejo artesano constructor de máscaras de teatro. Es decir, un clásico 'Vayamos de aventuras', tal vez dándole un poco más de color a la marioneta de lo que es habitual.

¿Cómo logramos la identificación de Lycurgus con el jugador? Simplemente cambiando la línea mostrada a continuación.


Fácil, ¿no? La importancia de esto es mayor de lo que parece. Para Inform 7 el 'jugador' es un personaje más de la obra, un 'person' como otro cualquiera y de hecho es posible cambiarlo a lo largo del devenir de la historia. Esto te permite crear obras en la que el protagonista pase de un personaje a otro (véase un estupendo ejemplo de esta técnica en Del otro lado).


martes, 01 enero

16:08

Ya llega el 2019
[Pacificaciones (Johan Paz)]


Ya ha llegado el final del 2018.

Un año en el que he perdido a mi padre por un cáncer cerebral que se lo llevó en pocos meses. Un cáncer que me mostró lo frágil que es nuestra mente. Un poco más de presión en alguna parte de la corteza cerebral y los recuerdos se desvanecen, junto con la capacidad de leer, de entender la hora o incluso la capacidad de usar palabras. No había imaginado lo duro que es algo tan simple como enseñar a tu padre a usar su propio reloj despertador cada pocos días.

Un año que me ha demostrado lo minúsculo que somos y cómo podemos pasar de ser algo, una persona llena de pasiones y miedos a nada en un instante. La muerte es un cambio tan fundamental que asusta y devasta. Es fácil entender porqué se crea el mito del alma, o el de los fantasma. Es fácil comprender que una historia tan absurda como Ciudad Permutación tenga sentido para alguien. Nunca olvidaré como escuché en la televisión a Ana María Matute rechazar fervientemente que no haya nada tras la muerte. Ella no podía aceptar que la mente, que es tan rica y compleja, simplemente se desvanezca en nada. El mismo razonamiento que en la novela mencionada antes. Pero, ay, es justo esa la realidad de lo que somos, pura evanescencia que se cree importante en un Universo ciego y azaroso.

Un año que me demostró lo mucho que puedo fallar. Lo mal que puedo llevar las circunstancias y lo débil que soy ante las dificultades. Lo mucho que me queda por aprender y madurar con mis casi cincuenta.

Acabo el año con afónico y con los bronquios algo afectados, lo que entiendo que es adecuado para un año tan malo. Y sí, he creado muchas cosillas durante este año, ya lo he contado. Pero es el momento de hacer autocrítica: queda claro que puedo escribir incluso en malas circunstancias y que puedo escribir rápido. Lo del #iftober fue una maravillosa locura, pero lo que hice realmente no fue un verdadero reto para mí, ya sé que puedo escribir rápido, incluso interactiva. La verdadera pregunta es si puedo escribir de verdad bien. Algo que de verdad deje una marca en alguien.

Así que mi propósito para este año 2019 es seguir, levantarme como un fénix y continuar intentando hacer al menos una cosa que os emocione y os deje temblando. Mi propósito será crear una única cosa ya sea literatura lineal o interactiva que sea realmente buena, algo que se quede ahí y me haga algo menos evanescente.


(Os he dejado arriba mi fénix favorito, Rachel Summers de Marvel, 
la versión de Romita Jr., tal vez su momento más alto y más bajo.
La propia definición del fénix)

viernes, 14 diciembre

16:08

Un hombre bueno (0) - Tutorial I7
[Pacificaciones (Johan Paz)]

Aunque tengo ya un tutorial de Inform 7 (Huesos) y además tengo uno iniciado con mecánicas roleras (Acero)  me he dado cuenta al ver algunas preguntas básicas que me han hecho sobre I7 de que hace falta un tutorial mucho más detallado y sobre todo uno que contenga recomendaciones sobre lo que interesa hacer y lo que no.

Además siendo como soy un escritor casi puramente brújula (y permitiendo, como permite, I7 escribir como un escritor brújula) curiosamente os ofrecí una aproximación muy de escritor mapa en el tutorial de los Huesos. Lo hice para que se viese que partiendo del mismo material se pueden hacer cosas tan diferentes como una hiperficción y una ficción interactiva de parser.

Finalmente veo que, por fin, empiezan a verse entre los creadores de ficción interactiva en español piezas que se empiezan a alejar de la literatura de género, lo que me alegra. No me entendáis mal, soy un enamorado de la literatura de género (bueno, no del dinoporno, de eso no) pero me da rabia que se identifique la ficción interactiva sólo con historias de fantasía, terror o ciencia-ficción. Así que he decidido crear un tutorial con una historia que se aleje en lo posible de la literatura de género con la intención de demostrar que la FI también alcanza esos lares.

Así que hoy nace el Tutorial "Un hombre bueno" con un triple objetivo:
  1. Escribir un tutorial que explique no sólo como hacer una AC en I7, sino cómo hacerla bien, cómo estructurarla y dejarla lista para publicar.
  2. Mostrar cómo hacer de 'escritor brújula' en FI.
  3. Escribir una historia sobre un personaje que no sea un héroe.
Mi primer paso ha sido encontrar un nombre y una ilustración que me inspire una historia; y simplemente dando vueltas por la red me he topado con lo que veis arriba a la izquierda. Un viejo ofrece lo que parecen máscaras de teatro a una dama romana o griega y lo que parecen dos de sus sirvientas una adulta y una niña. ¿Será una actriz? ¿O es una cortesana que quiere decorar su apartamento? ¿O tal vez es una patricia que está organizando una fiesta? No tengo ni idea, vamos a irlo descubriendo a medida que se lo escribamos.

¿Por qué esa imagen? Primero porque una tiendecilla en una de las cajellas de una ciudad antigua parece un escenario ideal para una aventura de una única habitación (lo que es una categoría en sí misma en IF que incluso ha tenido sus propios concursos). Escoger la opción de una habitación fuerza a escribir en profundidad, haciendo que la acción no dependa de la exploración, que es uno de los aspectos de las ACs más gastados.

Lo primero que tendrás que hacer es instalarte Inform 7 y la librería de español.

De momento sólo sé que el título es 'Un hombre bueno', que estará en español y que su protagonista es un liberto romano llamado Lycurgus. ¿Como creamos un comienzo de obra que se correponda a eso?

Pues de esta forma:


Como se puede ver la primera línea indica el nombre de la obra, el autor y dice que estará en español. Y luego hemos puesto una sección de comentarios explicando la obra, su objetivo y su fecha de creación, todo lo cual puede ser muy útil para los que lleguen a esas fuentes en el futuro. Luego hemos añadido una sección de librerías (de momento no hemos puesto ninguna) y opciones (hemos indicado que siempre ponga todo el texto de la descripción de la localidad y que no use puntos).

Finalmente tenemos la sección del relato en sí mismo. Inform 7 permite estructurar el relato en partes, secciones y capítulos. Vamos a usar esta capacidad. De momento hemos creado una única parte con todo el modelo del mundo de la obra.  Dentro de esa parte hemos creado dos secciones: lugares y personajes. Y en cada sección crearemos un capítulo por cada sitio o personaje que incluyamos.

Sólo tenemos dos cosas: la tienda y el protagonista.

¡Bien, ya hemos empezado!



martes, 04 diciembre

16:08

Todas mis entradas de la #iftober
[Pacificaciones (Johan Paz)]



Me ha parecido que había demasiado ficherillo en mi itchio, así que he creado una página agluntinadora y ahora tenéis en una única creación los quince minirelatos que cree para Héctor el Inquisidor durante la #iftober. Podéis encontrarlo aquí.

domingo, 21 octubre

16:08

15 obras para la #iftober
[Pacificaciones (Johan Paz)]

Acabo de subir 'Reloj' (https://johan-paz.itch.io/2018-iftober-14-reloj) que completa el grupo de las 15 primeras obras para #IFTober (https://twitter.com/search?q=%23iftober&src=typd) y tal vez las únicas. Hay de todo un poco en este grupo de 15 obras: cosas son puzle y sin puzle, algunos con algún efecto montado en javascript, cortos y algo más largos. Pero todos tienen en común el uso exclusivo de texto con una apariencia muy simplificada de negro, blanco y rojo.

La historia de Héctor está más o menos situada en el universo de los Colonos de Tulgia (https://docs.google.com/document/d/1qFe0axQiXeeFQwhLrM7sL6OhpEvMqxLYDL32ghIxgzE), en el que también están situados mis tweet de este wordtober (https://twitter.com/search?q=%23wordtober1&src=typd) y estará situado 'La Torre y el Mar' (http://wiki.caad.es/La_torre_y_el_mar)

Ha sido agotador, y eso que muchas las he subido sin revisar ni una vez. Este ritmo es simplemente insostenible. En estos días he creado más miniobrillas que en todas las Sillyberrys (http://sillyberrys.net/).

Es posible escribir una IF improvisada en muy pocas horas usando Squiffy, Twine o Ink; pero es un ejercicio muy diferente hacerlo constantemente día tras día. Llega un momento en el que simplemente se te acaban las fuerzas. Es raro, porque es algo que no me pasa con la Nanowrimo.

miércoles, 03 octubre

16:08

Y de pronto, #iftober...
[Pacificaciones (Johan Paz)]

Por culpa de Eduardo ha empezado una locura más y me ha dado por apuntarme (como si no estuviese ya bastante pillado).

Intentar hacer una miniobrilla cada día durante un puñetero mes entero es simplemente un disparate, o, para estar en sintonía con la serie que voy a crear, un sindiós. Ya resultaba casi imposible mantener el ritmo en el caso de las Sillyberrys, pero esto es peor. Mucho peor.

Esto será como hacer la nanowrimo. Una nanowrimo en la que el relato se resista, se agite como un demonio siendo exorcizado, y muerda con cada descuido.

Locura total.

¡La Emperatriz nos guarde!


Entradas anteriores

Feeds

FeedRSSLast fetchedNext fetched after
// infsp channel // XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
Aventuras Conversacionales 2.0 XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
caad – Xavier Carrascosa XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
CAAD: Club de Aventuras AD - Comunidad de Aventuras Conversacionales y Relatos Interactivos XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
El blog de Morgul XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
El Escritorio de Incanus XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
El interlector >_ XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
Ficción Interactiva – La Línea Dura XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
Fragmentarios XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
Informate tú XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
Interlecturas XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
La mano parlante XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
Las aventuras del arquero XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
Pacificaciones XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019
Primavera en los Cárpatos XML 16:08, miércoles, 20 marzo 2019 15:08, jueves, 21 marzo 2019