Projects

I'm not a professional developer, but to better understand the constraints faced by entrepreneurs I meet with I like to spend time with the game engines, frameworks, and tool sets they use. 

Photogrammetry with an iPhone and RealityCapture

Inspired by Valve's Destinations app, I set out to do a volumetric capture of my apartment last summer. The folks at Valve suggest using an entry-level DSLR or better for best results, but I wanted to see how well I could do with an iPhone 6S Plus and no manual control of lighting during capture. Over the course of 30 minutes I captured ~430 images of my apartment, working carefully to rotate around surfaces to capture multiple views. The result came out better than expected — the GIF below comes from the output of Reality Capture, with the only real problems cropping up around our barren walls, with no distinct features for the application to draw detail from. The environment was much more compelling to interact with in VR — after exporting as a FBX it was straightforward to bring it into Valve's Destinations tools (which let you do things like annotate things with floating descriptions and define where users can stand). I'm hoping things like Project Tango make capturing your environment more straightforward for consumers — the ability to return to a place you've been before with more freedom than a spherical photo is very compelling.

Building VR experiences with procedurally-generated environments

The fact that VR is emerging from high-end PC gaming comes with the expectation that players will be able to sink tens of hours into games. While it's possible for small teams to assemble quality assets and build mechanics that keep players hooked, the combined Rift/Vive/PSVR install base isn't yet large enough to justify hiring teams of 3D artists and level designers to build varied environments on the scale of "AAA" games. One potential way around this budgetary constraint is clever combination of modular level design (as Bethesda has incorporated into the development of Fallout and Skyrim) and procedural generation, as seen in games like Minecraft and Diablo.