(m)ORPH

Project

(m)ORPH is a VR music remixing experience that I worked on for Kasson Crooker of Symbion Project. The basic idea of (m)ORPH is to have a 3d environment, with small objects called Orphs bouncing around inside of it. Each Orph has a looping musical track playing off of it. Through the physical positioning of Orphs, the user is able to remix music in real time.

Game Project

 

I was originally brought in to work on an unreleased (m)Orph splinter project that was more gamified, where the game soundtrack was created through the movement of Orphs, while the player was incentivized to defend their position from moving Orphs, while also pushing Orphs towards different objectives. Some Orphs could be destroyed, breaking into smaller pieces with different musical effects.

For the game project, I worked on a VR first person controller with various lasers to manipulate and destroy the Orphs the players would encounter. I also developed a custom physics system, to keep the Orphs perpetually moving, Orph destruction and spawning systems and other game systems.

Unity Scene of the mORPH game project, showing multiple gem-like Orphs floating inside a dodecahedron flanked with light sources.

Music Project

As the (m)ORPH project itself was growing near completion, I was transferred onto the main project to help clean it up for its release and publication on the Oculus Rift store. I updated both projects to the Unity XR framework, updated the external environmental controls and cleaned up the menu system. I also made new shaders for the external environment, giving the player greater control of what the room appeared to be, as well as giving Kasson new options for the final presentation. I made custom VFX as well for the various lasers the player would use to control the positioning and movement of the various Orphs.

A Unity Shadergraph visual program that translates image source files to their final rendering, the output of which is previewed at the bottom right.

Oculus Rift Compliance

The most difficult part of the project was updating the (m)ORPH project to pass Oculus Rift compliance and get posted on the store. At the time, Oculus Rift had a compliance testing tool that would run through 13 different tests to determine if you would automatically fail compliance. I would build the app, and then run it through the 13 tests and it would fail repeatedly.

While many of the issues were resolved, one test repeatedly failed. Oculus Rift has a requirement that if the user takes the headset off, the headset is supposed to stop display immediately. I went through a variety of methods to turn off all output, including turning off all output directly, turning off all input and even stopping the flow of time itself in the game. Finally, after a good deal of research, I discovered some reports that the Oculus Rift testing tool was actually bugged. So we submitted the project as it was.

The project passed all 13 tests that we had identified with the tool… it just failed another test that the tool hadn’t tested for.

 

 

A screenshot of the Oculus Rift store, showing that (m)Orph is available to download and a summary of its features.