Waves is a meditative VR sound generation experience. Experiencers are able to morph a grid around them, which becomes a musical instrument of infinite possibilities. 


The project is built for a graduate computer graphics class at NYU. It expands on a class assignment to render bicubic surface patches in WebVR. A single patch is presented to the experiencer, who is able to modify it using 16 bezier handles. In “Music Mode” (i.e. while holding the side triggers) the controller becomes a mallet and is able to ‘strike’ the patch, which generates a sound. Lower sections of the patch correspond to lower notes emitted, and thus we have the beginnings of a musical instrument.

Continue reading “Waves”

Time Dilation

The naively ambitious starting point for this project was the idea for a space farming game, wherein the player must manage an interplanetary farming supply chain at relativistic distances and speeds. The core mechanic would involve deciding when to send off your ships at how fast such that they return from their voyages, time dilation and all, with a full harvest of crops.

Pretty early on I encountered two glaring problems with this idea. To start, a game centered around logistics management combined with astrophysics must have such a small niche that it might not even exist, but more importantly I realised that I hadn’t wrapped my head around time dilation enough to do anything productive with it. I needed to approach the concept in a much smaller way first.

Continue reading “Time Dilation”

A Generalisable Astrolabe for a Procedural Universe


This is a project for a class on Time. It is also an extension of an ongoing personal project to create a procedural universe. The overarching idea here is to be able to recreate an ancient astronomical timekeeping device (an Astrolabe) for any latitude on any procedurally generated planet.

Continue reading “A Generalisable Astrolabe for a Procedural Universe”