StorySoup - A Story Telling Prompt Generator
StorySoup? What’s that all about?
StorySoup is a simple application that suggests basic story components you may like to use to create a story. So if you are after a short story writing or story telling challenge, run StorySoup, hit “Go”, and let the creative juices flow.
The story components are;
- Challenges – Challenges that the story needs to overcome or find solutions for.
- Characters – Who the significant players in this story are.
- Events – Things of note that happen during the story.
- Locations – Places where the story is set or that may be passed through as the story unfolds.
- Objects – Items of significance to the story.
- Endings – The end point for the story.
StorySoup will not write the stories for you. That’s up to you. But it will give you a good framework to create from.
Just because you didn’t draw a card for some particular story element doesn’t mean you can’t include that element. The selection is not restrictive. It’s your story, you can add whatever you like.
Quite some time ago I became interested in story-telling games. Of particular note were the card-based games “Nanofictionary”, and “Once upon a Time”, and the particularly entertaining “The Extraordinary Adventures of Baron Munchausen”. Based on these I soon created my own custom decks and methods of play. Once I started down that path, the deck soon grew to 600 cards which, although unwieldy to handle, was starting to yield stories that worked well and didn’t turn up the same story elements time and again.
The natural evolution was to go digital where shuffling and handling massive quantities of cards didn’t matter. I had already been using scripts to convert my lists into printable card layouts, so it was an easy step to adapt this to an application which could serve up a bunch of randomly selected cards.
Here are the articles with the Scribus scripts:
- A Scribus script to apply a business card size images across a multipage grid.
- Python and Scribus Scripts to Deal Story Cards
No longer was the selection being use for playing games. I was using it for story prompts and the card sets had evolved still further.
The first appearance of StorySoup was a PyGame version. This was fully featured and working well. Unfortunately when I tried deploying it I ran into the main python bugbear which is that python doesn’t deploy without demanding several buckets of blood, sweat, and tears. It was painful and the success rate was pretty marginal – aside from not allowing me to deploy across platforms. Basically it was no good for producing a commercial product.
Into the picture came Godot. Godot was the perfect tool for the job. Designing a flashy interface was easy, the scripting was very similar to python but didn’t have some of the annoying features of python, and it could deploy to anything. I sunk some serious time into figuring out Godot and building the new StorySoup. It worked! It was robust! I could deploy it to Android, Windows, and Linux with ease.
I introduced new genre, an ability to use your own card lists, and capture your spread of cards as an image and as a text file. After a bit of user testing and with a card list of around 6000 cards I felt it was ready to be released into the wild.
I dithered around on that for a while. I guess I didn’t want the grief of releasing a digital product and then having to field the “It doesn’t work on my operating system”, “why doesn’t your card set have specific topics about [insert your political viewpoint here]?“ feedback. I still wanted to release it because was a valuable tool for writers, story tellers, and anyone just after some random amusements.
So, I am releasing StorySoup for free. It is issued as copyrighted freeware/donationware (not open source) It can be downloaded from Itch.io. Because it’s for free I reserve the right to ignore all requests for support etc etc. The software has been created and tested with the best care and attention I can muster and because Godot does such an amazing job of packaging software for deployment I don’t expect any issues with installing and running it. One thing I will say though, is that the Android version does not capture the screen or issue the text file of your selected cards. Sorry ‘bout that.
I would ask that you don’t share the software. If you want to do that, please direct your buddies to the Itch.io page linked below.
You can download the User manual here: StorySoup User Manual
Drop the downloaded executable to anywhere where you’d like it to live. Double-click on it and it will start. It does not need to be installed.
Drop the downloaded executable to anywhere where you’d like it to live. Double-click on it and it will start. It does not need to be installed. If it fails to start, it may be worth checking that it has been set to executable. Right click on the
StorySoupv7-LinuxXXbit file and check it’s permissions and that the ‘executable” flag is set.
You will be surprised. This App does not require access to your personal data, the web, your camera, or anything else on your device. It is self contained and so just run your .apk installer on the
StorySoupv7.apk file where-ever you have downloaded it.
Method – Using StorySoup
When you first start StorySoup you will be faced with a bank desktop and several big inviting-looking buttons.
The controls are:
- “Go” button (right side): This draws a new selection of story components.
- “Capture Screen” button (bottom): This saves an image of the StorySoup window together with a text file with a list of the story component text. (Windows, and Linux versions only)
- Quit button (bottom left): This shuts down the application.
- “Settings” button (top left): This takes you to the settings screen where you can select the genre, the number of cards to show, custom text lists, and set a custom location for saving the screenshots.
If you hit the “Go” button at this point the application will draw eight story elements cards and two ending cards from the “Everything” genre. These are suggestions for story components that you may like to incorporate into your story.
Maybe you like some of the components but not others. By clicking on the cards you wish to retain, you can pin them. In this example we have pinned the “The journalist”, “A set of false fingerprints” and the “A deadline had passed” cards.
Hitting “Go” again will draw a new spread of cards while retaining the pinned cards.
By clicking on the pinned cards, you can un-pin them. You can pin as many as you like and hit “Go” as many times as you like to get a spread in which you see a potential story.
Capturing Your Story Spread
At some point you will have a spread of story components you wish to use for writing your story. By hitting the “Capture Screen” button you can save an image of the StorySoup screen together with a text list of the story components present. (Only for Windows, and Linux versions)
A message dialogue will pop up telling you the name of the image file and where it was saved to. The text file has the same name. In this example the screen shot has been called “StorySoup201973015571.png” and was saved in the default directory called “ScreenCaptures”. The directory where Screenshots are saved can be changed in the Settings Page.
The default Screenshot directory varies between operating systems:
Clicking on the “Settings” button on the main StorySoup page will open the settings page.
The Genre Card Set allows you to select from a range of different Genre. These are described and demonstrated in the next section. If you had cards pinned when you opened the Settings page these will remain pinned when you finish selecting your settings. This means you can have cards from one genre in a spread from a different genre.
The Custom Card Sets Area allows you to introduce your own lists that will appear on the cards. This is described in more detail later. Clicking on the relevant slot to open a file dialogue window. Navigate to your custom card content list text file, and load it. Each slot button is designed to load a particular type of card; Challenges, Characters, Events, Locations, Objects, and Endings. There is nothing to stop you loading a set of Events cards into the Challenges slot, it will still work but the background images won’t match the content type.
The Story Card Number and Ending Card Number Areas allow you to vary the number of cards in your spread using the up and down buttons beside each entry. The maximum number of Story Cards is 8 and minimum is 1. The maximum number of Ending Cards is 2 and the minimum is 0.
You can change the location of the directory where your screenshots will be dropped using the Screenshot Directory button. Clicking this button will open a file dialogue.
Click Done for your changes to take effect. When you drop back to the Story Soup screen, you will see your cards are the same as they were before you made the changes. The next set of cards based on your selected genre will be drawn when you hit the Go button.
Ingredients - The Genre
StorySoup has a number of Genre included in it’s database. They are;
I say what a spiffing genre this is. It has all the elements of a rollicking adventure filled with dastardly villains, school bullies, and lashings of ginger beer.
Famous Five, Secret Seven, Bobby Brewster, boarding houses, catapults, and mysteries – all are part of the Adventure Kids genre.
The Animal Fables genre brings together Peter Rabbit, Wind in the Willows, and Watership Down. Animals are the main characters and the challenges of survival are the main themes for this genre.
There, hunched against the cold under the fickle light of the street corner lamp, was the contact. They looked up suddenly as Turner approached.
Detective Noir is the classic gumshoe detective genre with gangsters, speak-easys, dark ally-ways, and dubious clients. There are no happy endings in this town.
This “genre” is the complete set of all StorySoup story elements plus things that didn’t fit any particular category. If you are after some really random stories, then this is the genre for you.
Once upon a time … something happened … and they lived happily ever after. That might happen, but maybe not. The Fairy Tales genre is not necessarily “happily ever after” and maybe just as dark as some of the original Brothers Grimm fairy tales or the more recent reimagined classics.
The Fantasy genre covers anything from Tolkien’s “Lord of the Rings” to Charles De Lint’s urban fantasies, to China Mieville’s dark worlds, to steampunk.
The Horror genre includes story components that encompass the range from the subtle implied horror of H.P. Lovecraft, to the splatter-fest of apocalyptic zombie horror.
Everyone has something to hide. Secrets to uncover, and motivations for doing away with someone. The Murder Mystery genre draws its inspiration from the “Cluedo” board game, Agatha Christie’s “Hercule Poirot” and “Miss Marple”, and the “How to Host a Murder” games. Maybe there is some “Kill Doctor Lucky” in there too.
Myths and Legends
The Myths and Legends genre encourages the story teller to develop new legends inspired by indigenous cultural stories from around the world. These might be myths of mighty deeds or legends to explain everyday things.
The Science Fiction genre provides the building blocks to create anything from hard core science fiction where the laws of physics, chemistry, biology, and the extreme environments of alien planets and space make survival a challenge to space opera where traveling across the galaxy is as simple as walking to the street corner. Where technology, people, thought, environment and society is going are all things for the story teller to speculate upon as they maneuver their way through the story components for the Science fiction genre.
Saddle up in the Wild West genre where outlaws, snake oil salesmen, dusty towns, and the open sky beckon the story teller.
Custom Genre (Custom Card Sets)
Of course you can also make up your own lists to add into the mix.
To create a custom file all you need is a text editor such as Notepad, Notepad++, Gedit, Kate. Basically any editor able to produce plain text files will work. If you are going to use something like LibreOffice or Microsoft Word you will need to save your file as Text file (.txt).
Each separate card is just a line of text. For example the file might consist of this list;
Aim for at least ten items in your list. If you are wanting to bias the cards drawn towards a particular selection of cards then you may want to add in multiple of the same card. Of course this means drawing the same card content multiple times is a possibility.
It will pay to delete off any paragraph returns you may have at the end of your list. If left in they will create blank cards (which may be desirable).
If the list in the example above were in a text file called
MyCharacters.txt, you would be able to load this up with the Custom Card Set selection by clicking on the Button carrying the
Default_Characters.txt title. Navigate to your file and click the Open button.
StorySoup as a Game
Should you wish to use StorySoup as a game here are some suggestions;
Common Root Story Telling
2-4 players decide on a common set of cards, and then using that and additional elements on their own, create a story each.
What you will need;
- Up to 4 players
- Something to write on for each player
- A copy of StorySoup
- Decide on a common set of cards to use in each of the stories. This is done by using StorySoup to deal and re-deal cards, with the players pinning those elements they like until each player has pinned one card. You may like to set a maximum number of re-deals.
- With those selected cards pinned, each player takes a turn with StorySoup to pin and re-deal additional cards to create more elements they would like to include in their own story. A maximum number of re-deals may be agreed on by the players. Once they have their selection they copy them to their note pad.
- The remaining players take a turn to gather the additional story elements they want to include.
- Once all players have their selection of story elements they can create their story. The story must include the common elements selected at the start of the process.
- Each player tells their story.
Limited Story Challenges
To add a little more challenge to the process the players may decide to agree that a selected Challenge card must be included in everyone’s story or all stories must end at the same Ending card.
2-4 players each tell a common story but each time its told a story element is changed.
What you will need;
- Up to 4 players
- A copy of StorySoup
- Use StorySoup to deal and re-deal selection of cards. The players pin the cards they want in their combined story. You may want to restrict the number of cards in the spread to make story telling easier and quicker. For example you may only want to use 4 story element cards and no ending cards.
- Once the full agreed number of cards a pinned one player tells the story.
- One card is un-pinned and a replacement card is dealt. This may be the first card that turns up or the players can elect to re-deal until a suitable one turns up or the first card matching the type of the original card is dealt. For instance the card that was un-pinned was an object, so the players may elect to re-deal until the next object card turns up. The new card is pinned.
- With the new spread, the second story teller tells the same story but now substitutes the new card.
- The process repeats with a card being unpinned, and a new one dealt.
- As play progresses the original tale will evolve as the spread of cards changes.
- The game ends whenever the players decide or after each card in the spread has been changed.
Collaborative Story Telling
1-4 players create a story between them
What you will need;
- Up to 4 players
- A copy of StorySoup
This is essentially the same as using StorySoup as a creative writing prompting tool for the solo writer. The difference is that the players discuss how they see the story running as they pin cards, and re-deal cards. Together they will agree a set of cards and then either create a common story or all tell their own version of the story using the same story elements.
StorySoup is the Copyright of the Author, Hamish Trolove 2022.