More selected projects

The Final Cut

The Final Cut is an interactive game that draws on the aesthetic of Pink Floyd’s 1983 album of the same name to interpret its belligerent message.

Produced by: Pablo De Miguel


Pink Floyd’s 1983 album The Final Cut presents an anti-war message ignited by the Falklands War, which stood as a symbol for the failure of the Post World War 2 dream of a peaceful world. It deals widely with individual characters’ traumatic experience in the aftermath of conflict. I explore the theme of war through the aesthetic of the album cover by devising an interactive game which forces the user to adopt an avatar that has to terminate other beings if it doesn’t want to be eliminated itself. The relentless requirement of engagement by the user elicits the entrapment in a violent situation felt by the characters in the album.

The game The Final Cut is designed to be played by individual users in front of their own digital device (a computer camera is needed). This versality of usage adapts the game to the current global pandemic.


Concept and background research

There are two aspects of the Pink Floyd album The Final Cut that inform the interactive game: Visual and Conceptual.

Visually, I draw on the album cover to come up with the style of the game. Roger Waters, co-founder of the band, designed the cover himself. He was after the bold aesthetic of his previous album The Dark Side of the Moon, where black is contrasted with bright colours, while simultaneously illustrating the themes treated in The Final Cut by making the dominant figure in the cover a red circle, which stands for a remembrance poppy. In the game I associate the movements of the user to a red flower-shaped form to reference the identification that Waters makes between the poppy and the protagonists of the lyrics. Besides the red circle, there are two additional colour formations in the album cover: a strip of purple lines and an additional band of warm multi-coloured shreds. To construct a set of relationships between the agents in my game that echoes the dynamics of war, I come up with a set of creatures that the ‘self’ (red flower) must touch to win the game, and a set of creatures that the self must avoid in order to survive. I represent the former as purple and the latter as multi-coloured, bringing the album cover alive.


Pink Floyd (1983) The Final Cut.


Conceptually, I represent the conflict-driven condition of war by generating a set of digital agents that are set against each other: their relationship is competitive as opposed to cooperative. The experience of violence, as felt by the album’s characters, is evoked by forcing the user to consistently engage with the game. The player feels trapped in a situation of which there are only two outcomes: to exit alive or dead. Furthermore, they are made to engage through bodily movements while being monitored by a camera, making them enact the recreation of conflict while being subjected to a power dynamic where they are being watched.


The code is structed as OOP: there are classes for each individual agent - the ‘self’; the three purple creatures (named ‘food’ in the code); and the colourful creature (named ‘enemy’ in the code). They are gathered in the class ‘CreatureSystem’, which sets their position and allows to determine whether they have overlapped. In turn, ‘CreatureSystem’ is called in the class ‘ofApp’, which deals with the uppermost layer of information such as writing the number of lives and whether the game has been won or lost (for which the font file Verdana, present in bin, is used). The code ‘opticalFlow’ from Computer Vision week 2 is also incorporated to associate the movements of the user to the ‘self’. 

The code of The Final Cut draws from three weekly exercise code examples: noisySun, Virtual Petri Dish and opticalFlow.

The logic of the exercise noisySun in forming a radius from ofNoise/sin/cos is used in the creation of each individual creature (Food1, Food2, Food3, Enemy & Self). I have modified the code to meet my own aesthetic objectives for each creature.

The influence of Virtual Petri Dish on this program is more conceptual than technical. The interactive game consists of an environment of creatures, were one of them influences the state of a set of others (when self overlaps with the purple creatures, they turn black - effectively disappearing; when self overlaps with the colourful creatures, it loses a life). There are some technical aspects that I have incorporated, namely the state/health variables. I have however incorporated other aspects such as having one figure that the user controls, as well as having enemies that finish the game but have no impact on the food - all of which are not included in the original Virtual Petri Dish code.

The code from opticalFlow is used to determine the position of "self" through the user's body movements in front of the camera. The code is almost untouched. The modifications have been to erase the rotating doors and the debug option, as well as moving all the code from the draw to the update function. The code for The Final Cut incorporates the ofxOpenCV addon for this purpose.

Future development

At a practical level, the game is too easy to win. This can sometimes make it seem like it fails its ultimate purpose of being engaging. One way to solve this would be to include more ‘food’ and ‘enemies’, thus making it harder to eliminate all of the purple creatures while making it more likely to be touched multiple times by the colourful ones. However, in the current display mode, the only solution would be to make the agents smaller, which would negatively impact the user experience.

This leads to the second foreseeable development: to design the game as an installation to be played in a bigger spatial setting. Currently, the game is designed to be played at home by each individual user in front of the computer. This is timely given the current pandemic. However, a future development would be to enlarge the game environment by projecting it against a wall, which would accommodate a larger number of creatures and thus make the game more challenging.

Self evaluation

Struggling to keep up with the pace of the Workshops in Creative Coding, this application gave me an excuse to come back to the exercises of the first term and work my way up from there. The basis for the ‘self’, ‘food’ and ‘enemy’ classes lies in the week 3, week 4 and week 5 lab assignments. Having these basic materials to toil with, I moved on to OOP by drawing on week 11’s complexity, as well as introducing interaction through computer vision. This has made the development of the program a chronological re-assessment of the topics discussed in class throughout the two terms, consolidating my programming skills.

The result of an early version of The Final Cut (notice how I only manage to get one creature to move within the screen while the other one spirals out of view): 



Nevertheless, I could not have combined the knowledge of all the different weeks into a single application without the help of Alexander Bridgen. He provided invaluable help in associating the class ‘self’ to the opticalFlow code, as well as establishing particular relationships between classes such as having both enemies (as opposed to just one) take a life out of ‘self’.


Pink Floyd (1983) The Final Cut.


ofxOpenCv addon,

Reference code:

Theo Papatheodorou (2020) noisySun in Workshops in Creative Coding 1.

Theo Papatheodorou (2020) virtualPetriDish in Workshops in Creative Coding 2.

Theo Papatheodorou (2020) opticalFlow in Workshops in Creative Coding 2.