12.10.16

Tutorial de creación de ficción interactiva - Huesos (8)

En el anterior post organizamos el código y empezamos a incluir decoraciones. En el caso de los relatos interactivos orientados a comandos el texto no vive por sí mismo sino que va 'clavado' o 'pintado' aquí o allá asociado a acciones pero muy frecuentemente a los objetos y lugares del modelo del mundo. Muy frecuentemente es más importante en una de estas obras que 'parezca' a que lo 'sea' en realidad. Es decir, frecuentemente lo que acaba siendo la obra se parece más al escenario o decorado que se ve en la foto de la izquierda que a una casa de verdad. En este sentido tratamos al interlector un poco como un abducido por extraterrestres y preso en un simulacro. No se trata de simular todos y cada uno de los aspectos de una casa si incluimos una en el relato, sino que se trata de que no se 'note' que no es una casa sino algo hecho de cartón-piedra. El equilibrio es delicado, porque aunque lo más probable es que no sea necesario incluir en el modelo del mundo las tuberías que recorrerían una casa de verdad, ¿qué pasa si le das al interlector un pico? Nada le impide que las busque picando en una de las paredes y entonces descubrirán que son de cartón-piedra y escaparán de tu obra. Mejor no les des un pico, pero si se los das ten preparada una buena excusa para que no rompan tu decorado.

Como siempre nos tenemos que guiar por la narrativa; es decir, tendremos que incluir todo lo que la historia:

  1. Necesita para completarse
  2. Necesita para tener sentido
  3. Necesita para ser coherente
  4. Sugiere que está
Muchos autores sólo incluyen el primer punto. Eso es muy insuficiente. Muchos autores ni siquiera saben distinguir entre el segundo punto y el tercero. Y raras son las obras que no se han saltado el último punto. Si el interlector está preso en una prisión, tendrás que incluir las paredes, el techo, el suelo y las rejas que conforman su prisión. Todo eso sólo es el nivel punto. Para que la historia tenga sentido tendrás que incluir los elementos que hagan al calabozo triste y desesperante. La suciedad, la humedad, las marcas de anteriores prisioneros. Para que sea coherente asegúrate de saber de dónde viene la luz, cómo llegan los prisioneros allí, cómo los vigilan los carceleros. Y finalmente... si dices que la luz proviene de un ventanuco, éste debe estar, pero también las estrellas que se ven a su través y los ruidos del mundo exterior que entran por él.

Dejaremos de lado aún a las tinajas que trataremos mucho más adelante. ¿Qué nos exige en cada punto la historia que tenemos entre manos?

El primer punto es evidente que sólo requiere las tinajas para completar la historia... bueno, las tinajas y todo su contenido, lo que será el cometido de un post posterior. Nada más, ni siquiera el túmulo. Pero el segundo punto necesita un lugar oscuro, una tumba, el túmulo en sí mismo. Con sus piedras viejas y enormes, con un suelo básicamente de tierra en la que las tinajas se hayan asentado casi hasta quedar unidas unas a otras, probablemente telarañas, polvo removido por la visita de nuestro protagonista. Pero todo eso no es suficiente para que el escenario sea coherente, al menos tiene que haber alguna clase de pasillo que nos haya traído hasta es lugar y por el que nos podamos marchar. Necesitamos una fuente de luz, una pequeña, por lo que también tendremos de hacer zonas de luz y de oscuridad, cosas que se vean desde el principio y tal vez zonas a las que haya que iluminar.

Uff... son montones de cosas y además ya se van perfilando una serie de acciones que habrá que implementar, como salirse del túmulo o la posibilidad de iluminar diversas secciones del túmulo. Hay dos maneras de encarar esto; la ordenada y eficaz o la entretenida y laboriosa. La ordenada consiste en que te pares ahora mismo y hagas una lista de todos los objetos que vas a necesitar y las acciones que estos objetos requieren... de hecho, en esta aproximación tradicionalmente se ha hecho un walkthrough, o en palabras castellanas, una secuencia de acciones que llevan al menos a uno de los finales de la obra, al final 'bueno'. Este componente, esta lista, era tan habitual que incluso hay colecciones de 'soluciones' y se siguen pidiendo en muchos casos para los concursos. A mí eso ya no me gusta. Si una obra necesita que exista y que se guarde su 'solución' es que es una colección de puzles indigerible que no está bien enhebrada, cuya complejidad no está equilibrada con el interés que despierta. Por eso ya no incluyo ese requisito en los concursos -como en Más allá de la Comp- ni me parece siquiera interesante leer 'soluciones' o que se publiquen.

Así que vamos a hacerlo de forma desordenada y creativa. Como hemos ya dicho un par de veces lo único que necesita el relato son las tinajas. No vamos a hacer el tratamiento correcto de las tinajas que deben de incluir toda la interacción, el contenido de las mismas y la interacción con el contenido. Pero hagamos un poco de estructura para ver cómo iría. Lo primero sería crear un conjunto de tinajas todas iguales. El relato requiere en realidad que el número sea 'enorme' y desconocido, pero empecemos con algo más controlable, por ejemplo siete tinajas. Inform 7 contiene un maravilloso sistema para hacer objetos iguales, que consiste en: primero crear una 'clase' de objetos y luego decir simplemente cuántos objetos de esa clase están presentes.

Section 3 - Tinajas

A tinaja is a kind of container.
The grammatical gender of a tinaja is usually feminine gender.

There are six tinajas in Tumulo.

Decimos que una tinaja es un contenedor, que es femenino y luego decimos que hay seis. Listo. Podéis descargaros el código de aquí, compiladlo y veréis que es bastante sencillo pedirle al parser que haga cosas por vosotros con tinajas. Pero le faltan cosas. Para empezar a nuestro personaje anciana no debería resultarle nada sencillo arrastrar estas tinajas de aquí para allá, y desde luego no debería poder cogerlas. Esto se resuelve añadiendo un 'fixed in place' a la definición de las tinajas. Además deberían estar cerradas y debería ser posible abrirla y cerrarla, esto se consigue añadiendo 'closed' y 'openable' a la tinaja. Quedando el código:

Section 3 - Tinajas

A tinaja is a kind of closed openable container. A tinaja is usually fixed in place.
The grammatical gender of a tinaja is usually feminine gender.

There are six tinajas in Tumulo.

Pero en realidad la tinaja debería tener una tapa, una buena tapa de madera sellada con betún. Añadir una tapa a un contenedor no es tan sencillo en Inform 7. Lo primero es crear otra clase de objeto que sea la tapa, decir que hay seis y explicar que cada tinaja tiene su correspondiente tapa. O sea:

Section 3 - Tinajas

A tapa is a kind of supporter. 
The grammatical gender of a tapa is usually feminine gender.

A tinaja is a kind of closed openable container. A tinaja is usually fixed in place.
The grammatical gender of a tinaja is usually feminine gender.

There are six tapas.
There are six tinajas in Tumulo.

Tenemos que asociar ahora las tapas a las tinajas. Inform 7 tiene la posibilidad de hacer objetos partes de otros objetos y de esta forma una tinaja cerrada tendrá una tapa asociada que podremos separar cuando la abramos. Una forma de asociar una tapa a una tinaja sería esta:

When play begins:
 repeat with jar running through tinajas:
  if there is a tapa (called selected) which is not part of anything:
   now selected is part of jar.

Como este capítulo se ha alargado demasiado mejor dejarlo aquí.

No hay comentarios: