Narratives and Interactive  
Storytelling  
Lecture 03 – Narrative Dramatization  
Edirlei Soares de Lima  
<edirlei.lima@universidadeeuropeia.pt>  
Narrative Dramatization  
•
What is narrative dramatization?  
–
The visual representation of a narrative.  
–
There are many ways to create a visual representation for a narrative  
using different media formats (text, images, videos, 2D/3D animations,  
comics, virtual reality, augmented reality…)  
Dramatization Methods: Text  
•
Text:  
–
–
–
Involves the translation the logical events  
of the narrative into natural language  
sentences.  
Example: kidnap(Draco, Marian)  
•
“... the princess Marian was kidnap by the  
terrible villain Draco...”  
It requires natural language processing  
techniques to guarantee the logical  
coherence of the generated narrative text.  
Examples of systems:  
•
•
•
Tale-Spin (1977)  
Universe (1984)  
Minstrel (1992)  
•
Simplified solution: text templates  
Templates for Text Generation  
•
•
•
Save(CH1, CH2)  
–
“After a great act of bravery, CH1 saves the life of CH2.”  
Save(Brian, Marian)  
–
“After a great act of bravery, Brian saves the life of Marian.”  
Save(Hoel, Marian)  
–
“After a great act of bravery, Hoel saves the life of Marian.”  
Dramatization Methods:  
2D/3D Computer Graphics  
2D/3D environments:  
•
–
Involves the translation the logical events  
of the narrative into actions performed by  
virtual characters.  
–
–
Actions are represented by animations and  
character movements.  
Challenges:  
Examples of systems:  
•
How to control characters (movement and  
behaviors)?  
How to control cameras dynamically?  
How to create engaging visual  
dramatizations?  
•
•
•
•
Façade (2002)  
Madame Bovary (2003)  
Logtell (2010)  
•
•
Heavy Rain (2010)  
Camera Control in Interactive Storytelling  
•
•
The cameras should work like the cameras used in games?  
No!  
–
It requires more robust camera control methods.  
–
The camera must behave like the ones used in films.  
D
A
B
C
E
Lima, E.S., et al. Virtual  
Cinematography Director for  
Interactive Storytelling. International  
Conference on Advances in Computer  
Entertainment Technology (ACE 2009).  
Camera Control  
Feature 1 Feature 2 Feature 3 Feature 4 ...  
Best camera  
Cam B  
Sample 1 A1_happy A2_happy A1_talking A1_xPos  
Sample 2 A1_happy A2_sad A2_talking A1_xPos  
.. ...  
...  
...  
Cam C  
.
•
•
The system can be trained by  
human experts (directors,  
editors...)  
Results:  
–
–
–
Accuracy: 98%  
Processing time: < 1 ms  
Visual/Audio Effects  
Fear  
Sadness  
Anger  
•
•
The system can be trained by human experts  
directors of photography...)  
(
Results:  
–
–
–
Acurracy: 96%  
Processing time: < 1 ms  
Video  
Lima, E.S., et al. Director of Photography and  
Tension  
Music Director for Interactive Storytelling. IX  
Brazilian Symposium on Computer Games and  
Digital Entertainment (SBGames 2010).  
Interactive Comics  
•
2D dramatization using the  
style of comic books;  
Lima, E.S., et al. Non-Branching Interactive Comics.  
International Conference on Advances in Computer  
Entertainment Technology (ACE 2013).  
Interactive Comics  
(
1) Events:  
A, B, C, D, E, F, H, I, J  
•
•
2D dramatization using the  
style of comic books;  
:
:
:
:
:
:
(2) Panels:  
[P1] [P2]  
[P4][P5][P6]  
[
P3]  
:
:
:
:
:
:
(3) Weights:  
3
2
5
:
2 2 2  
:
:
Page definition:  
[
R2]  
[R3]  
(4) Rows:  
[R1]  
–
Event grouping;  
:
:
:
(5) Weights:  
5
5
:
6
–
Panel size;  
4
80  
(6) Page:  
[F1]  
:
16  
P1w=3  
A,B  
P2w=2  
C
(7) Weight:  
R1w=5  
R2w=5  
P3w=5  
D,E,F  
P4w  
P5w  
=2  
I
P6w  
=2  
J
R3w=6  
=2  
H
Lima, E.S., et al. Non-Branching Interactive Comics.  
International Conference on Advances in Computer  
Entertainment Technology (ACE 2013).  
F1w=16  
Interactive Comics  
•
•
2D dramatization using the  
style of comic books;  
Page definition:  
–
Event grouping;  
–
Panel size;  
•
Panel compositing:  
–
Character placement;  
–
Speech balloon placement;  
Lima, E.S., et al. Non-Branching Interactive Comics.  
International Conference on Advances in Computer  
Entertainment Technology (ACE 2013).  
Dramatization Methods:  
Augmented Reality  
•
Involves the translation of the logical  
events of the narrative into actions  
performed by virtual characters in a  
augmented reality environment.  
•
•
Actions are represented by animations  
and character movements.  
Challenges:  
–
–
–
How to control characters (movement and  
behaviors)?  
How the virtual objects/characters interact  
with the real world?  
Examples of systems:  
AR Façade (2006)  
• wiz Qubes (2008)  
Paper and Pencil IS (2014)  
•
•
User interaction?  
Dramatization Methods:  
Virtual Reality  
•
Involves the translation of the logical  
events of the narrative into actions  
performed by virtual characters in a  
virtual reality environment.  
•
•
Actions are represented by animations  
and character movements.  
Challenges:  
–
How to control characters (movement and  
behaviors)?  
How users interact with the virtual  
objects/characters?  
Examples of systems:  
•
Madame Bovary on the  
Holodeck (2007)  
–
•
Deep Space (2009)  
Dramatization Methods: Videos  
•
•
Involves the translation of the logical  
events of the narrative into actions  
performed by real actors.  
Actions are represented by video  
segments.  
–
Pre-recorded videos;  
–
Automatically composed videos;  
•
Challenges:  
Examples of systems:  
Accidental Lovers (2006)  
• Last Call (2010)  
Deliver me to Hell (2010)  
• The Princess Kidnapping (2011)  
•
–
How to add interactivity to static video  
segments?  
•
–
How to reduce the amount of videos to  
shot?  
•
Modern Little Red Riding  
Hood (2014)  
Video-Based Interactive Storytelling  
•
Real-time video compositing:  
Lima, E.S. Video-Based Interactive Storytelling. PhD Thesis. Pontifícia Universidade  
Católica do Rio de Janeiro (PUC-Rio), Rio de Janeiro, Brazil, August, 2014.  
Video-Based Interactive Storytelling  
•
Camera Control:  
–
Artificial Neural Networks:  
Video-Based Interactive Storytelling  
Project Task:  
Dramatization with Comics  
StorylineA – Without user interaction  
…
…
…
…
Pi  
Pi+1  
Storyline B – User interacts and changes the girl’s decision  
Pi  
Pi+1  
Windows: http://www.inf.puc-rio.br/~elima/is/ComicsViewer.zip  
Comics Viewer: Context Overview  
•
General structure:  
<ComicsViewer>  
All events of the story.  
<StoryNetwork>  
<Events>  
.
/Events>  
Edges>  
..  
Connections between  
the story events.  
<
<
...  
<
/StoryNetwork>  
Interactions>  
/Edges>  
Definition of the user  
interaction points.  
<
<
.
/Interactions>  
Resources>  
..  
Images to represent  
characters, objects and  
environments.  
<
<
...  
<
<
/Resources>  
Operators>  
Definition of how each  
event is visually  
represented.  
...  
<
/Operators>  
/ComicsViewer>  
<
Comics Viewer: Events  
•
Events>  
Events:  
<
<
<
.
/Events>  
Event id = "ID" event = "EVENT1(PARAM1, PARAM2, ...), ..."/>  
..  
•
Examples:  
<Event id = "N1" event = "ini"/>  
<Event id = "N2" event = "give(Grandmother, red covering,  
Little girl, Grandmother's house)"/>  
<
Event id = "N3" event = "ask_to_take(Mother, Little girl,  
basket of food, Grandmother, Mother's house)"/>  
Event id = "N4" event = "tell-right(Mother, Little girl,  
<
[But remember, don't&talk to strangers and take&care of  
yourself.&], Mother's house)"/>  
<
Event id = "N5" event = "go(Little girl, Mother's house,  
the crossroad), go(Little girl, Mother's house, the woods),  
go(Little girl, Mother's house, villain's house)"/>  
Comics Viewer: Edges  
•
Edges>  
Edges:  
<
<
<
.
/Edges>  
Edge startevent = "ID1" endevent = "ID2"/>  
..  
•
Examples:  
<Edge startevent = "N1" endevent = "N2"/>  
<Edge startevent = "N2" endevent = "N3"/>  
<Edge startevent = "N3" endevent = "N4"/>  
<Edge startevent = "N4" endevent = "N5"/>  
<Edge startevent = "N5" endevent = "N6"/>  
<Edge startevent = "N6" endevent = "N7"/>  
<Edge startevent = "N6" endevent = "N22"/>  
<Edge startevent = "N6" endevent = "N32"/>  
Comics Viewer: Resources  
•
Resources>  
Resources:  
<
<
<
.
/Resources>  
Resource name = "NAME" file = "FILENAME"/>  
..  
•
Examples:  
<
<
<
<
<
<
Resource name = "Grandmother-Give" file = "images/Grandmother.png"/>  
Resource name = "red covering" file = "images/red covering.png"/>  
Resource name = "Little girl-Recv" file = "images/girl_recv.png"/>  
Resource name = "Mother" file = "images/Mother.png"/>  
Resource name = "Mother's house" file = "images/Mother's_bg.png"/>  
Resource name = "the crossroad" file = "images/crossroad_bg.png"/>  
Comics Viewer: Resources  
•
Image resources:  
–
–
Images of characters and objects must have transparent backgrounds  
i.e. no background);  
Separated images are required to represent different actions of the  
same character (with different visual poses);  
(
s panels is 400 x 210;  
Comics Viewer: Operators  
•
Operators:  
<Operators>  
<Operator name="EVENT(A, B, C, ...)">  
<
.
Element type = "T" resource = "R" x = "X" y = "Y" scale = "S"/>  
..  
</Operator>  
</Operators>  
•
Example 1:  
<Operator name="go(A, B, C)">  
<Element type = "image" resource = "#B#" x = "0" y = "0"  
scale = "1"/>  
<Element type = "image" resource = "#A#-Go" x = "100" y = "20"  
scale = "0.5"/>  
</Operator>  
Comics Viewer: Operators  
•
Example 2:  
<Operator name="give(A, B, C, D)">  
<
<
<
<
<
Element type = "image" resource = "#D#" x = "0" y = "0"  
scale = "1"/>  
Element type = "image" resource = "#A#-Give" x = "30" y = "20"  
scale = "0.5"/>  
Element type = "image" resource = "#B#" x = "30" y = "20"  
scale = "0.5"/>  
Element type = "image" resource = "#C#-Receive" x = "170" y = "20"  
scale = "0.5"/>  
Element type = "balloon" resource = "#C#, this&#B# is&for you!&"  
x = "200" y = "30" mx = "140" my = "75" mw = "20"/>  
</Operator>  
Project Assignment 3  
3
) Create a comics dramatization for the interactive narrative of  
your project (the same narrative created in the last Project  
Assignment) using the Comics Viewer system.  
–
User interactions are not required for this assignment (this is a task for  
the next project assignment).