jueves, 09 mayo

16:08

La versión más antigua de Advent, en español.
[Ficción Interactiva – La Línea Dura (lineadura)]

Hace unos meses recibí un mail del bueno de Félix Garillete, presencia habitual en los eventos y quedadas retroinformáticas de Madrid y alrededores, con una propuesta nada habitual, y, cuanto menos curiosa. Me adjuntaba, para su testeo y revisión, una versión traducida al español de la primerísima versión de Advent, la que William Crowther dejó sin acabar a principios de 1976, previa a los añadidos que hizo Don Woods un año más tarde, a primeros del 77, convirtiéndola en el éxito que todos conocemos en las universidades americanas.

1977, si me permitís la digresión, fue un año “peligroso” para tener 10 años en España. Por alguna conjunción astral coincidieron La Guerra de las Galaxias en el cine, las primeras ediciones españolas de la “nueva” Patrulla X de Claremont en los kioskos, y Mazinger Z en la tele. Ahora, 40 años después, me pregunto si mi tierna mente de infante salió indemne de todo aquello 🙂 Si me lo preguntasen entonces, una “computadora” era una cosa que salía en las películas. Y faltaba un año para que, gracias a la redistribución en salas por el 10º aniversario, conociese a HAL. Mi afición por las aventuras de texto no comenzaría hasta un buen puñado de años más tarde, pero ahora sé que el 77 también fue el año en que la Colossal Cave, literalmente, “lo petó” en los centros de estudios superiores de las lejanas américas.

En español apenas hay una minúscula fracción de la apabullante cantidad de versiones de “la cueva” que se llegaron a hacer en el entorno angloparlante. Si estás leyendo estas líneas probablemente seas un aficionado a la informática clásica, en cuyo caso no necesito mencionarte el remake de Andrés Samudio y Aventuras AD, La Aventura Original, ya que, igual que un servidor, seguramente lo tengas interiorizado como parte de tu propia historia. Pero mientras que la Original se permitía el lujo (y, simultaneamente, el gran gustazo) de añadir sus propios giros y rasgos de humor a la historia (escribiendo a la vez una parte fundamental de la Historia del soft español) las adaptaciones a nuestra lengua “fieles” al texto original son casi inexistentes. A riesgo de equivocarme, la única que recuerdo ahora mismo es la traducción de José Luis Díaz de la versión de 350 puntos de Crowther/Woods (la inmediatamente posterior a la primera de Crowther en solitario) realizada a partir del port hecho con Inform por Graham Nelson. La última cosa que yo querría hacer en el mundo sería pretender enmendarles la plana al autor del port o al de la traducción, pero, en mi humilde opinión, ése siempre fue el peor de los ports hechos sobre la obra. Ciertamente tiene, de cara al jugador, toda una suerte de mejoras de jugabilidad añadidas por herramientas de creación de los años 80/90 (la máquina Z, Inform…) pero… ¡ay!, le falta un detallito tonto, nimio, casi estúpido, de los de pasar inadvertido casi hasta para los expertos, pero que en su día empezaba a marcar por dónde los juegos “de aventura” marcaban la diferencia con el resto.

En el original, empiezas la partida en el ya legendario “final del camino”, desde donde entras a una caseta de pozo hecha de ladrillos para abastecerte de varios objetos. Al salir de ella, la descripción de la localidad inicial no se limitaba a repetirse igual que al principio, sino que añadía un sucinto: “Estás de nuevo en el final del camino.”

¡Qué tontería! ¿no? Y sin embargo… ese “de nuevo”, perdido en el port de Nelson/Díaz por el modo en el que Inform procesa las descripciones de localidad por defecto, hacía algo que pocos juegos habían hecho antes (bueno, no es que antes hubiera habido “muchos” juegos 🙂 ) y, de hecho, pocos hicieron después. Le daba al jugador una noción, por vaga que fuera, de que su ubicación en el espacio y el tiempo eran relevantes, de que allí se estaba contando una historia en la que sus actos contaban para algo, podían influir en el mundo del juego. Fue, acaso, la primera implementación de ese “momento de magia” en el que el público desprevenido (y hablo por mi experiencia en stands frente a una audiencia desconocedora de las aventuras de texto) corre el riesgo de engancharse al género.

Y fueron dos palabras. En realidad una en el original inglés. 🙂

En esta versión que Félix Garillete lanza hoy, la versión inmediatamente anterior de Crowther del 76 no hay riesgo de que se pierda. Los mensajes de texto del juego se hallaban en un fichero de datos aparte del ejecutable, lo que facilitó su traducción sin necesidad siquiera de recompilar el código fuente del original creando una reproducción casi facsímil en nuestra lengua…

… lo cual, por supuesto, no fue tan fácil como parecía 🙂 Cualquier persona que haya participado en la traducción a otro lenguaje de una obra de ficción interactiva dará fé de que, incluso en condiciones ideales como este caso, se requiere un triple-chequeo para evitar errores de contexto, localizar sinónimos que, por emplazarse en la posición equivocada de una tabla, bloquean a otros sinónimos lo que a su vez puede dejar inaccesibles zonas enteras del escenario, y un sinfín de tragedias posibles. Para andar lo menos posible sobre arenas movedizas, todo el testeo se realizó con un ojo puesto en las entradas del blog Renga In Blue dedicadas a repasar el juego y el otro, como no, en el ya clásico artículo de Dennis G. Jerz de hace 10 años en el que se hizo pública ésta primera versión del juego, desmontando unos cuantos mitos sobre su origen y cronología y sacando a la luz un caudal de detalles sobre su historia y desarrollo, amén de dar una guía para la interpretación del código fuente.

Esto último probablemente sea la parte de invitarme a revisar su proyecto que nunca agradeceré lo bastante a Félix Garillete. Para estar lo más seguros posible de que no había errores en la traducción del fichero de datos, era indispensable echar un buen vistazo al código fuente, disponible en una versión inteligible por las actuales GNU Utils por cortesía de Matthew Russotto sin la cual nada de ésto habría sucedido. Para algunos esta versión de Advent parecerá un “simple” juego de consola de texto, con un vocabulario limitado, incompleto, sin final ni objetivo claro, y con unos bugs que no se resolverían hasta versiones posteriores. Para mí, con todo, ha significado la ocasión de ponerme a analizar el código, y con ello, en cierto modo, meterme en la cabeza, de una persona que escribía en un Fortran incluso anterior al del standard del 77 para los PDP-10 de los años en los que mi “yo” de 10 años se preguntaba si el mundo de la ficción acabaría por hacer tambalear su visión del real.

Y, de verdad, que ha sido de “subidón” 🙂

 

Descarga versión en español para Windows.

 

Portada español color

20171125_233436

 

jueves, 14 febrero

16:08

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).

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!


jueves, 30 agosto

16:08

Mis planes tras la Rayuela
[Pacificaciones (Johan Paz)]


Ya casi ha terminado el plazo de presentación de obras de la Rayuela interactiva. Ya van más de diez obras presentadas, lo que está muy bien, aunque dado el número de inscritos espero que se alcancen más de veinte obras en las próximas horas.

Yo no he podido participar como quería, y como mucho me limitaré a subir una versión revisada de Ananké, con alguna mejora en cómo se ganan y pierden los puntos de 'adoración', para darle más dinamismo al juego.

He estado tentado —para ser sinceros sigo tentado— de crear una versión interactiva de un viejo relato no publicado llamado 'Por nuestro Señor' que va de relatividad en las religiones.  También he estado pensado en terminar la versión uno de mi 'Sillyberry' porno que va de rollo de demonios, llamada 'Lo hacemos porque os amamos' y subirla a itchio. Pero sería una participación enormemente precipitada, mala, puramente testimonial, por darme el gusto de haber incluido un texto interactivo a la Rayuela, así que lo verdaderamente lógico es pensar en qué voy a hacer en el futuro.

Tengo un relato bastante pensado para 'Actos de Fé' de Cerbero, pero no he escrito ni una palabra, así que creo será buena idea intentarlo. Conociéndome será algo como dos tardes de improvisar como un animal hasta las tres mil palabras, luego dos semanas de arrastrar los pies en la corrección y finalmente un arrebato absurdo de mandarlo en la que me dejaré un porrón de erratas.

Pero necesito pero YA ponerme a hacer una obra interactiva larga. Y la verdad es que tengo dudas, entre rehacer 'Apache' en Inform 7 y completarla, o hacer la obra que más me apetece pero que no creo que sea muy popular 'Sortilegios'.

Tal vez haga las dos cosas.

:)

Pero sin prisas.

lunes, 13 agosto

16:08

Rayuela de Arena - 9 y 12 de Agosto
[Pacificaciones (Johan Paz)]

El jueves 9 preparé mi primera y, tal vez única, aportación a la Rayuela de Arena: Ananké, un juego print and play con mucha aleatoriedad y muchos dados, como a mí me gusta.

:)

He tenido más bien poco tiempo para probarlo, así que tan sólo espero que no esté demasiado desbalanceado. Lo que sí que tengo claro es que tiene una buena cantidad de color y 'cosas chulas', como decía Rubén hace tiempo. Así que, al menos, espero que sea divertido. ¡No os olvidéis de comentar aquí mismo vuestra experiencias con Ananké, que tengo mucha curiosidad!

Y ahora vamos con 'La Torre y el Mar'. Dadas las circunstancias médicas de mi madre ya me queda claro que no puedo implementarlo con Inform 7, así que hoy he decidido pasar el proyecto a Squiffy. Ya he traspasado textos y también he estado recopilando efectos sonoros adecuados.

Tal vez intente localizar efectos visuales para el fondo, pero no sé si me dará para tanto...

Y... ¡¡Suerte a todos los participantes!!

miércoles, 08 agosto

16:08

Rayuela de Arena - 7 de Agosto
[Pacificaciones (Johan Paz)]


La cosa va avanzando pero demasiado lento. Al final estoy teniendo mucho menos tiempo de lo esperado, pero al menos ya casi tengo la primera versión de 'Ananké', el Print and Play que dije que iba a presentar. Han quedado una reglas chulas, complejillas, pero fáciles de entender (espero) y creo que puede dar bastante juego.

Me falta terminar de maquetar y diseñar las fichas/cartas del juego, supongo que esta semana estará para subirlo. Así me olvidaré de él y podré intentar centrar mi cabeza en 'La torre y el mar', aunque... la verdad es que por alguna razón se me va el pensamiento en el relato que se me a ocurrido para esta convocatoria de Editorial Cerbero y al relato que he empezado a hacer con Gema Moratalla.

viernes, 03 agosto

16:08

Rayuela de Arena - 2 de Agosto
[Pacificaciones (Johan Paz)]

Hoy no he tenido casi tiempo, así que ha sido sobre todo un día de reflexión y revisión. He estado seleccionando algunas imágenes para "Ananké", y viendo si queda mejor en forma de documento o de powerpoint. Normalmente hago un powerpoint para los Print and Play, pero no queda nada profesional, así que esta vez creo que haré un documento, como cuando Rubén me obligó a montar unas instrucciones independientes para "Kala". 

En cuanto a "La torre y el mar", he hecho algunas pruebas con Squiffy (sí, realmente lo voy  reescribir), porque tiene mucho componente de diálogo y en Inform 7 siempre me quedo insatisfecho con las conversaciones. No me gustó nada como quedó en El Anillo 3 el diálogo final por menús. En lo que hice de Berg al menos el menú tenía gracia, pero seguía por ser insatisfactorios. En el mundo anglo se usa mucho las conversaciones por 'tema', pero siempre me ha parecido que es una forma de elección 'ciega'. Incluso en Alabaster, que es de las mejores conversaciones que he visto por 'tema' en realidad queda regular.

Así que le he estado dando muchas, muchas vueltas; y muy cerca he estado de pasarme a Squiffy, pero las pruebas de hoy no me han convencido, quiero que el interlector tenga más libertad. Así que al final lo que he decidido es usar masivamente las librerías AKI y mezclar los 'temas' de conversación entre los diversos enlaces del texto disponible, y tal vez cree un comando '>> temas'.

Ya iremos viendo.

Entradas anteriores

Feeds

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