Software Secret Weapons™

Movie Plot And Random Story Generators
by Pavel Simakov on 2007-05-07 16:13:24 under Code Generation, view comments
Bookmark and Share

The Plot And Story Feature Model

There is a class of software code generators that generate stories. The stories have plots and characters. They start with prologue and progress through revelation, climax, resolution, towards the epilog. The stories are quite good. Frequently, I had to ask myself – is this really written by a machine?

Check this one out (machine generated):

The day before yesterday in an old castle, a cute girl named Fatty was walking 
along, minding her own business. Fatty looked and dressed like Mother Theresa. 
Suddenly, she saw Bevis, who was homely and looked a little like Donald Duck. 
Bevis proceeded to take a athletic boy's car. The boy's name was Elvis.

"Stop, you idiot!" Fatty yelled out. But Bevis started to run away.

Fatty chased Bevis for 3 minutes. Bevis could run fast and seemed to be getting away. But then in a final great effort, Fatty caught a taxi cab and surprisingly caught the scoundrel!

Elvis was so happy, that he made a sandwich.

Thus ends a good story.

If you want to experience it yourself, try generating and reading random story or a movie plot using these generators:

Very similar to games generator, creating the tools of this kind requires a feature model of the plot and the story. Is there a simple feature model behind movie plots and fiction stories?

After looking around a bit I indeed found that screen writer and fiction authors have this all figured out for them. There seems to be well known structure to plots and stories after all. After doing some research I have created a plot & story feature model that I am presenting below.

The Characters

A fictional character is any person who appears in a work of fiction. More accurately, a fictional character is the person or conscious entity we imagine to exist within the world of such a work. In addition to people, characters can be aliens, animals, gods or, occasionally, inanimate objects.

The protagonist or main character is the central figure of a story. The story follows and is chiefly concerned with the protagonist (or, sometimes, a small group of protagonists). The protagonist is also characterized by his ability to change or evolve. The protagonist is, it should be pointed out, not always the hero of the story. Many authors have chosen to unfold a story from the point of view of a character who, while not central to the action of the story, is in a position to comment upon it. However, it is most common for the story to be "about" the protagonist; even if the protagonist's actions are not heroic, they are nonetheless usually vital to the progress of the story.

A foil character is either one who is opposite to the main character or nearly the same as the main character. The purpose of the foil character is to emphasize the traits of the main character by contrast only. The protagonist is often faced with a "foil"; that is, a character known as the antagonist who most represents or creates obstacles that the protagonist must overcome. The antagonist is the character (or group of characters, or, sometimes an institution) of a story who represents the opposition against which the heroes and/or protagonists must contend. In the classic style of story wherein the action consists of a hero fighting a villain, the two can be regarded as protagonist and antagonist, respectively. Note that the antagonist is not necessarily human; often, the forces of nature or psychological elements provide this element of opposition. As with protagonists, there may be more than one antagonist in a story.

The Plot

Plot is the connection of events in a temporal or metaphorical line. The plot in a dramatic or narrative work is constituted by its events and actions, as these are rendered and ordered towards achieving particular artistic and emotional effects. A narrative is a story, an interpretation of some aspect of the world that is historically and culturally grounded and shaped by human personality. The way I personally picture this is like a UML conversation diagram (evolving in time) between all the characters in the plot.

Elements of plot in a narrative are:

  1. Initial situation - the beginning. It is the first incident that makes the story move.
  2. Conflict or Problem - goal which the main character of the story has to achieve.
  3. Complication - obstacles which the main character has to overcome.
  4. Climax - highest point of interest of the story.
  5. Suspense - point of tension. It arouses the interest of the readers.
  6. Denouement or Resolution - what happens to the character after overcoming all obstacles/failing to achieve the desired result and reaching/not reaching his goal.
  7. Conclusion - the end of the story.

The Conflict

Conflict has the definition: "when two or more parties, with perceived incompatible goals, seek to undermine each other's goal-seeking capability". The plot of a work is the basic conflict, either from which or alongside other conflicts are created. An effective plot contains one major conflict.

There are only three or four "simple plots" according to most books:

  • Man versus man.
  • Man versus nature.
  • Man versus self.
  • Man versus man’s work.


A role or a social role is a set of connected behaviors, rights and obligations as conceptualized by actors in a social situation. It is mostly defined as an expected behavior in a given individual social status and social position.

The functionalist approach, which is largely borrowed from anthropology, sees a "role" as the set of expectations that society places on an individual. By unspoken consensus, certain behaviors are deemed "appropriate" and others "inappropriate".

The Drama Triangle

The drama triangle is a psychological and social model of human interaction in transactional analysis first described by Stephen Karpman. The Drama Triangle contains an underlying premise that there is not enough of "something" - love, money, toys, and parents - to go around. The Drama Triangle shows the dramatic roles that people act-out in daily life that are unstable, unsatisfactory, repeated, emotionally competitive, and generate misery and discomfort for all people, sooner or later.

Experience has shown that many interactions between 2, 3 or more human beings reproduce this ancestral though often damaging pattern. The scenario of most novels, plays, movies and television series are based on the drama triangle. The drama triangle model illustrates a power game that involves three different but tightly bound together roles:

  • Persecutor: this player acts as an attacker, an aggressor. In a wider context, the persecutor can be an innovator, an initiator, or anyone who disturbs the equilibrium.
  • Victim: this player is subjected to the attacks of the persecutor. In a wider context, the victim can be the one undergoing the change, struggling against the change, or the one whose equilibrium is disturbed.
  • Rescuer: this player acts as a protector, a servant-knight. In a wider context, the rescuer can be seen as the one who strives to restore the equilibrium.

The Rescuer pretends or professes to helping the Victim, a person who may or may not actually need help. Note that the "game" position of Rescuer is distinct from that of a genuine rescuer such as a firefighter who saves a victim from a burning building or a lifeguard who saves a victim from drowning. There is something dishonest about the Rescuer's attempts, or at best, a mixed motive.

For the drama triangle to come into full flower, one of the players must shift positions as drama evolves. For example, a Victim may become a Persecutor complaining of getting too much help, not enough help, or the wrong kind of help. A Rescuer may become a Persecutor, complaining that the clients don't appreciate her enough.

Typical examples of common triangular situations are:

  • criminal, victim and police
  • father, son and mother
  • teachers, children and parents
  • illness, patient and therapist
  • colleague, me and manager
  • drawback, me and the rest of the world
  • situation, coachee and coach.

There are many forms of educational drama that all share one common goal, to create awareness or an understanding of an idea or issue. These dramas usually have an emphasis on moral dilemmas, and good always triumphs over evil, this kind of play is also very entertaining making it a very effective way of reaching many people.

The Drama Theory

Drama Theory asserts that a character faced with a dilemma feels specific positive or negative emotions that it tries to rationalize by persuading itself and others that the game should be redefined in a way that eliminates the dilemma. Emotional tension leads to the climax, where characters re-define the moment of truth by finding rationalizations for changing positions, stated intentions, preferences, options or the set of characters.

Six dilemmas (formerly called paradoxes) are defined, and if none of them exist then the characters have an agreement that they fully trust each other to carry out. Until a resolution meeting these conditions is arrived at, the characters are under emotional pressure to rationalize re-definitions of the game that they will play. Re-definitions inspired by new dilemmas then follow each other until eventually, with or without a resolution; characters become players in the game they have defined for themselves. In a drama, emotions trigger rationalizations that create changes in the game, and so change follows change until either all conflicts are resolved or action becomes necessary. The game as re-defined is then played.

The dilemmas that character A may face with respect to another character B at a moment of truth are as follows.

  • A's Cooperation dilemma: B doesn't believe A would carry out its actual or putative promise to implement B's position.
  • A's Trust dilemma: A doesn't believe B would carry out its actual or putative promise to implement A's position.
  • A's Persuasion (also known as Deterrence) dilemma: B certainly prefers the threatened future to A's position.
  • A's Rejection (also known as Inducement) dilemma: A may prefer B's position to the threatened future.
  • A's Threat dilemma: B doesn't believe A would carry out its threat not to implement B's position.
  • A's Positioning dilemma: A prefers B's position to its own, but rejects it (usually because it considers it unrealistic).

Final Word

We are witnessing the raise of the social software, where people act in their collective and connected existence. Being a software engineer, I am interested in creating the software applications that closely interacts with humans and mediate between them.

Such mediation involves a computer receiving and interpreting the various signals from the humans. These signals come in the form of the written text or as a sequence of abstract actions (like pressing a button or clicking a link). It also involves a computer generating the response back to the human also in the form of written text or as a sequence of abstract actions (like showing a picture or loading a new web page).

If we are to make computers better server people, we must model the computer-human interactions after the human-human interaction. This means that the modeling of software is more and more about modeling social aspects of human behaviors.

I am researching the Plot And Story Feature Model to better model and explore the computer-human interactions. I hope it will help to create a better social software application aligned with human goal and behavior.

It helps me to see that the Spyware Bot is a typical Persecutor, and the Antivurus Software Vendor is a Rescuer with unclear intentions. A lot of drama is to unfold in there if roles are reversed… And as the feature model dictates, my personal goal is not to be the Victim of either one!


If you are into story generators, there resources will be of great help.

Comments (4)

  • Comment by Mike Magee — June 6, 2008 @ 11:35 am

    You might be interested in one or two examples I have on the above website, particularly Last Year in Marienbad, a never ending story, and The Great Critic is another very simple nonsense generater, but it sounds amazingly convincing. Congratulations on an interesting website.

  • Comment by Alyssa — October 22, 2011 @ 1:40 am

    i really need some ideas for a short story of any genre maybe fantasy???

  • Comment by Toni — December 6, 2011 @ 8:18 pm

    Love thus, very informative yet highly concise. Thank you.

  • Comment by Brian — December 28, 2012 @ 9:10 am

    What site / program did you use in your sample. Thank you

Leave a comment

  Copyright © 2004-2015 by Pavel Simakov
any conclusions, recommendations, ideas, thoughts or the source code presented on this site are my own and do not reflect a official opinion of my current or past employers, partners or clients