Slashdot Mirror


Programmers Share 188 Computer-Generated Novels On GitHub (thenewstack.io)

An anonymous reader writes: Last month 188 entries turned up on GitHub in an event challenging programmers to write computer code to generate 50,000-word novels. "The 'novel' is defined however you want," wrote the organizer for National Novel-Generating Month. "It could be 50,000 repetitions of the word 'meow.' It could literally grab a random novel from Project Gutenberg. It doesn't matter, as long as it's 50k+ words." Novels were submitted as Issues on the event's GitHub repository, and this year saw intriguing titles like "The Hero with Arbitrarily-Many Faces," "THE CYBERWHALE – a cyberpunk version of Moby Dick," and "Terms and Conditions – a Legal Thriller."

49 comments

  1. Next a movie by ls671 · · Score: 2

    Next let's make a movie, it might beat some actual movies too.

    --
    Everything I write is lies, read between the lines.
    1. Re: Next a movie by Anonymous Coward · · Score: 1, Insightful

      Lucas has already done it. Didn't you see the prequel trilogy?

    2. Re:Next a movie by Anonymous Coward · · Score: 0

      Next let's make a movie, it might beat some actual movies too.

      Just leave out Jar Jar Binks and most Star Wars fans will rate it higher ;-)

    3. Re:Next a movie by Anonymous Coward · · Score: 0

      Yeah, let's call it "Guardians of the Galaxy" - standard plot elements with standard dialogue fitting that standard-plot...

    4. Re: Next a movie by malditaenvidia · · Score: 1

      Jar Jar makes BB-8 look like fucking Shaft.

  2. If the only requirement is that it has to be "at least 50,000 words long", why not just submit a copy of the dictionary and call it done?

    --
    Just cruising through this digital world at 33 1/3 rpm...
    1. Re:Duh by MightyYar · · Score: 1

      That'll get the creative juices flowing!

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    2. Re:Duh by Anonymous Coward · · Score: 0

      Duh? In the summary it says you could enter one word repeated. If you wanted to do use least amount of creativity possible, that would be the best, no?

    3. Re:Duh by Anonymous Coward · · Score: 0

      You got to share your code too.

      So this could work for an arbitrarily long novel:
      10 prinf "Duh"
      20 goto 10

    4. Re:Duh by Anonymous Coward · · Score: 0

      If the only requirement is that it has to be "at least 50,000 words long", why not just submit a copy of the dictionary and call it done?

      Something like this, then...?

      cp dictionary.odf done

    5. Re:Duh by Anonymous Coward · · Score: 0

      To reply to two posts simultaneously, I basically made a movie of all the words in a free dictionary flashing one at a time.

    6. Re:Duh by John+Allsup · · Score: 1

      To those brought up on the 'meet the requirements, then you're done' ethos, it probably doesn't make sense. I guess here the aim is for the programmers to challenge themselves, and each other. By having a ridiculously low bar, you can ensure you produce at least one thing which 'qualifies' with ease. Thus there is no risk of not being able to produce anything good enough: the negative feedback one gets from fear of failure can be a real obstacle to learning and creativity sometimes.

      --
      John_Chalisque
    7. Re:Duh by KGIII · · Score: 1

      SYNTAX ERROR LINE 10

      You might as well make it count 'em while you're there. It has been a long time but... Hmm... LET A = "DUH" IF A 50000 GOTO {line number} ELSE GOT {line number} then PRINT A and a line for END.

      Meh, something like that. It has been a *very* long time.

      --
      "So long and thanks for all the fish."
  3. Hairy proposal by Tablizer · · Score: 1

    How about a bunch of Trump quotes. The book would be huuuuuge!

    1. Re:Hairy proposal by Zaowulf · · Score: 1
    2. Re:Hairy proposal by jebtang · · Score: 1

      Nice, laugh for 5 mins HAHAHAHAHAHA

  4. the point by Anonymous Coward · · Score: 1

    The point would be an interesting solution that fulfills the requirement. Especially something that a human could read without clawing out their eyes. Plus you have to share the computer code that you used to generate the novel. (Copy file "novel.txt." into "compunovel.txt" -or- while i ++ 50,001; book+=" meow";

    You could submit that, and some people may, but you're not going to receive much attention for doing so.

  5. Any non-borrowed texts worth reading? by Black+Parrot · · Score: 1

    \subject

    --
    Sheesh, evil *and* a jerk. -- Jade
    1. Re:Any non-borrowed texts worth reading? by Anonymous Coward · · Score: 0

      Well, there was The policeman's beard is half-constructed.
      No, wait ...

    2. Re:Any non-borrowed texts worth reading? by Anonymous Coward · · Score: 0

      There were several really good entries this year (it's been going on for three years). None of them are worth reading the entire 50k words of, but this year there was one entry (a program called MARYSUE) which was indistinguishable from human-written self-insert star trek fanfiction with the serial numbers filed off for about three chapters. There was also a really interesting vocabulary replacement experiment wherein Alice in Wonderland was rewritten using similar words from the King James Bible, which made just enough sense to be interesting and evocative. There was also an entry that created fairly human-like caper stories. Last year, someone generated a comic book, which is definitely worth reading in its entirety.

      The reason NaNoGenMo is interesting is that generative fiction has a scale problem, and NaNoGenMo challenges people who are interested in generative fiction to fix the scale problem. It's very easy to produce something uninteresting at a scale of 50k words, and it's very easy to produce something human-like that's very short; however, generative fiction has historically been (and mostly still is) a collection of hacks that produce a very specific kind of writing of widely varying quality, and by having a target word count that is high enough that it's difficult to cherry-pick only good results, people who want to impress others with their work are forced to think about how to scale up while keeping interest. A lot of this ends up going into figuring out ways to make the output seem more novel or complex than it really is (for instance, using words and images and vagueness to imply hidden depths, as Generated Detective did), figuring out forms where people don't mind the repetition (bad erotica is easy to generate and the worse it is the funnier it is, so I've done at least two entries that generate novel-length quantities of bad erotica), or trying to figure out how to expand a structure out and fill in all the details (which is, obviously, the technique most applicable to writing real novels, and what MARYSUE was doing).

      In previous years there were a lot of entries that used markov chains or performed simple 'gag' text substitution. There's a tendency to do a 'simple' entry right away so that you've managed to make *something*, and then spend the rest of the month on something interesting, and both of these techniques fall into that category so they're popular. A lot of people this year used RNNs, which ultimately just are a slightly higher quality variation on the markov chains from previous years. Newly popular this year are planner systems that operate on knowledge bases: we saw several entries structurally similar to TALE-SPIN, a 1976 program that modeled several characters and their interactions with each other and with the world (along with their mental models of each other) in order to tell fairy tales, and the aforementioned caper novel generator was also based on a planner that navigates a state machine and tells the story by (essentially) making the debug messages resemble first-person narration. Also newly popular this year were generative grammars and statistical methods for word substitution.

  6. This is stupid by Anonymous Coward · · Score: 1

    Any monkey can write a novel. But it takes creativity to write a good novel.

    Better challenge would be to write good mad libs. Something like that would be NP complete. You know, something for the day when holodeck fantasy simulation becomes good enough to be interesting.

    1. Re:This is stupid by rsborg · · Score: 1

      Any monkey can write a novel. But it takes creativity to write a good novel.

      Better challenge would be to write good mad libs. Something like that would be NP complete. You know, something for the day when holodeck fantasy simulation becomes good enough to be interesting.

      Ah, but the good ideas could be focus-group tested with editors as your focus group.

      Kimosabe, you're not thinking like a megacorp or VC-funded startup! Just imagine when the script editor role is outsourced to many people - you run dozens of scripts by many editors, and choose the winner(s) to be sent to another focus group of consumers^Wfilm watchers. Then you pick the ones that win and spend money on them.

      Or better yet, you can splice them together to make an even better movie! Just think of the profits!

      --
      Make sure everyone's vote counts: Verified Voting
    2. Re:This is stupid by Anonymous Coward · · Score: 0

      Why the hell would writing a novel be NP-complete? Human beings write novels all the time, in finite amounts of time, and professional novelists write novels on a schedule.

      As for creativity -- for any definition of creativity not composed specifically to exclude them, computers are already creative.

  7. Spoiler by Anonymous Coward · · Score: 1

    Markov chain generator, seeded from whatever Project Gutenberg books you can find. Makes a nice Pride & Prejudice and Tale of Two Cities crossover, where everyone is in the same room doing trying to figure out how to marry, while observing Jaques killing the same person twice. ...

    Okay, just picked a random "novel", and it reads more like a CRPG combat output log rather than an actual story. So instead of announcing that the contest is over and the books can be read, it's probably better to show which ones are technically the best so that we can focus on how they can be further improved if desired.

  8. Awesome competition by Anonymous Coward · · Score: 0

    This is a way to challenge programmers to be creative. You could take 50,000 words from the dictionary but no one would read that. The challenge is making a text that would be interesting and sharing how you made that text. It's a creative process not a normalized squeeze out another crime novel kind of process.

  9. Computer generated? by penguinoid · · Score: 1

    printf(" [insert text of your favorite novel here] ");

    --
    Don't waste your vote! Vote for whoever you want, unless you live in a swing state it won't matter anyways
    1. Re:Computer generated? by Zero__Kelvin · · Score: 1

      That would never work. The first time there was a quote in the text it would be game over; the code wouldn't even compile.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  10. Oh my. by Anonymous Coward · · Score: 0

    Terms and Conditions had me on the edge of my dialog he entire time. 5/5 would accept again.

  11. Naming? by Anonymous Coward · · Score: 0

    Do they call this NaNoGenMo?

    1. Re:Naming? by Anonymous Coward · · Score: 0

      Doh! I should have looked it up. They do. :')

  12. In 1984 by Anonymous Coward · · Score: 0

    ... write computer code to generate 50,000-word novels.

    It's a small detail but in '1984', all art was created by machines.

  13. Chicken by umafuckit · · Score: 1

    It's not a novel and it's not exactly "computer generated" but I do love the chicken paper and it's later presentation at a meeting

    1. Re:Chicken by Anonymous Coward · · Score: 0

      Do you recall the SCIgen vs. spamference debacle?

  14. Hodor. A novel by Hodor. by Anonymous Coward · · Score: 0

    Hodor. Hodor hodor Hodor hodor. ...

    Hodor.

    1. Re:Hodor. A novel by Hodor. by OolimPhon · · Score: 1

      Buffalo!

  15. DMCA Notices by Anonymous Coward · · Score: 0

    But did they get auto-generated DMCA notices from the programs after doing that?

  16. 186 by Hognoxious · · Score: 3, Funny

    186 of them were by APK.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  17. A very low bar... by Anonymous Coward · · Score: 0

    From the example efforts cited, you could've had the same contest in 1965 with the same results. Come on, people, there's prose generators,chatterbots today... you can't come up with at least coherent sentences?

  18. comma space chapter 12 by Impy+the+Impiuos+Imp · · Score: 1

    Novels were submitted as Issues on the event's GitHub repository, and this year saw intriguing titles like "The Hero with Arbitrarily-Many Faces," "THE CYBERWHALE – a cyberpunk version of Moby Dick," and "Terms and Conditions – a Legal Thriller."

    Wake me up when it generates "Lorelai and Rory: When The Love Goes A Little Too Far".

    --
    (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  19. Re:FUCKING LINKS?! by Anonymous Coward · · Score: 0

    Please go back to 4chan.

  20. One way to do this by Anonymous Coward · · Score: 0

    Here is a simple-minded algorithm to create a novel by extending the simple character-based textual travesties from the CPM/Z-80/BASIC era.
    1) Parse source text (novels, whatever) into meta-word list where meta-words are words n-tuples* including punctuation marks. *Coding a raw word list into integers to express the tuples.
    2) Crete a binary tree of the word list/count where nodes contain not only the meta-word and its count, but also the count of meta-word further down the tree on the left branch and on the right branch.
    3) Generate the novel by repeatedly traversing the tree to reach a leaf, the branch taken at each non-leaf node randomly selected according to the two “further down” counts. Start the next traverse at the first node whose n-tuple starts with the (n-1)-tuple from end of the n-tuple from the last leaf reached.
    Coded this many years ago and can vouch for it generating some remarkable text retaining much of the flavor of the original. Feed it unlikely combinations of source novels - I’m sure Slashdot readers can come up with combinations that can make the original authors spin in their graves.

    1. Re:One way to do this by david_thornley · · Score: 1

      How did you get enough text on your CP/M machine? Did you have single- or double-density floppies?

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  21. Check out the Tom Clancy Plog Generator. by jimbob6 · · Score: 1
    1. Re:Check out the Tom Clancy Plog Generator. by jimbob6 · · Score: 1

      Plog? Dumb-ass!

  22. Re:this FP fOr GNAA by Anonymous Coward · · Score: 0

    Bizarrely, this would qualify.

  23. It's official. Programming has gone to hell by Anonymous Coward · · Score: 0

    This "problem" is asinine! What the hell has happened to the world of coding? It use to be that a good solid programmer was one who would follow through and write test cases to find any bugs and solve a problem as completely as possible. Now it's any idiot that can speed code garbage to solve an arbitrary problem that may or may not have any real world application. That'd be fine if it were limited to competitions, but employers are using HackerRank, Topcoder and the like to filter employees. These are platforms that reward horrible coding practice - commenting doesn't matter, fast partial solutions are what you need to qualify etc. No wonder commercial code has become such a damned mess - buggy crap written by foolish kids with big egos and no common sense. It's like using speed chess to judge champions, or trying to hire a top chef by giving them a challenge on the production line at McDonalds.