On the interface side of things, we acheived many of our goals, in spite of overwhelming last-minute obstacles. The modified PIT code works well to display the images and track head position and hand position/velocity, and the interface is small, clear, and helpful to the players. While there was not time to add sound support, all our other goals in this area were acheived, and we were quite happy for a while. And then the problem came - due to anuntimely LINUX upgrade of the VRPN tracker server, the trackers in the PIT do not work. So we hacked away, and worked around much of the problem. To compensate for the lack of head trackers, we hacked the PI T code to think the trackers are constantly positioned at a good viewing position for the game. The paddles were a little more difficult, however. We hacked a solution there by confining the paddles by the vertical plane at the respective end of the table. The players can move the paddles around in that plane by moving their cursor around the laptop screen. The paddle velocity and surface normal is reported to be constant, so that simply having the paddle in the appropriate position will affect the ball as if it were hit at a certain speed in a slightly upward angle. While this is a somewhat inelegant and limiting way of solving this problem, it at least allows us to demonstrate the real core of our project: the dynamic simulation of a game of ping pong in a 3D environment. Unfortunately, the tracker problem means that we will not be holding the International Ping Pong championships here anytime soon.
Other lessons are less dire. First of all, the PIT is not a good game console. While the two-person environment is helpful, the view frustum for each user is just too small. In order to really play, the user must be immersed in the environment. While the PIT is good at immersing users in the molecular world, the viewing angle is just too limited - the player cannot look down to serve or hit, or left or right. The action must be directly in front of him, which is not always the case. While some other games may translate better, sports and action-oriented games, where the user must look around, do not work well.
Another lesson is that no matter how bad things may seem, there may be a way to work around it. It may not be pretty, it may not be perfect, it may not be fast, efficient, well-designed, or remotely logical. In fact, it may have been written by one of those infinite number of monkeys working on an infinite number of typewriters to produce Hamlet. But it often does exist.
Last updated 5/8/99