"Ritual was all-around spectacular. Arjun Pande’s performance of Orestes was spellbinding, the set design incredible, and the lighting and music create a haunting atmosphere." - Cheyenne Ligon, No Proscenium
The basement that Orestes has turned into his bedroom and kitchen. 
This is a Max Patch I developed in order to light Ritual by Michael Bontatibus, produced by Witness, in October 2021. 
Director: Charlotte Murray
Choreography: Rebecca Margolick
Sound Design: Trey McGee
Video Editing: Nate Lessler
Stage Management: Cati Pishal
PA: Aoife Hough
Production Photography by Arin Sang-Urai
Arjun Pande (Orestes)
Rebecca Margolick (Fury)
Kylie Rae Brown (Iphigenia)
Sierra Casteel (Cassandra)
Joshua Josey (Apollo)
Krushika Patankar (Electra)
Ben Langhorst (Pylades)
Louis Butelli (Tantalus)
Daniel Harray (Agamemnon)
Virginia Logan (Clytemnestra)

About:
The show was an immersive, durational piece, lasting 8 hours. The audience could come and go as they pleased, but the arc of the piece took the full 8 hours. 
The piece was produced in Village Works Book Store in the East Village.
Outside the gates of Argos, Orestes lies in wait at his safe house. The gods have gone quiet, and he can’t figure out why. But he’s desperate, and determined, to make them speak again.
The Fury cradles Orestes after their first fight.
Design Process:
We began with a phone call between Charlotte, Michael, and myself, in which we discussed the concept for the show and the particular challenges of site-specific immersive theatre. 
From the beginning, it was important to all of us that the space was not static, and changed throughout the day. We also discussed the progression of the 'weirdness' of the space - earlier in the day, the magic happens out of Orestes' view, getting progressively more bold and strange as the hours go by. 
We had worked on Noirtown together - another site-specific immersive piece, though not a durational one. That show was lit via household lights, wired to power strips in a corner as a makeshift light board. Stage managers stood by the light board throughout the show, and had a simple cue list to follow of when to turn certain power strips on and off. 
Ritual certainly could have been done that way as well, but in our first phone call, Michael mentioned that Witness has a stock of Philips Hue light bulbs, and had done a show in Seattle right before the pandemic hit that was controlled via an app on the SM's phone. 
That was when I got very excited - through the PIMA program, in fall 2020 I worked on a patch that connected Max to the Hue API, allowing me to use a laptop to control the lights. All we needed to create a more immersive experience - one that didn't involve a stage manager clicking power strips on and off, an unfortunately loud job - was a hue bridge, wifi, and a show laptop that could run Max for 8 hours without crashing. 
A photo of the first floor of Village Works, taken during our site visit. 
The Venue:
Village Works is 2 floors - the entrance is on the street level, and there is a basement with a full bathroom and kitchenette, with doors leading to a back yard. 
The upstairs storage area is built-in shelving with curtains to conceal the area (seen to the left of the window, above), and we identified that as an ideal location to hide the show computers. The store's modem and router are also located there, so it was perfect. 
The store has overhead track lights that are specialty base bulbs, so I decided to light most of the show with household lamps - with a few exceptions. 
The same window from the site visit photo, now dressed in torn pages. Orestes stands in front of it, lighting it on fire. 
Ultimately, the upstairs library/work room had a desk lamp, a decorative table lamp, and a standing lamp spaced around the room, each with a Hue bulb. I ran a Hue LED strip along the windowsill, to use the window covering as an active element of the space. 
The stairs down had a clip light with a Hue bulb hung from the railing above to make the steps more visible, and a second Hue LED strip ran down a lip in the wall that followed the stairs. 
In the basement, the bathroom and kitchenette each had built-in lights, which received one Hue bulb each. 
The bedroom area, open to the kitchenette, had a standing lamp with a dual head, allowing it to have two Hue bulbs and get some more variation in the area.

The taxidermy bull & stag, lit from within with Hue candelabra bulbs. 

Additionally, there were 4 specials:
- a paper taxidermy head of a stag, with a Hue candelabra bulb hidden inside to have the head glow
- a paper taxidermy head of a bull, with a Hue candelabra bulb inside as well for the same glowing effect
- two regular Hue bulbs on clip lights, adjacent to and hidden inside of a high closet cabinet, to create a bright stream of light behind the god Apollo, when he made an appearance
A quick simplified sketch of the flow of the max patch.
Max Patch & System Layout: 
In short, each cue is triggered by a button. That button connects to subpatches that contain messages with change values and time information, which then go out to each lights control parameters. Each light is controlled by 4 sets of information - on state, brightness, hue, and saturation. 
Each information 'set' consists of a line object (so the messages create fades instead of jumps), a speedlim (because the Hue API will disconnect if it receives messages too quickly), and a slider. There is also a toggle for on/off state. 
Each slider also connects to a standalone integer object - this allowed me to set levels via the sliders during tech, and then use the output number to program the cue messages for repeatability. 
Each slider then connects to a message object detailing the light it is sending to, which parameter it is changing, and a replaceable argument allowing the slider value to send through the message. Those messages then connect to a javascript file that parses their information and sends it to the Hue API. 
Hue bulbs can also use color as x/y data that corresponds to a CIE chart - which is how I used color for the fish project linked above. However, to use this I would have had to use a swatch object to select color when building the cue, and then convert via another javascript file to the x,y values. Then, having the correct values known, I would have used them to write the messages in each cue sub-stack. However, it would have used extra processing power to run during tech (when the days were much longer than the 8 hour run of show), and seemed like an extra step that would have slowed tech down. Instead, as I wrote above, I just used the sliders to adjust the lights to different colors, and notated the values into messages. The benefit of the x,y system would have been being able to visually choose a color from the swatch instead of learning what values correspond to what colors over time. However, it was easy enough to move the slider around, and over time there became certain values I would return to, as well as learning ranges for different hues. 
For saving cues, I did some research into pattrstorage, and fading between states using it, but was not able to get it to work for me. Concerned about getting halfway into tech and losing our cues by using an object/system I'm not 100% familiar with, I chose to go the message/line route instead. Clunkier and probably a bit slower to program, but more fail-proof than pattrstorage. 
Stress Testing:
It was important to me to know that the patch could communicate complex information to the Hue API for 8 hours without crashing or freezing. 
As such, the weekend before load-in, I set up as many Hue bulbs as I could in my apartment (including two of my own portable Hue Go lamps, as I ran out of lamps that could take regular Hue bulbs). It was not quite as many as we used for the show, but it was what I could do. 
I then set up the patch to do a series of drunken walks effecting brightness, hue, and saturation, at different sets of time intervals, and ran it for 8 hours. The video below is a short clip of the patch as this effect was running. 
Cati (the PSM) and I did develop a back up plan in case something happened - once tech was complete, we saved each cue as 'scenes' in the hue app, so that if the patch or computer failed during the run of the show, she could use the phone app to at least keep the lights in the correct states, though they would not fade or flicker. The show would have been much more static, but at least some of the design would have remained in tact. Thankfully we did not have to use this, although we did use it during photocall to allow for easier jumping around.
Orestes upstairs at his desk. The desk lamp is lighting his workspace, and the decorative lamp is visible in the background.
Tech:
We had load-in on October 24th, and I began cuing that evening. Tech was Monday Oct 25th - Weds Oct 27th, with a full run through followed by notes on Thurs Oct 28th. 
The performances were 11am - 7pm on Friday, Oct 29th, and Saturday, Oct 30th. We did have a brief notes meeting on Friday evening, in order to incorporate anything we learned from our first day with an audience. 

As we got into tech, we learned a few things:
- It was helpful for me to add notes on full cue lengths and general color notes to the cue list, since I didn't have a way in Max to tell the SM when a cue was complete. (I explored a few different options, but found none of them to be satisfactory)
- Our original plan for earlier in the day was for very long, slow cues - fades of 20 minutes or more - and that the world was more 'normal' from the get-go. When we ran the show for the first time, however, this proved to be...pretty boring. Concerned about the experience of an audience member who might only come by for 20 minutes, we worked as a team to make the world 'weirder' earlier on, but outside of Orestes' periphery - that is, lights in the room with him may change, but the one closest to him remained 'normal'. There were still long slow fades, but none more than 10 minutes in length. I also built in some fades where over a period of time, lights would shift and then restore, automatically. 
- This patch, unlike a light board, is unable to 'go back' a cue - it will only change the parameters detailed. I knew this going in, and knew to flag cues where every light changed in order to make backing up easier, but I also started building in back buttons that restored the cue (& set parameters that aren't supposed to change to what they should be if the show is run in order). These back buttons sent a time message of 1 second, to make going back much faster. 
- It took me a while to think of this, but I eventually figured out the best snippet to save to make cue building even faster. 

This is what the stage manager saw, in presentation mode: 
This is what the final patch looks like in edit mode: 
As mentioned above, each cue is a button triggering either a subpatch for the whole building, or two sub-patches, one per floor. 
Here is an example of a simpler cue sub-patch: 
The button on the top left is the "back" cue, running the cue at 1 second. 
Here, brightness is controlled through the messages sending to outlets 1 and 3-6, while the only saturation message is 254 $1, with everything below/next to the hue label being a hue value. 
And here is an example of a larger, more complex cue: 
In the more complex cues, and as tech went on, I became more careful at labelling sections and organizing which messages were sending to which value. 
In the cue displayed above, the righthand side is using metros to automate a hue change in the upstairs lights. 1 minute 15 seconds into the cue, the upstairs lights fade to full saturation over 1 minute. 5 minutes after that saturation fade begins, the toggles to the 3 metros receive a bang, starting their respective metros. These metros happen at different rates, and trigger slow hue changes (to a hue value of 1200), after which they slowly restore to 8103 (white light - a deep amber at sat 254). 
In other cues, I used random and drunk objects to create randomized jumps between values, to create flickering effects - much like what is shown in the stress test video above. This was used for brightness and hue values, in different combinations through the show, when the moment called for a sense of chaos. 
Future Considerations:
Exploring pattrstorage would probably make for a much simpler max patch & cue saving/editing process. As I said above, I chose to not go this route as I was having trouble making it work, and with tech being so condensed, was concerned about the ramifications if pattrstorage failed on me halfway through tech, or while transferring the patch to the show computer. 

You may also like

Back to Top