Story Generator v.0.1
A downloadable project
This is a simple Python file that creates stories using a cool outlining technique I made.
The basic idea is that all stories are nested series of a Start, Attempt(s), and Resolutions. Originally, I used the term "Problem" instead of Start, but not all stories have to start with problems- they could be goals that they want to pursue, not because they are vexed about it or find it even problematic. For instance, you might hear your grandma, say, tell you a story that sounds something like:
"The other day, I got a phone call that my insurance wouldn't work unless I filled out some documents online- and you know me- I have no idea how to use computers.
"So I tried calling up their customer support, and they tried to walk me through it, but they were incredibly rude, and nothing they were saying was working. It was just awful!
"I mean, eventually, he just did it for me, but he was incredibly huffy about it. It's like no one remembers customer support these days!"
This story could be outlined like this:
- (Start) Problem: Grandma's insurance requires her to use a computer to sign stuff.
- Attempt: Call Customer Support
- Attempt: Do it with Customer Support guiding her through it
- Resolution: Customer Support does it for her.
You can take this same story outline and use it for just about anything, and you can even make stories branch off, doing their own things. For instance:
(From Avatar: The Last Airbender)
- (Start) Problem: The world needs saving
- (Start) Problem: The person who can save it, the Avatar, is a goofball 12 year old, and he doesn't know how to use his powers
- Attempt: Him and his friends decide to help him train.
- (Branching node that will go on to create a new tree) Start: the Avatar has a crush on one of these friends, Katara.
- Start: They decide to start with learning water-bending first.
- Start: They're super lost
- Attempt: They end up on Kyoshi Island...
- Start: They're super lost
- (Start) Problem: The person who can save it, the Avatar, is a goofball 12 year old, and he doesn't know how to use his powers
The point is, you can follow these as far as you want down- entire episodes are made of these trees. An important note is that the tree's outline does not determine the way it is told though. You can skip around, tell a part of one story and then move to the next.
Anyways, my hope was to create something kind of cool. I want to work on it a ton, but I'm kind of stuck. If nothing else, this is a useful thought experiment and has helped me create stories myself. In the future, I think I need to create some kind of tag system to make it so Starts, Attempts, and Resolutions flow into each other. Currently, a story can start with someone wanting musical abilities and then attempt to get these by overthrowing the government. Might make for a fun story, honestly-- why on earth would that be necessary? But still, maybe some order to the chaos would be nice.
My favorite story it has created so far though is:
- P: Insanity
- A: Dance
- S: Failure
- A: Seduce
- S: Failure
- A: Sacrifice Treasure
- A: Explore
- S: Success
The way I interpret this story: A man goes insane, so to solve it, he tries dancing. That doesn't work. So then he tries seducing someone. That also doesn't work. So then he sacrifices something dear to him, goes exploring, and ends up healed. I think that is a wonderful little story.
Status | Prototype |
Author | Colton Johnson |
Genre | Interactive Fiction |
Tags | Procedural Generation, Story Rich |
Download
Install instructions
You will need some version of Python 3, and that is about all, I believe. Open it up in whatever you use for Python programming and it should work!
Leave a comment
Log in with itch.io to leave a comment.