StorySoup - A Story Telling Prompt Generator

StorySoup Header

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;

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:

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 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 page linked below.

You can download the User manual here: StorySoup User Manual


Installing StorySoup


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.

Opening Screen

The controls are:

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.

Initial deal

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.

Initial deal

Hitting “Go” again will draw a new spread of cards while retaining the pinned cards.

Initial deal

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)

Initial deal

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:

Windows: C:\Users\USER\AppData\Roaming\Godot\app_userdata\StorySoup\ScreenCaptures
Linux: /home/USER/.godot/app_userdata/StorySoup/ScreenCaptures


Settings Page

Clicking on the “Settings” button on the main StorySoup page will open the settings page.

Initial deal

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;

Adventure Kids

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.

Adventure Kids Card subset

Read the Adventure Kids Example

Animal Fables

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.

Animal Fables Card subset

Read the Animal Fables Example

Detective Noir

There, hunched against the cold under the fickle light of the street corner lamp, was the contact. They looked up suddenly as Turner approached. “You’re late!”
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.

Detective Noir Card subset

Read the Detective Noir Example


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.

Everything Card subset

Read the Everything Example

Fairy Tales

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.

Fairy Tales Card subset

Read the Fairy Tales Example


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.

Fantasy Card subset

Read the Fantasy Example


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.

Horror Card subset

Read the Horror Example

Murder Mystery

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.

Murder Mystery Card subset

Read the Murder Mystery Example

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.

Myths and Legends Card subset

Read the Myths and Legends Example

Science Fiction

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.

Science Fiction Card subset

Read the Science Fiction Example

Wild West

Saddle up in the Wild West genre where outlaws, snake oil salesmen, dusty towns, and the open sky beckon the story teller.

Wild West Card subset

Read the Wild West Example

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;

Custom 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;


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.

Changing Story

2-4 players each tell a common story but each time its told a story element is changed.

What you will need;


Collaborative Story Telling

1-4 players create a story between them

What you will need;


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.