A headmounted display calls for a 3D environment.

Our options:

The LithTech commercial game engine

  • Designed for first-person shooters
  • Very fast; lots of detail
  • Looks great
  • Can handle many characters and very complex behaviors
  • Written entirely in C++: takes a long, long time to iterate
  • Lots of legacy from previous projects provides large library of prebuilt functionality and experienced developers.


The Alice pedagogical tool

  • Developed for use in teaching young people how to program computers
  • Simplified scripting interface abstracts away most coding -- allows very rapid development
  • Authoring tool and rendering engine are the same software
  • Very low scene complexity: simple models and geometry make world look simplistic or cartoonish (although characters can still elicit visceral reaction)
  • Not well suited to performing lots of complicated mathematics for character behavior


OpenGL/Pygame

  • This is direct programming of graphics primitives without any real framework in the way
  • Very little abstraction or simplification of programming tasks
  • Rendered objects limited to simple geometric shapes or colored dots
  • Written in highly iterable, extremely malleable computer language Python
  • Truly abstract graphics, but very convenient for testing behavior models




Technology Drives Design

Lithtech is slow to develop for... so we prototype in different tools and only translate once we feel positive about our interaction.

Matching real and virtual objects is difficult... so we either make world objects simple enough that they can be modelled and tracked with motion capture, or amorphous enough that the correspondence doesn't have to be exact.

Motion capture introduces latency... so we don't have any interactions that require quick, sudden moves.

Haptic devices are difficult to model... if you're touching something it's easy to feel if it's not actually shaped the way it looks. So the guest touches only certain simple objects that we can model accurately. Complicated, moving objects, like the characters, are entirely virtual.

Motion-captured objects are easy, physical switches are difficult.... so make as many of the player interactions as possible revolve around moving and pointing objects in space instead of frobbing switches on the terrain.

Commercial game engines give you good-looking characters and animation support very cheaply... so take advantage of the fact that it's much easier to portray expressive character behaviors as scripted animations instead of intelligent behavior: know that art makes a game look good.

What next?

Try out our other interaction ideas

Create a sense of an active society

See if it's possible to have two players at once

We're going to need a bigger table!