This project attempts to recreate the paradox of a book that is a garden which Jorge Luis Borges explores in “The Garden of Forking Paths.” Just like T’sui Penn in the short story, I attempted to create a book in the form of a self-generative text that could be experienced by the user like a garden that itself could be experienced like a labyrinth. I created a program—a digital iteration of a story written in natural language that creates another world or realm of experience—that acts like a garden that seems and feels material, not in space but in time since this digitally generated garden as it is a product of text and time, a garden through which the user travels only to find herself confused in a pointless journey through time. I say through time because although the screen of the computer where the garden is rendered is like the physically material, the three-dimensional design of the graphics gives only the illusion of a material space. Every time the user travels, the user stays in the same place and the graphics on the screen are rerendered to maintain the illusion, the user then travels through time as the illusion of material space is maintained.


To build a garden made of text in “A Garden” I started by analyzing the short story according to parts of speech using a Natural Language Processing library. I separated the words into arrays for each part of speech and then, using a couple of simple sentence structures, built a system that recombined the words to generate new sentences. In Unity3D, a cross-platform game engine, I generated a labyrinth of concentric circles where every path forked providing the first-person user with two choices.

My objective was to use the texts generated from the short story as the texture of the walls of the labyrinth. As I discussed previously, every part of code must communicate and understand the next part without leaving any gaps of ambiguity. In building the labyrinth, I had to send the texts generated in MaxMSP, a visual programming language, and JavaScript through Syphon, and application to share frames across applications, to the game engine where I created the labyrinth. Unity3D could not receive the information. To solve this problem, I had to go back to a previous version of the engine’s Open Graphics Library in order to receive the renderings of the text and bridge the communication gaps between the applications. Like Albert in Borges’s story, I still wonder whether I made the labyrinth or if I just followed and combined the predetermined features of several languages, libraries and engines while being trapped in the illusion of creating. Perhaps, I too was under the illusion of empowerment while being controlled by the possibilities predetermined by those who created the tools I used. You can access the code here.