A downloadable InkLite for Windows, macOS, and Linux

Download NowName your own price

Lo que es

InkLite es una herramienta de línea de comandos que permite generar ficción interactiva para ereaders, utilizando una versión reducida de la sintaxis de Ink, con sutiles diferencias.

InkLite genera un archivo HTML que luego podrá convertir en un ebook utilizando Sigil, Calibre o Pandoc.

El archivo generado

El libro digital que genera InkLite no es una aplicación, sino un ebook con hipervínculos, que se ve y funciona como un librojuego ETPA .

Pero, a diferencia de un librojuego, InkLite le permite crear y almacenar información a medida que avanza el juego, para que pueda rastrear qué ha hecho el jugador y las elecciones que ha tomado.

Este seguimiento de datos es invisible para el jugador, pero se puede utilizar para producir texto variable. 

Por ejemplo, el archivo fuente puede contener una línea como: 

Jenny se acerca, con cara de {JennyIsHappy:complacida|aterrorizada}.

En el juego final, el jugador solo verá una alternativa de las dos especificadas entre llaves, según el valor del interruptor JennyIsHappy  .

El archivo fuente

InkLite utiliza una sintaxis simple, fácil de leer y fácil de escribir. Un juego podría comenzar de la siguiente manera:

#TITLE: El Gran Robo Del Tren Del Metro
=== parrafo_inicial ===
  El policía tira de mis manos con más fuerza detrás de mi espalda.
  * Habla     -> habla
  * No hables -> silencio
=== silencio ===
  no digo una palabra; ni siquiera gimoteo.
  -> conversacion
=== habla ===
  "¡Por favor!" exclamo. "¡Te diré lo que quieras saber!"
  El policía parece complacido. Su agarre se relaja un poco.
  -> conversacion
=== conversación ===
  “Está bien, punk. Te preguntaré de nuevo. ¿Donde lo pusiste?"
  * “¿Qué cosa, oficial?” -> respuesta.que_cosa
  * “¡No sé, está bien!”  -> respuesta.no_se
=== respuesta ===
  = que_cosa
    “¿Qué cosa, oficial?”
    "Como si no supieras", gruñe.
    -–> continuar
  = no_se
    “¡No sé, está bien!”
    "Como si no supieras", gruñe.
    -–> continuar
  = continuar
    * “Honestamente, no tengo idea.” -> noidea
    * “Solo suéltame, ¿de acuerdo?”  -> dejarloir


Si está familiarizado con Ink, seguramente entendió el significado de todos los símbolos a la primera. (Esos -> al principio de  una línea actúan como "enlaces directos", lo que puede ser realmente útil para volver a unir las rutas de la historia. "-->" Es un enlace directo a una subsección).

Seguimiento de datos

InkLite nos permite almacenar un poco de información a medida que avanzamos en el juego. Esto se hace inicializando un interruptor, luego encendiéndolo o apagándolo, y conseguiremos cambiar las opciones del juego, los enlaces directos y la salida de texto dependiendo de lo que esté configurado y lo que no.

Aquí hay un ejemplo:

#TITLE: Sentado o de Pie
== primer_parrafo ==
    El autobús está lleno hoy. Solo queda un asiento.
    Una anciana sube al autobús.
    #INI: sentarse
    * Tomar asiento  -> asiento.tomar
    * Ponerse de pie -> asiento.notomar
== asiento ===
    = tomar
        #ON: sentarse
        Voy rápidamente por el asiento.
        –-> anciana_on
    = notomar
        #OFF: sentarse
        -–> anciana_on
    = anciana_on
        La anciana se tambalea en el autobús hacia mí. {sentarse: Otra pasajera, una niña, se pone de pie para dejarla sentarse. Hago un gesto hacia el asiento con una mano, como si fuera mío para dárselo.}
        * Habla con la anciana        -> hablar.senora
        * Habla con la chica          -> hablar.chica   {sentarse}
        * Mirar por la ventana        -> mirar.ventana
        * Mirar alrededor del autobús -> mirar.autobus  {!sentarse}


En este breve ejemplo, creamos el interruptor "sentarse" . Está inicializado en el primer párrafo, listo para ser utilizado. En la siguiente sección, dependiendo de lo que elija el jugador, lo encenderemos o lo apagamos (esa desactivación es innecesaria, en realidad, el interruptor se genera apagado de forma predeterminada).

Luego, en la subsección anciana_on, vemos una línea de texto que cambiará dependiendo de lo que haya hecho el jugador anteriormente, y se mostrarán opciones solo  bajo ciertas circunstancias.

(Esa marca ! significa 'No', y esa última opción solo aparecerá si el jugador, de hecho, no está sentado).

NOTA: Una de las diferencias más llamativas que encontrará entre InkLite e Ink, es que las condicionales se ponen al final del enlace y no al principio, además de que se usa ! en vez de not, y & en vez de and. El operador OR no existe.

Limitaciones

Los interruptores no deben guardarse por mucho tiempo: cuanto más tiempo duren, más grande será su archivo de juego. Así que este es un sistema diseñado para mantener al jugador en el buen camino, o en caminos muy divergentes.

La regla es: una vez que haya terminado con un interruptor, debe deshacerse de él, y recuerde, los únicos datos que puede almacenar son verdaderos o falsos. No puede, digamos, contar cuántas veces un jugador ha hecho algo.

#CLR: sentarse

Estructura de archivos

Los archivos fuente del juego deben tener la extensión *.inkl.

Además de su archivo fuente principal, puede incluir otros adicionales en la misma carpeta, si desea dividir un poco el texto. Esto se hace usando:

#INCLUDE: otro_archivo

Puede añadir el sufijo ".inkl" al nombre del archivo o no.

Validación

InkLite verificará lo siguiente e informará si lo encuentra:

  • Encabezados definidos pero no vinculados
  • Encabezados duplicados
  • Encabezados enlazados pero no escritos
  • Interruptores inicializados pero nunca utilizados
  • Interruptores eliminados pero nunca inicializados
  • Interruptores usados pero nunca eliminados (son caros )

Descarga

El archivo *.zip de descarga contiene:

  • El ejecutable para la plataforma Windows de 64 bits
  • Un archivo de ejemplo
  • La Documentación
  • El código fuente

Si desea trabajar con el código fuente, necesitará un intérprete de Perl,  y los módulos Switch y Cwd.


InkLite es un fork de kindliser. El código base es propiedad de Jon Ignold, quien autorizó para hacer las modificaciones pertinentes para crear esta herramienta. El autor aún no ha dejado claro bajo qué licencia publica el código fuente.

Download

Download NowName your own price

Click download now to get access to the following files:

inklite.zip 3 MB

Leave a comment

Log in with itch.io to leave a comment.