Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A History of Chessboard Universe 50 #84

Open
zachwhalen opened this issue Dec 1, 2020 · 0 comments
Open

A History of Chessboard Universe 50 #84

zachwhalen opened this issue Dec 1, 2020 · 0 comments

Comments

@zachwhalen
Copy link

This novel has a story behind it, but the novel I'm submitting here and the story are not mine, so I will do my best to convey their meaning here. I will also check with the author to make sure she doesn't mind me sharing her work in this forum. (I don't think she will, and most of this is public information anyway, but I will still check!)

In the 1980s, A.K. Dewdney ran a column in Scientific American called "Computer Recreations" where he discussed developments in computing that didn't really fit anywhere else. There were columns about chess programs and puzzles, for example, and just general miscellany. In the June 1989 issue of the magazine, Dewdney's column was titled "A potpourri of programmed prose and prosody," and in it, he describes and evaluates several different methods for generating literary text with computers.

The first and main example is a Usenet bot called "Mark V. Shaney" which -- as the name barely manages to imply -- uses Markov chains to generate pseudo-reasonable text, usually with a political theme. Penn of (Penn and Teller) also wrote about Mark V. Shaney in his column for PC Computing a couple years later. The creators of Mark V. Shaney apparently published a book or pamphlet of the bot's writing, but the intriguing section of the column is actually the second example.

As Dewdney tells us, one Bonnie Firner had been producing computer generated prose fiction for some time, using a 1500-line BASIC program called MELL to write "weird science-fantasy stories with a peculiar meditative quality."

The excerpt by MELL demonstrates how well the program tracks references and states for different characters and their relationships to each other:

A poet bird Aeweat smells a computer Muofubumo. What is the bird coaxes Muofubumo. You are too muddled sings Aeweat. Shut up sticks the computer Muofubumo. You should awaken sings Aeweat. A blotchy computer contracts. It flops. The computer cavorts. Aeweat pinpoints the humble computer. The computer bloats. The decrepit bird churns the computer. She twists it. The computer plays.

Why does the bird twirl pleads the tree Teweshe. I don't know hoots Teweshe. Why does the bird think coaxes the computer Muofubumo. I don't know hoots Teshe. A Computer contracts. Teweshe scents the computer. The computer cavorts. Teweshe pulls the computer. The computer decays in the year 225.

Dewdney doesn't share any code, but he provides a reasonable account of how the program operates:

Having chosen the names and traits of the story's characters, the main loop then determines what motivates a character by examining the values of its various descriptors. If one of the descriptors has a low value, MELL bas­es the character's interaction with the other characters on that fact. If no character has a low descriptor value, MELL will decide on the nature of a character's interaction based on his or her occupation. For each cycle of the main loop, the program then gener­ates several sentences that describe the characters by fitting names for their qualities into predetermined grammatical slots. The sentences thus generated also include what Firner calls "background" words.

So basically, MELL works as a simulation. There may be better names for this method, but I'm thinking of generator projects that are (at least conceptually) object-oriented where they describe objects (characters) that interact with a modeled word based on their properties, and then the text we read is the record of those interactions. I think that's what is happening in Deserts of the West, for example.

Bonnie Firner's approach in 1989 seems interesting and innovative for the time, but I have so far not found any reference to her in any of the literature about computational creativity beyond this one article, other than a few references to this article.

I did, however, manage to get in touch with Bonnie, now Bonnie Brunish, whom you can learn much more about at BonnieBrunish.com. She is an artist and she's written several books in a shared universe. Her website also includes a hypertextual exploration of some concepts and settings from her universe, and she has developed several Android Apps including a haiku generator, 4D Tic Tac Toe, and a universe generator.

All around, Bonnie seems like a really cool, creative person.

She no longer has a copy of the source code for MELL, but a descendant of that program operates in a JavaScript version on her website. There, a chessboard is an image (kind of a seed) that determines the state of several conditions at the inception of a universe, and users can explore that universe by advancing history one year or one hundred years at a time.

In the short prose passages generated for each year, you can see a tone similar to MELL, like in this excerpt from "History 1234, Year 100":

Lightning dazzles the icy plain. It is autumn on Gresado, planet number 49. Strong stones balance the plain.
Lisin Lin Li tromps past a psychological palace with its pink showrooms. Itamal Itab Ita tramps toward him. Lisin grasps Itamal. Itamal slashes him. You are evil! Lisin whispers.
Lisin marries Itamal. They shimmer.

Additionally, the way that history advances in an orderly fashion recorded in a chronicle reminds me of the world histories generated in Dwarf Fortress.

Bonnie's chessboard universes are deterministic (i.e., History 1234 will always look the same), but the short snippets always feel unique and surprising. The highest value her code accepts for the history number (or root) is 1000000, so this could potentially generate a great many unique NaNoGenMo contributions.

I've written a short JavaScript snippet that you can run kind of like a macro. It just calls the function to advance the year, (pix()), until it has at least 50K words of world history in a text string.

I've shared that snippet and a sample novel in this Gist.

Again, this is not my story or my project, but I hope you'll agree that it's worth knowing about in the context of NaNoGenMo. And I think there's still more to Bonnie's story. According to her, she got the idea that would become MELL as a college student in the 1960s, but an advisor discouraged her from pursuing the project, leading her to withdraw from the program.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants