REALLY, IF / REALLY, ALWAYS was put together with spreadsheets and scotch tape. I started working on it sporadically in early 2016, and finished in April 2018, in time to plant it in the Back Garden of the Spring Thing Festival of Interactive Fiction, and to have it published by the Orange Juice Public Library. This post summarizes the game’s development and construction.

First, a note on how the game works:

REALLY, IF / REALLY, ALWAYS is based on Bernie Cosell’s 1969 Lisp implementation of the ELIZA chat program originally written by Joseph Weizenbaum in 1966. The program simulates a dialogue with a psychotherapist, the “doctor,” by taking the user’s natural-language input, identifying keywords and/or sentence structures, then reflecting the statement back to the user according to rules associated with the identified keywords or structures. If, for example, the user typed, “It seems that you love me,” the doctor might respond, “What makes you think I love you?”

In the 1969 implementation of the program, there are approximately 250 potential sentences that the doctor can “say.” Some examples:

What might _____ represent?

Why do you remember _____ just now?

Let’s discuss further why your _____ _____.

Have you dreamt _____ before?

Please tell me more.

In each playthrough of REALLY, IF / REALLY, ALWAYS, every word in the 1969 doctor script is used in the potential “input” text exactly once. Keywords (such as remember, dream, love, etc.) are used any number of times. Continue reading “Making REALLY, IF / REALLY, ALWAYS”

Afraid of money: 5 (mostly) procedurally generated poems

I’ve been curious about procedural content generation, so I spent the weekend experimenting with this Markov chain generator and tutorial. I have no Python experience, but it was easy for me to set up and use. I think you’ll recognize some of the source text, which I intentionally kept brief. I’m happy with the results, which I might describe as “flarfkov” :). (The results also reminded me of how much I enjoyed the 2009 hit “Team, meet girls.”)

I asked the program to generate output text that was 200 words long, beginning alternately with “I” and “You.” As you can probably tell, I lightly edited the output: I introduced line breaks, truncated some lines, deleted some lines, and changed the order of a couple of lines–though not the order of individual words.

I’m interested in texts that show their seams, and I’m interested in exploring “soft constraints”–i.e., texts that are produced by some sort of mechanical constraint in collaboration with human intervention. I’m also hoping to find ways to work with procedural methods whereby violence is not enacted on source texts the way that it is too often enacted on bodies.

Here are the poems: Continue reading “Afraid of money: 5 (mostly) procedurally generated poems”