ScripThreads Profile

The Digital

The ScripThreads (ST) tool is a way to visualize character interactions according to screenplays. The tool visually divides the scenes of the screenplay with different stripes, each stripe indicating a change in scene. The analyzer of the tool is able to interact and manipulate the visual “image” that is created by the tool, scrolling down the entire course of the screenplay, pivoting the image to see various connections, increasing the graph, and zooming into various scenes and sections of the image to see the specific scenes. This ability to zoom in and pivot the image allows the analyzer to participate in both close and distant reading at the same time.

The ST tool works through a force and physics directed algorithm, which is used to visually graph the character interactions within the space of the screenplay. When the characters entered into the algorithm are in the same scene, their respective graph lines connect in the middle, and when not in the scene, the lines will loop out. The data set for the ST tool is specific for screenplays, and any visualizations generated from novels or any other forms of text must be reformatted to the ST tool’s qualifications. The format of a screenplay, which structures the text in specific divisions of scene changes, dialogue and character names and entrances and exits. These specific formatting divisions allow screenplays to be converted to HTML which is then converted by the tool into the visualizations and graphs used to analyze the screenplay. This process is explained by the project designers in a forthcoming article, “The tool is written in C++ and utilizes the QT toolkit for its graphical user interface. . . The tool takes in text and HTML file screenplays as an input, parses these files and generates data for visualization and analysis” (Hoyt, Ponto, Roy; hyperlinks provided by me as definitions of the mechanisms of the tool). The parsing method is used to locate characters in the screenplay and quantify lengths of scenes (by page number, not screen time) and the characters that interact within (Hoyt, Ponto, Roy). This data is then manipulated and generated into various visualizations. 

The ST tool has various ways to manipulate the data, allowing the analyzer to view the data in four different ways, focus on one character’s role, and pivot the image to better see the linear relationships between the characters (a 3-D image). The data can be viewed as force directed graph, an absence graph, a presence graph, and an increasing graph.


Force Directed Graph. Used with permission from the authors

Force Directed Graph. [Used with permission from the authors]

The force directed graph uses the data collected to create a 3D network of character threads that relate time and character actions in the scenes of the screenplay. This graph is presented vertically alongside the corresponding scenes in the actual screenplay, which allows the viewer to participate in both close and distant reading at the same time. The character threads have a changing diameter depending on whether or not the character is currently active in the scene (thick vs. thin). As character interact, their corresponding threads connect and intersect (Hoyt, Ponto, Roy). The force directed graphs allow the viewer to analyze the entire screenplay or novel as an entire structured narrative, enhancing our distant reading capabilities. As we can see more than one scene and more than one character acting at parallel times (which is impossible while in the act of actually reading the narrative or close reading the narrative). This ability to see the text as one whole entity allows the viewer to make connections between characters that may never interact directly, but interact in a more thematic or tropic way.


Absence Graph. Used with permission from the authors.

Absence Graph. [Used with permission from the authors]

The absence graph loops the character threads away from the center as smooth arcs, with the distance it loops out dependent on the time that they are absent from the scenes. The x-axis here represents whether a character is present or absent, and the distance it loops out from the x-axis is the time they are absent (time here is not linear in one direction, but can be viewed as bot the past (up) and future (down) from the present node at the x-axis. In a forthcoming article, the project designers describe the visualization of the absence graph as being “read like a bus map: characters run parallel routes when they both appear in a scene. When a character is not in a scene, his or her bus route splits off” (Hoyt, Ponto, Roy). This description and the visualization underscores the concept that although a character is no present in a scene, he or she still has a connection to the scene and a relationship with it: his or her absence. Although he or she is not in the scene, he or she is still following his or her own route through time, a parallel narrative that we may not be given insight to. Just because some characters are not present in a certain scene does not mean that they do not exist at that point in time. In the frame of distant reading, we are able to visualize the entire narrative and analyze the importance of the absence of a character in relation to the direction of the narrative, and the interactions between the different characters in relation to his or her absence (i.e. why is it significant that two or more characters never appear in the same scene, or how does a character’s absence influence the interactions between other characters).


Presence Graph. Used with permission from the authors

Presence Graph. [Used with permission from the authors]

The presence graph quantifies a character’s presence in a scene by varying the width of his or her character thread (i.e. when a character is present, the thread is thicker and when he or she is not present, the thread is thinner). These threads run along the vertical y-axis with horizontal lines between characters denoting dialogue (Hoyt, Ponto, Roy).

Increase Graph. Used with permission from the authors.

Increase Graph. [Used with permission from the authors]

The increasing graph is a view of the text that doesn’t focus on character networks and network theory, but rather focuses on how the characters individually are active throughout the narrative (relating time to the activity of the characters, allowing the viewer to see which characters were the most present in the narrative as we move through the screenplay or text). Although it doesn’t focus on character interactions, it does place all of the characters’ lines on the same two axes. The increase graph creates strictly linear relationships and focuses more on a 2-D linear visualization of character activity compared to the more interactive and 3-D visualizations created by the other three graphs. The x-axis depicts time, with the rising y-axis depicting whether or not the character is present in the scene (time). As time increases, a character’s thread will either increase if he or she is present in the scene, or remain flat if they are not present (immobile in time, compared to the motion of looping out from the axis as depicted in the absence and force directed graphs). This graph can be used to compare gender roles (i.e. if male or female characters have more activity in the narrative), social status and other social divisions (race, political factions, religion, etc.), and the voice of the narrative (1st person or 3rd person narratives). For example, a 1st person narrative would have a much steeper slope for the protagonist’s activity in the narrative in comparison to the other characters as the entire narrative is told from his or her point of view. Contrastingly, a 3rd person omniscient narrative would have variable amounts of steep (strongly active characters) slopes, as the narration can follow multiple different protagonists and characters throughout the narrative time.


The Digital Humanities allow us to change the way we think about ideas, by using data sets and computation approaches to present narratives in a different analytical framework. The ScripThread tool takes Moretti’s network theory to an entirely different level by introducing the interactive and three-dimensional aspects of the graphs and visualizations generated by the data set. This three-dimensionality allows for the interaction and convergence of both close and distant reading simultaneously. These interactive visualizations expose the dynamic relationships between characters over time that are hidden when we are focusing on specific moments in time during close reading analysis. As time is difficult to conceptualize while reading and especially close reading, the exposure to this third dimension found in the ScripThread tool directs us to new connections between characters and the narrative as a whole. These new digital connections give us a fresh approach to narratives, and pave the way for literary analysis grounded in data sources that allow us to answer previously unanswerable questions and asking new and thought provoking questions that challenge readers to think in a new way.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s