Hi. My name is Alex Wiltschko.

This is my internet log.



17 May, 2011

Virtual Reality (for a mouse, eventually)

(download)
For my new lab engagement, I've been tasked with making mice play video games (I've got other jobs, but I'm working on this one sparsely for now).

After a couple days of intense searching for an appropriate 3D library, I settled on Panda3D. It's an open-source game library, written in C++ but with a full suite of Python bindings (I love Python bindings!), which means you can quickly write code that runs quickly. What were the other alternatives that I nixxed?

- Quake. The engine is open-source now, and there's a level editor called Quark that lets you build arbitrary maps. Other folks have done mouse VR, and this is the engine that they used. I recently emailed an author on a published mouse VR study, and he said, essentially, if he were to do it all again, he wouldn't use this engine. That's reason enough for me.

- Unity3D. I used to work a little at NoiseBridge in San Francisco, and there was a hacker or two there making first-person games with Unity, aiming to deploy them on the PC, PS3, Xbox and iPhone. They ranted and raved about how great Unity3D was, about how easy it was to create complex interactions, about how great the engine looked, etc. It is a great platform, but I'll eventually need to integrate the rendering code into some low-level code talking with hardware outside of the computer. In order to do this, you need what Unity calls its "plug-in" functionality, which basically means the ability to call out to arbitrary system C code. This plug-in functionality only comes with the non-free pro version of the app. And by non-free, I mean $1500. Don't need all that power. Next.

- Minecraft. I'd get style points, that's for sure, and my project would be the envy of all the Macbook Air-toting, plaid-wearing hipster coders. But, the modding environment just isn't ready. There's planned support, but I don't want to base an entire project around a hack.

There were a couple other engines I briefly considered, but I stumbled randomly across Panda3D, and it seemed relatively complete. Disney had been using it for "VR Rides" for some time, it's actively maintained by Carnegie-Mellon, the last major release was in February of this year, and the example code is really extensive. That's all I need. When things are a little more complete, I'll post the code.

Search it. Browse it. Subscribe it. Get caught up in it.


Get the RSS feed! Go ahead.