Technique: Quantized Phasing

While working on The Floor is Jelly, I really pushed myself to try some new things. Mapping music to the geography of levels, using individual raindrops to generate music on the fly… Some of these ideas fell flat on their face, but one idea that managed to squeeze its way in is one I’d like to talk about. For lack of a better term, I’ll call it Quantized Phasing.

The idea at first was straightforward enough; I wanted to experiment with phase music, a musical form that appeared in the 1960s after tape experiments by folks like Terry Riley, Earle Brown, and Steve Reich. However it didn’t take me long to realize that using the gradual phasing style of that period was probably not going to serve the context that I was attempting to use it in. There was nothing particularly phasey about moving around in a watery level, so I started experimenting with ways to dial back the smeary nature of phase material and dial in the accessibility a bit. The solution I came up with was taking the phasing material and quantizing it, so that the material still phased in a way, but adhered to a more musical grid (namely, triplets and duplets). The result is similar to Steve Reich’s Clapping Music, where one overlaid pattern periodically shifts forward a beat.

'Clapping Music' by Steve Reich

The experiments for the water music proved to be too athletic and unusual for a peaceful, natural locale, so we ended up using them for the final world of The Floor is Jelly. A glitchy world.

Phase Structure

Level   Phase       Harmony
-----   --------    ---------------------
1       5.5 : 11    A Minor to C Major
2       6   : 11    F 6 no3 to E Minor b6
3       6.5 : 11    D Minor 9
4       7   : 11    C Major 6
5       7.5 : 11    Bb Major 6
6       8   : 11    A Minor 9 add6 no7
7       8.5 : 11    G Major 2 add6
8       9   : 11    B Minor 7 add11
9       9.5 : 11    C Major 2 add6
10      10  : 11    F Major add2
11      10.5: 11    E Lydian b7

Postmortem: The Floor is Jelly

I met Ian Snyder standing on the GDC Expo Floor back in 2012. He was showcasing his game ‘The Floor is Jelly’, a nominee for the IGF Student Showcase that year. The game was a platformer, and a bit of something old made new. I loved the aesthetic of the demo, as well as the gelatinous physics that made up most of the game’s interactions. I could not imagine the lengths to which experimentation would take this game over the next two years. Despite the game’s lack of success, I feel very fortunate to have been a part of the process.

I played the demo for a bit, and we spoke about the mechanics and the audio. I loved the organic, floaty aesthetic that he had already started coming up with for the music. Acoustic instruments weaved in and out to create pleasant, persistent landscapes. A week passed, and Ian reached out to me over e-mail, looking for advice. We sought to understand what the potential for audio in this game was, in a way that would help create a solid plan of action. We talked about our favourite examples of sound in other games. We spoke about some of Ian’s music prototypes, and my past work on projects like Fez and January.

It became apparent that we envisioned similar things, and so we decided to work together on The Floor is Jelly. After many long conversations, we set out to first create a system for the rain world in the game. The idea seemed simple enough in the beginning; each raindrop plays a note. After months of working on this idea, we had an in-game editor that used rain drops to generate chords. You could have chords change as the player moves from platform to platform. We also made bounding boxes, invisible planes that you could step through to play a note. All this tech was exciting, but the caveat turned out to be severe. The system overpowered the frame rate. Flash (the architecture of our game) limited our optimization options. So we decided to put the system aside and move on to more traditional implementations.

In the last two weeks of development, I got as much work done on the project as I had in the previous six months. I worked on the game on and off for two years. But looking back, I feel that I could have done better if I had showed up earlier and more often to work on the project. One of the most frequent obstacles I’ve faced as a freelancer has been the tendency to procrastinate and push “non-essential” work back. Juggling multiple projects sometimes requires a sense of prioritization. Of course, the lesson here is that the work I care most passionately about is all essential. If I had taken on fewer projects or asked for help, I might have been able to give The Floor is Jelly the extra attention it could have used. I am very pleased with how the work turned out in the end, and many of the methods and ideas were a direct result of working under a tight time restraint. They may not have happened otherwise, so it’s hard to use the word “regret”. However, it’s easy to imagine that we could have done some truly sophisticated things if only I’d dedicated more time.

One particularly interesting and slightly disheartening thing I should mention is that a lot of the ideas that were brought up in our initial e-mails fell by the wayside, and many were never even tried. I think part of the reason this happened is because it took so long to get really off the ground. I worked on the project in spurts, never for more than a few days in a row before moving on to something else. It was only towards the very end of production that I was working on the game every day.

In hindsight, all signs for me point to starting on projects early and setting aside consistent time to work on a single project. I have experimented with different ways of working over the years, including splitting my weekly time up between projects to stay on top of a lot of work. I think that cohesion of the work can suffer, as well as the possibility for thoroughness. I want to focus my energy on one project at a time when I can, instead of jumping back and forth too much.

For more info about the game, visit The Floor is Jelly website.