GitXplorerGitXplorer
h

Storying

public
6 stars
2 forks
0 issues

Commits

List of commits on branch master.
Unverified
c4138383e5e92c818854d0ef42b8e598eda02a06

Updating README upon up-privatizing the repo

hhoverbird committed 13 years ago
Unverified
1abffd6902d5b10ce11719c498f24f8be784cf22

Add tiny colophon- needs better placement

hhoverbird committed 13 years ago
Unverified
b32d3fd9fcc7bec483919131d9d1b617c8114826

Wondermarks genre-fiction generator, ported to Storying code

hhoverbird committed 13 years ago
Unverified
aa151e22c9b14378eaca6127e4be19133887961f

Add Wondermark genre fiction stuffs.

hhoverbird committed 13 years ago
Unverified
1d0d732c1610bfa8f42a645c074b7a906b1d04d4

Edited Gemfile via GitHub

hhoverbird committed 13 years ago
Unverified
edf03e85c680ebafaa6584e553bd8013d7d6c338

Better styling for mobile

hhoverbird committed 13 years ago

README

The README file for this repository.

Storying

Storying is a lil' app for generating tons of pretty dubious fiction by combining a bunch of small "story elements" into frameworks that glom them together ("templates"). The goal in this version is to make it stupid simple to throw a bunch of ideas into the system, and then have them recombined and returned to you in unexpected ways. It was developed with Christi Ginger and Robin Sloan as an experiment, but it is definitely done now- this approach is no way to find the balance between the unexpected and the coherent. But it is fun to play with, a bit like a souped up Madlibs.

Up and Running

  1. git clone the URL above
  2. We're using Bundler to install Chance and the other dependencies. cd to the project directory and run bundle update. You may need to run gem install bundler if you don't already have Bundler installed on your system.
  3. Start the server with rake storying
  4. Visit http://localhost:9393 in your browser for a tiny generated story.

What's the point?

The goal here is quick and easy experimentation. To this end, there are a few places where you can create entirely new stories and story elements just by tweaking of text here or creating a file there.

  • story_elements: These are lists of text snippets that are read by Storying and made available for random access in your stories. They'll be available based on their filename, so Storying.relationships_to_character is a list generated from relationships_to_character.yml. You can edit these files freely and even add your own new types; just drop a new .yml file in this directory and Storying will pick up on these and make them available to your templates.

  • templates: Simple Mustache templates that Storying will pick randomly and render. Add new templates here with substitutions wrapped in {{braces}} and they'll be thrown in the mix.

  • lib/storying: The lib directory is where the stories are constructed. Here you'll find the Story class itself, which randomly selects its basic components when constructed with Story.new. The story will automatically have a setting, a hero, a supporting_character etc. Investigate these other types to get an idea of the components so far. Adding to these basic types will be slightly trickier than just dropping in new story elements and templates, but just barely. Fire up a new *.rb file and the class you define there will be available in your stories. Define your own methods to do work with attributes, or add a has_random_story_element declaration and each new instance of the class will have that attribute, plucked from the story_elements.