Fiction generator post-mortem: mythology generation

For JuNoGenMo[1] this year, I wrote a small script to generate work in the style of sumerian mythology.

Sumerian mythology, in the form of translated primary sources, has a number of attributes that make it suitable for prose generation. The original sources tend to be extremely repetitive, prone to inserting long lists, and without a strong narrative.

Part of this is the use of exhaustive lists of epithets. For instance, here is a portion of an actual myth:

About eighty percent of that paragraph is a list of alternate names for or attributes of the god Enki. Only the final line, “you have fixed your gaze on the heart of the Land as on split reeds”, is action — and the action in question is looking down.

Other times, the author suddenly descends into exhaustive lists of types of things, as with this section, where he lists musical instruments:

The inclusion of editorial notes indicating variations between sources expands this further. (This pattern probably has something to do with the style in which scribes were educated: they spent much of their time transcribing lists of related objects or animals read aloud by a teacher, then later transcribed myths read aloud.)

The style in which sumerian gods are usually named is also well-fitted to generation. Usually, their name is a combination of the word for their general domain and either ‘en’ or ‘nin’ (both of which mean ‘lord’ or ‘master’). Generally speaking, there is also some drift, as gods have their domains overlap with others in the pantheon & take on some of the same epithets. (For instance, Enki, whose domain is water & creativity, is strongly associated with the manufacture of alcoholic beverages, even though that domain is properly owned by Ninkashi — ‘our lady of drinks’.)

Taking inspiration from the use of categorized corpora in Emily Short’s Annals of the Perrigues, I created lists of specific domains associated with sumerian words, then produced lists of epithets associated with those domains. I could then generate a god name and a list of associated epithets of arbitrary length.

Having produced god names, I created templates for stories. Actual sumerian myths are often fairly narratively simple (when they aren’t overly repetitive and complex), and so I turned the plots of some actual myths into templates:

The first template here is not based on an existing myth, but the second is based on Enki’s Journey to Nibiru, the third template is based on Enki and Ninmah, and the fourth is based on the final section of Enki and the World Order.

I also substitute in actual city names & constructed musical instrument names. The musical instruments found in sumerian records are often difficult to categorize or describe, since the names used bear no relationship to more modern names with which we have more complete records associated. (This is a common problem with sumerian taxonomies of things — it’s a long-dead language that was completely lost & forgotten for thousands of years, and one in which long lists of names were more common than descriptions. There are lots of plant and animal lists that are similarly obscure.) As a result, I simply generate gibberish names — as meaningful, in most cases, to a scholar of the ancient near east as actual sumerian musical instrument names:

Finally, I produce titles, based on the common format found in actual titles:

The results aren’t exactly readable, but they are almost precisely as readable as the sumerian myths themselves.

Here is the complete generator, and here is a novel-length output. For actual ancient sumerian texts, see the Electronic Text Corpus of Sumerian Literature (ETCSL).

[1] JuNoGenMo is an unofficial off-season version of NaNoGenMo done in June. Theoretically, it’s for people who will be busy in November. In practice, most JuNoGenMo projects are done by people who already do multiple NaNoGenMo projects every year & get impatient about waiting until November to start.



Resident hypertext crank. Author of Big and Small Computing: Trajectories for the Future of Software.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
John Ohno

Resident hypertext crank. Author of Big and Small Computing: Trajectories for the Future of Software.