a comment on OOD for Screen Writing and the Zero Act Script Structure

Developed by ‘the mansion’ for  www.Lambsandwich.net

There is much said about the number or acts within a staged play or film script. It is common to have 3 or 5 acts as an accepted traditional format. There is much said about the two act structure that often has a lead up and lead out of an event that delineates the two acts. Some scholars are looking more at single act structures that may only develop one phase of the storyline. This format is common, though not exclusive to shorter formats of film and TV.

But this conversation is obviously missing any discussion of the zero act structure and like my blog post about the zero inch pizza I both champion the usefulness of the theory and assert myself as the creative primary of the concept.   

The zero act structure is characterised by the usage of Object Oriented Design (Programing) Principles as its core. This body of work is widely used in Software and attributed to the Gang of Four as the chief Architects. I have evolved this to the creative field and declare that scripts could be based on objects and data exchanges rather than actions and logic that sits in the traditional multi act framework.

Once the writer has declared all the objects within the script and how they will interact and exchange data, attributes and ideas then the OOD/OOP script framework is completed. This framework then is fleshed out for directions and dialogue to support the interactions. These Interactions may start to form a time line only that some data exchanges need to happen or objects need to be declared, copied or modified before other exchanges can take place.

((Some following text is edited from open websites to progress this discussion paper.))

Object-Oriented Programming in the art space

Object-oriented programming (OOP) is a model defined by writers that revolve around objects and data rather than ‘actions’ and ‘logic’. In OOP, not only the data type of a data structure is defined, but also the types of functions that can be applied to it. Through this, the data structure becomes an object that consists of both data and functions. Object-oriented design is the process of planning a scenario of interacting creative objects for the purpose of planning a screen writing project. It is one approach to writing for the screen and stage.

An object contains encapsulated data and procedures grouped together to represent an entity. The ‘object interface’ defines how the object can be interacted with. An object-oriented program is described by the interaction of these objects. Object-oriented design is the discipline of defining the objects and their interactions for the purpose of planning a screen writing project..

What follows is a description of the class-based subset of object-oriented design, which does not include object prototype-based approaches where objects are not typically obtained by instantiating classes but by cloning other (prototype) objects. Object-oriented design is a method of design encompassing the process of object-oriented decomposition and a notation for depicting both logical and physical as well as state and dynamic models of the scenario under design.

Input (sources) for object-oriented design: The input for object-oriented design is provided by the output of object-oriented analysis. Realize that an output artefact does not need to be completely developed to serve as input of object-oriented design; analysis and design may occur in parallel, and in practice the results of one activity can feed the other in a short feedback cycle through an iterative process. Both analysis and design can be performed incrementally, and the artefacts can be continuously grown instead of completely developed in one shot.

Some typical input artefacts for Object-Oriented Design for Film are:

Conceptual model: The result of object-oriented analysis, it captures concepts in the story domain. The conceptual model is explicitly chosen to be independent of implementation details.

Scenario sequence diagram: A scenario sequence diagrams (SSD) is a picture that shows, for a particular plot scenario, the events that external actors generate their order, and possible inter-scenario events.

Identifying attributes of object-oriented design.

Use design patterns: A design pattern is not a finished design, it is a description of a solution to a common story, in a context. The main advantage of using a design pattern is that it can be reused in multiple applications. It can also be thought of as a template for how to solve a story that can be used in many different situations and/or applications. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved and the actions they will do.

Identify persistent objects/data: Identify objects that have to last longer than a single runtime of the application. If a relational catalogue is used, design the object relation mapping.

Output deliverables of object-oriented design for Film.

Sequence diagram: Extend the scenario sequence diagram to add specific objects that handle the scenario events. A sequence diagram shows, as parallel vertical lines, different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in which they occur. It may appear like a dependency diagram, time line or other Project Management output but will not sit in an Act like structure.

Class diagram: A class diagram is a type of static structure diagram that describes the structure of a scenario by showing the scenario’s classes, their attributes, and the relationships between the classes. The messages and classes identified through the development of the sequence diagrams can serve as input to the automatic generation of the global class diagram of the scenario.

Object Oriented Design for Film – Terms and Definitions

Algorithm: An algorithm is a set of instructions or rules designed to solve a definite script problem.  It is in most cases the plot of the script or a master plan of how the objects will interact. It may be necessary to define sub-ordinate algorithms to declare a small set of actions as part of the large plot problem.

Program: In this case, the overall program is the genre or style of the plot and dictates how the objects are passed through the various operations and algorithms to complete the story.

Bug: A bug is a general term used to denote an unexpected error or defect in the story line that needs some further work to resolve before the story can sit as a finished product.

Class: In Object-Oriented programming, a class refers to a set of related objects with common properties. Classes and the ability to create new classes render OOP a powerful and flexible writing model. For example, there might be a class called hotel staff which contains objects which are servers, cleaners, and cooks. Classes should be set up before any subsequent object is declared.

Objects: An object is a combination of related variables, constants and other data structures which can be selected and manipulated together. An object can include Characters, Locations, Items and Events that are declared, presented and manipulated to form the story. These can be single use or repeated templates, fragments and versions that exist as a best case practice across multiple stories.

Conditionals: Conditionals, conditional statements, and conditional expressions are features of writing language, which help the compiled story make a choice and result in either TRUE or FALSE. These perform different actions depending on the need of the writer and multiple conditions can be combined into a single condition, as long as the final value of the condition is either TRUE or FALSE to influence the next interactions.

Declaration: A statement that describes a variable, function or any other identifier is called a declaration. A declaration helps the compiler or interpreter identify the word and understand its meaning, and how the process of data sharing should be continued.

Exception: A special, unexpected and anomalous condition encountered during the execution of a program is known as an exception. It can also be termed as an error or a condition that alters the way of the program or the writer to a different path. An example of an exception can be the case when a program tries to complete an action but is halted. The exceptions must be handled and eradicated in the program code to avoid any fatal plot error. An exception may create an ‘ah ha’ moment when presented to the audience but must be handled by the writer and creative team otherwise the viewer may feel let down.

Runtime: Runtime or runtime is the time period during which a program is, in fact, running on a computer. If an operation occurs at ‘runtime’, it occurred when a story is running or the moment at which the story begins to run. Also known as execution time, the runtime is part of the life cycle of the story, and it denotes the time between when the story begins running and until it is closed by the writer.

Token: A token is the smallest individual unit in a story, often referring to a portion of a much larger data piece. For example, if a person’s name is John Thomas Wood, it can be broken into tokens; ‘John’, ‘Thomas’ and ‘Wood’. The programmer can then go on to use only the portion or token they wish to. Tokens are classified into keywords, identifiers, literals, operators, and punctuators.

Note. Some text framework from open websites has been edited to form this academic discussion paper.

End of file June 2020