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! |