Ciro Durán Un archivo vivo

Traceryhx

Revisa Traceryhx:

Este es un port del branch tracery2 de la implementación original en Javascript hecha por galaxykate, tal como estaba en agosto 2016. Tracery es una librería de expansión de texto. Comenzando con una estructura de datos que define strings, Tracery puede expandir estos strings con elementos al azar. Esto ofrece una gran cantidad de posibilidades creativas con una definición de datos muy simple.

Portear la librería de Javascript a Haxe fue relativamente simple, ya que ambos lenguajes son muy similares. A continuación, un extracto de la documentación original, que explica cómo funciona Tracery.

Una librería de expansión de texto

Hay muchos ejemplos nuevos de Tracery en uso También hay un tutorial interactivo

Escribe objectos con gramática, obten historias generativas

Un ejemplo de una gramática

{
	"nombre": ["Arjun","Yuuma","Darcy","Mia","Chiaki","Izzi","Azra","Lina"],
	"animal": ["unicornio","cuervo","gorrión","escorpión","coyote","águila","búho","lagarto","cebra","pato","gatito"],
	"ambiente": ["molesto", "indignado", "apasionado", "melancólico", "astuto", "cortés"],
	"historia": ["#heroe# viajó con su #mascotaDelHeroe# mascota.  #heroe# nunca estaba #ambiente#, ya que el #mascotaDelHeroe# siempre estaba #ambiente#."],
	"origen": ["#[heroe:#nombre#][mascotaDelHeroe:#animal#]historia#"]
}

Resultado de esta gramática

Por supuesto, ¡muchas otras gramáticas son más complejas!

Lina viajó con su pato mascota. Lina nunca estaba indignado, ya que el pato siempre estaba indignado.
Yuuma viajó con su unicornio mascota. Yuuma nunca estaba wistful, ya que el unicornio siempre estaba indignado.
Azra viajó con su coyote mascota. Azra nunca estaba wistful, ya que el coyote siempre estaba apasionado.
Yuuma viajó con su búho mascota. Yuuma nunca estaba wistful, ya que el búho siempre estaba cortés.
Azra viajó con su cebra mascota. Azra nunca estaba impassioned, ya que el cebra siempre estaba astuto.