2016 icon indicating copy to clipboard operation
2016 copied to clipboard

Entry: stealing Lovecraft's formula

Open enkiv2 opened this issue 7 years ago • 9 comments

H. P. Lovecraft has more variance than people give him credit for, but a lot of his stories really structured the same way: a scientifically-minded young man from Massachusetts with an anglo-saxon name studies something, discovers something unexpected about either his own family history or the history of the Earth, suffers a nervous breakdown during which he stops trusting his own senses, and kills himself, usually told as a set of letters or diary entries. Since other aspects of Lovecraft are easy to poorly imitate (using the words "eldrich" and "rugose" will do), it seems like it should be fairly straightforward to produce stories that are poor imitations of Lovecraft using templating. I'll start off with something similar to last year's "PKD pitches" entry, but I hope to turn this into something more closely resembling actual stories.

I expect to use GGC for this. I may extend what GGC is capable of doing, perhaps by adding the ability to import arbitrary python code.

I will be putting this project in http://github.com/enkiv2/misc/nanogenmo-2016 ; currently I'm gathering some corpora there for that & other nanogenmo projects.

enkiv2 avatar Oct 24 '16 17:10 enkiv2

I've created the first novel-length snapshot for this: https://github.com/enkiv2/misc/blob/master/nanogenmo-2016/fakeLovecraftSample1.md

The mechanics behind this are a little complicated. I've produced a GG template library from various lists of names from the Lovecraft mythos ( https://github.com/enkiv2/misc/blob/master/nanogenmo-2016/lovecraft-fixtures.gg ); I then process Lovecraft's whole fiction corpus separating out paragraphs and substituting all recognized names with template rules. Most of the effort involved in this is in cleaning up the text and working around the limitations of GG and python -- specifically, somehow, the original text contains all sorts of characters that GGC doesn't like (plus nulls, which python doesn't like), in addition to containing all sorts of things that aren't paragraphs; python also doesn't seem to like extremely long lists of strings, so I automatically split the rules into chunks.

Now, my end goal is actually to produce something with a proper story structure, so I'm going to have to manually sort paragraphs based on where they can go in a story and which other paragraphs can go next to them, and generate a stricter template library. In the process, I'd like to switch templates on and off based on which of several themes have been randomly selected. For this I'll have to write a bunch of python code.

Unfortunately, although I added support for importing python code directly into GG, this feature doesn't work reliably. I'll have to debug it before I can do some of the more interesting stuff I have planned.

enkiv2 avatar Nov 01 '16 15:11 enkiv2

And, I have a second entry in this theme: https://raw.githubusercontent.com/enkiv2/misc/master/nanogenmo-2016/stupidLovecraftSample1.md

This (implemented by stupid-lovecraft.sh) substitutes all of the quotes in Lovecraft with random quotes from either Jack Handey or dril.

enkiv2 avatar Nov 01 '16 15:11 enkiv2

You're missing a golden opportunity to extend the reach of Lovecraftian pseudobiblia:

arcaneText:=Book of Azathoth,Book of Eibon,Book of Iod,Celaeno Fragments,Cthäat Aquadingen,Cultes des Goules,De Vermis Mysteriis,Dhol Chants,Eltdown Shards,G'harne Fragments,The King in Yellow,Liber Ivonis,Necronomicon,On the Sending Out of the Soul,Parchments of Pnom,Pnakotic Manuscripts,Poakotic Fragments,Ponape Scripture,Las Reglas de Ruina,Revelations of Gla'aki,Seven Cryptical Books of Hsan,Tarsioid Psalms,Testament of Carnamagos,Unaussprechliche Kulte,Zanthu Tablets,Zhou Texts

Book of ..., Fragments, Chants, Shards, Texts etc.

MichaelPaulukonis avatar Nov 02 '16 16:11 MichaelPaulukonis

I think you're drastically underestimating how much I plan to eventually do on this :). I definitely will eventually extend arcane texts, but I plan to categorize paragraphs by where they can appear in what kind of story first.

On Wed, Nov 2, 2016 at 12:58 PM Michael Paulukonis [email protected] wrote:

You're missing a golden opportunity to extend the reach of Lovecraftian pseudobiblia:

arcaneText:=Book of Azathoth,Book of Eibon,Book of Iod,Celaeno Fragments,Cthäat Aquadingen,Cultes des Goules,De Vermis Mysteriis,Dhol Chants,Eltdown Shards,G'harne Fragments,The King in Yellow,Liber Ivonis,Necronomicon,On the Sending Out of the Soul,Parchments of Pnom,Pnakotic Manuscripts,Poakotic Fragments,Ponape Scripture,Las Reglas de Ruina,Revelations of Gla'aki,Seven Cryptical Books of Hsan,Tarsioid Psalms,Testament of Carnamagos,Unaussprechliche Kulte,Zanthu Tablets,Zhou Texts

Book of ..., Fragments, Chants, Shards, Texts etc.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/NaNoGenMo/2016/issues/12#issuecomment-257928044, or mute the thread https://github.com/notifications/unsubscribe-auth/AAd6GVFI1aEWCgyAxyFxAtFzgEDSN9wsks5q6MEfgaJpZM4KfED0 .

enkiv2 avatar Nov 03 '16 12:11 enkiv2

@enkiv2 - I probably am!

But aiming for low-hanging fruit can sometimes show that the giant task is not needed

I've never heard of paragraph-typology before, so this could be interesting.

MichaelPaulukonis avatar Nov 03 '16 15:11 MichaelPaulukonis

I'm, essentially, stealing @tra38's idea. The way I see it, often the paragraphs in the middle of Lovecraft stories are similar enough to almost be interchangable (the way paragraphs from articles about nanogenmo are); so, I can find paragraphs that can be interchanged with each other, group them together, and make them alternatives in a template. Then, later, maybe I can decompose them further & produce more varied paragraphs.

If I can do this for Lovecraft, I'll probably do it for SaveTheCat with existing screenplays -- identify scenes that correspond to a certain kind of plot, and produce a template by stitching them together.

On Thu, Nov 3, 2016 at 11:38 AM Michael Paulukonis [email protected] wrote:

@enkiv2 https://github.com/enkiv2 - I probably am!

But aiming for low-hanging fruit can sometimes show that the giant task is not needed

I've never heard of paragraph-typology before, so this could be interesting.

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/NaNoGenMo/2016/issues/12#issuecomment-258179558, or mute the thread https://github.com/notifications/unsubscribe-auth/AAd6GaLCirNgzHq4yUuTAbYcxLJ1RrB5ks5q6f_ggaJpZM4KfED0 .

enkiv2 avatar Nov 03 '16 15:11 enkiv2

Cool! This seems kind of similar to what I'm doing (see issue #92). I'm interested in seeking how this approach works out, and which variance of the approach works best.

superMDguy avatar Nov 04 '16 01:11 superMDguy

While I didn't manage to do what I intended, several of the snapshots I posted here are more than 50k words; could I get a completed tag?

enkiv2 avatar Dec 02 '16 15:12 enkiv2

@enkiv2 Tagged!

hugovk avatar Dec 02 '16 21:12 hugovk