-
Notifications
You must be signed in to change notification settings - Fork 21
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
Resources #1
Comments
Maybe someone finds my collection of libraries and APIs useful: https://github.com/javierarce/toolbox |
After last year's NaNoGenMo I said I would try to extract useful things from the NaNoGenLab and package them in a more useful way, and, so, yes, this is what I extracted:
They all require Python 2.x (tested on Python 2.7.6 but will probably still work on some earlier versions) but only seedbank requires that you write your script in Python - the other two can be used as stand-alone tools. They're all in the public domain, as is all the stuff in the NaNoGenLab. So, please steal, fold, spindle, and mutilate as you see fit. |
Conceptually, you might want to stumble around The Living Handbook of Narratology - for some overviews of narrative theory, and some alternate takes on what might constitute narrative. |
Tracey was recently mentioned in Generative Text - the mailing list/google-group that sprouted from the end of NNGM2014. Lately, there's been a lot of partisan ranting about templates. I may resemble some of that remark. |
I'd like to point out that the BotAlly slack group has a NaNoGenMo room, On Mon, Oct 26, 2015 at 11:40 AM Michael Paulukonis <
|
Since we're speaking of visual novels, I should probably mention the Yarn dialog editor. I don't know that'll be all that useful directly for generative stuff, but in case someone is trying to procedurally generate a dialog tree, it might be handy. Or you could always generate a Twine file. |
@enkiv2 Where's the signup for the GenArt group? I need to check that out. |
The genart group is at https://generativeart.slack.com ; I think it might On Mon, Oct 26, 2015 at 12:15 PM Isaac Karth notifications@github.com
|
As for botally, the public signup is here: http://t.co/OiOB7197BH ; people On Mon, Oct 26, 2015 at 12:18 PM John Ohno john.ohno@gmail.com wrote:
|
NB: I'm one of three admins for the #BotALLY slack--we welcome new
additions but we take our code of conduct VERY seriously so please only
join if you're okay with being in a place where you almost inevitability
will be nudged by an admin concerning your conduct.
|
Yeah, there's not a lot going on in https://generativeart.slack.com - and if there's a way to allow people to request an invite, I'm all ears. @dariusk - what's the source for the #botALLY registration doc+script? UPDATE: he's the GenerativeArt invite page: http://tinyurl.com/genartslackrequest |
@MichaelPaulukonis I've seen people use a Google Form to manage signups for Slack groups. |
So far as I can tell, the signup just is a web form that sends an email to On Mon, Oct 26, 2015 at 12:29 PM Isaac Karth notifications@github.com
|
It just emails us.
Let's stop this conversation, I don't want to add too much noise to the
resources thread.
|
There's been a lot of work done with Neural Networks this year, including text-based output (such as the generated Magic: the Gathering cards). That might be an interesting avenue to pursue. Abulafia uses MediaWiki for its generators. Not directly useful, but I keep forgetting to mention it here. Here's a method of procedurally generating a wilderness in a text adventure format. People who are doing a Swallows type simulation approach may find its ideas useful. |
Multiverse JSON is a light JSON syntax/spec and Python compiler script with which to store editorial projects in small logical units so they can be quickly reconfigured according to build parameters you define. |
Since last year's NaNoGenMo I've made a few libraries that might be of interest:
I also made Context-Free GenGen, which is sort of like a mini-Tracery except driven by Google Sheets (a la the original GenGen). Probably not great for making a whole novel, but maybe cool for prototyping ideas with context-free grammar generation. |
|
I have a few tools I've made in the past year too:
Some novelty filters:
And, some novelty generators:
On Mon, Oct 26, 2015 at 2:21 PM Allison Parrish notifications@github.com
|
If you're looking for a large corpus of internet comments, the mostly complete Reddit corpus is available. |
i have been pretty heavily tooling up for nanogenmo this year by way of publishing a ton of poetic node modules to npm.
Another resource i have created is the weirdly-specific-corpora project, which is a fork of dariusk/corpora for any lists that are too weirdly specific to be included in that project. I expect I will end up making a lot of weird lists while generating novels. |
Someone (I believe @JKirchartz) posted this link to an actual spam blog comment generator template that was accidentally posted as a comment on a guy's blog. |
There is a generator for hilariously poorly written sex scenes On Tue, Oct 27, 2015 at 4:14 PM Darius Kazemi notifications@github.com
|
See sample code in various languages via the Language Survey, issue #17 |
@enkiv2 suggested that a short introduction to some historical techniques might be useful in the resources thread to point out possible approaches for people who might not be familiar with some of the precedents of text generation. So I thought I'd write about a few of them. Dada incorporated several techniques that involved randomly assembling prior texts into new poetry. The cut-up technique takes an existing text, cuts it to pieces, and then reassembles the bits in a new order. This list of Surrealist techniques might also be inspirational. Oulipo is a group of writers who use constraints to define their writing. Relevant examples include Queneau's Cent Mille Milliards de Poèmes (A Hundred Thousand Billion Poems), which combines ten-line sonnets line-by-line; Perec's Life a User's Manual, which is structured like a knight's tour of a chessboard; Queneau's Excercises in Style, 99 retellings of the same story; Calvino's The Castle of Crossed Destinies, stories interperted via Tarot cards; and Queneau's "A Story as You Like It". Even where they aren't directly generative, the approaches used by Oulipo writers often point to alternative forms a novel can take. For example, Calvino's Invisible Cities and If on a winter's night a traveler. Oulipo is also significant because many of its members wrote about systems for generating stories and about incorporating computers into writing. Italio Calvino's essay "Prose and Anticombinatorics," about using the computer to to find the constraints for a murder mystery; Paul Fournel's "Computer and Writer: The Centre Pompidou Experiment"; and Claude Berge's "For a Potential Analysis of Combinatory Literature" are particularly relevant. Lastly, Jorges Luis Borges tends to crop up a lot, particularly for his short stories: "The Library of Babel", "The Book of Sand", "An Examination of the Work of Herbert Quain", "The Garden of Forking Paths", "Pierre Menard, Author of the Quixote", and "Tlön, Uqbar, Orbis Tertius". |
After @rbechtel mentioned the source code for Micro-Talespin, I went poking around to see what other early AI storytelling systems had source code availible. Micro-Talespin in Common Lisp, by Warren Sack For Tale-Spin itself: In 2008 Meehan found a copy of the original MLisp source code for Tale-Spin (sans the data files). There's an extensive discussion of the source code in Wardrip-Fruin's Expressive Processing, though I'm not aware of any copies online. Eliza/Doctor: Skald: a Scala reimplementation of Minstrel Remixed, which is itself a Scala reimplementation of Scott Turner's Minstrel (originally in Lisp). Scott Turner on MINSTREL. |
As an example of exercises in minimalism and apophenia, Nick Monfort has a On Sat, Oct 31, 2015 at 11:20 AM Isaac Karth notifications@github.com
|
@ikarth et alia - this year I have been looking at Tale-Spin a bit, even though I don't think I will be using it as a model for what I will be doing. However, I do have some more resources in my NMGM repo and will be adding more there as the month progresses. |
neural-storyteller is a recurrent neural network for generating little stories about images. Code is at https://github.com/ryankiros/neural-storyteller |
Linked Data has links to a large number of datasets, many of which are also Open Data. |
Baba - a Javascript-based designer for text generators. A generator that outputs text generators should be a useful resource for non-coders, but it looks like the live web demo is down so it'll take a little bit of work to get it to run if you download it. |
I've created a thread for beginner's questions and tutorials, as a supplement to the main Resources thread: #152 |
Working in Python? Having unicode issues? Even if you properly take care of the proper encoding and decoding on your end, your source data may be incorrectly encoded. Or, worse, Windows might have mucked it up. If you've got “ or — all over your text, you might want to consider using ftfy. Fixes bad unicode and mojibake; doesn't convert non-unicode to unicode. |
If you want to avoid certain words in your output text, here's a number of things. These are mainly aimed at bots, but should still be generally useful. Here's a JavaScript, Python, Ruby and PHP word filter: Here's a headline filter: Tips on transphobic joke detection: Some lists of bad words: [Inactive] muted Twitter topics: Some general etiquette things: |
If you need to plug in some Markov Chains in Perl, you could do a lot worse than the module I built for it this year. |
|
For anyone working with a twitter-sourced corpus, myna is a "JS lib that compiles a tweet to machine speakable text". Or non-twitter-literate text.
|
Hey all. Since this is our most popular (and most-subscribed to) issue, I just wanted to let people know I have a new issue open to discuss whether we do NaNoGenMo 2016 here on Github again, or somewhere else. Feel free to participate! #199 |
This is an open issue where you can comment and add resources that might come in handy for NaNoGenMo.
There are already a ton of resources on the old resources threads for the 2013 edition and the 2014 edition.
The text was updated successfully, but these errors were encountered: