Haptic Battle Pong: High-Degree-of-Freedom Haptics in A Multiplayer Gaming Environment
Haptic Battle Pong: High-Degree-of-Freedom Haptics in A Multiplayer Gaming Environment
Haptic Battle Pong: High-Degree-of-Freedom Haptics in A Multiplayer Gaming Environment
Neel Joshi
Computer Science Department
Univ of California, San Diego
[email protected]
Abstract
Recent advances in both haptic rendering techniques and CPU
power have made haptic feedback increasingly accessible on
consumer hardware. With the recent success of simple haptic
feedback devices in console and PC game systems, more
sophisticated haptic rendering is poised to enter the mass
entertainment market in the near future. With this in mind, we
describe Haptic Battle Pong, a competitive networked game that
makes extensive use of three-degree-of-freedom force-feedback
and six-degree-of-freedom input. This is among the first games to
fully utilize the capabilities of high-fidelity haptic devices, and we
use this environment to explore the applicability of high-degreeof-freedom haptics to games.
We discuss our approaches to physical simulation, forcerendering, and networked haptic interaction. We also discuss
several techniques we used to enhance the entertainment value of
a traditional video game using the capabilities of a haptic display.
Finally, we review the subjective responses of initial users and
several lessons we learned that may be applied to future haptic
games.
1. Introduction
Recent years have seen tremendous growth in the capabilities of
high-performance, multi-degree-of-freedom commercial haptic
devices, such as the SensAble Phantom [Massie and Salisbury
1994) and the Force Dimension Delta [Grange et al 2001].
Although these devices have been largely restricted to research
users and specialty customers, high-end haptic systems have
found applications in a variety of disciplines, including medicine
[Agus et al 2003, Mendoza and Laugier 2003], assistive
technology [Morris and Joshi 2003, Sjstrm 2001], and product
design [Nahvi et al 1998, Zhang et al 2003].
The past few years have also seen an explosion in the popularity
of computer gaming, an industry that totaled over ten billion
dollars in US sales alone in 2002 [Rocsearch, 2003]. With the
advent of powerful CPUs on home computers and game consoles,
the video game industry has begun to expand into multimodal
Kenneth Salisbury
Computer Science Department
Stanford University
[email protected]
2. Game Description
Haptic Battle Pong (HBP) is a two-player networked game; each
player is seated at a computer with a Phantom haptic interface
(SensAble, inc.). We have successfully tested HBP with the
Desktop, 1.0, 1.5, and Omni Phantom models. Our typical
configuration uses a Desktop Phantom and a 1.5GHz Pentium 4.
Graphics are rendered using OpenGL; a stereo display (using
OpenGLs support for stereo rendering) is optional.
The core gameplay is consistent with the traditional Pong game;
each players primary objective is to make contact with a moving
ball using a virtual paddle. The playing area is enclosed by walls
on all sides. Each player is represented by an on-screen avatar,
who can be moved in two dimensions using the keyboard. This
Page 1 of 5
FIGURE 1: A screen shot captured from Haptic Battle Pong. Each avatar represents the center of a players haptic workspace; players
control tools in six degrees of freedom within that workspace.
avatar represents the center of the players workspace; movement
and rotation of the paddle within this workspace are performed
using the Phantom. FIGURE 1 displays a screenshot of HBP,
including the playing area and the player and opponent avatars.
In the competitive, networked mode of HBP, a players territory
includes half of the court; a player can only manipulate the ball
within his or her territory. This simplification which we refer to
as the private haptic space assumption greatly reduces the
complexity of the networking (since haptic interaction is never
precisely simultaneous), and is consistent with the gaming model
of pong-type games and most existing sports-based video
games. As we discuss later, this does not eliminate the sense of
physical interaction among players.
A players objective is to keep the ball in the opponents territory;
a player loses health points each time the ball bounces within
his or her territory. Players also interact via a series of haptic
mines; a player can enter his opponents territory to place a mine
on the court. If a player steps on his opponents mine, he loses
health points and is subject to one of several haptic effects, which
make use of the Phantoms sophisticated force-rendering
capabilities and enhance the level of interaction between players.
Page 2 of 5
kp (Pp Pb)
d = dt ((k r (( pball a ) v p )) k rf )
...where is the rotational velocity of the ball, dt is the time
elapsed between physics computation iterations, kr is a constant
linking paddle velocity to rotational acceleration, pball is the
position of the ball, a is the projection of the ball onto the plane of
the paddle surface, vp is the linear velocity of the paddle, and krf is
a constant governing angular deceleration due to contact friction.
The first term on the right side of this equation induces an angular
acceleration according to the tangential velocity of the paddle, and
the second term introduces an angular deceleration due to contact
friction.
Subsequent contacts between the ball and other objects (walls or
paddles) result in a change in the balls linear velocity due to the
rotational momentum of the ball and friction between the ball and
the contact surface. The perceived effect is similar in magnitude
to the spin applied to a ping-pong ball, which causes visible
deviations in the path of the ball upon surface contacts.
When contact between the ball and a users paddle occurs, any
rotational velocity accumulated by the ball induces forces on the
Phantom that are parallel to the plane of the paddle. This
increases the sense of competitive interaction between players,
since one players spinning motion can induce a force on the
opponents paddle that complicates his interaction with the ball.
The acceleration of a players paddle due to contact with a
spinning ball is computed as:
f hr = k hr (( R p ) ( pball a ))
...where fhr is the force applied to the haptic device due to spin, khr
is a constant linking tangential force applied to the paddle to
haptic force, Rp is the rotation matrix defining the rotation of the
paddle face, is the world-space rotational velocity of the ball,
and pball and a are defined above. Note that conceptually a torque
should additionally be applied to rotate the paddle around the ball,
but most commercially-available haptic devices are unable to
render torque, so we apply only the linear component of induced
forces.
Page 3 of 5
4. Networking
In order to avoid the latency-dependence experienced by many
networked haptic environments, we make a private haptic space
assumption: only one player can be in physical contact with the
ball at one time, and players never directly come into haptic
contact with each other. The ball is always within the territory of
one player; this player is considered the master, and his
computers physical simulation determines the actual position
of the ball.
We propose that these assumptions will generalize to a wide
variety of games, including most sports-based and shooting-based
games. Note that it does not require that these zones be fixed over
time, only that a single simulation master can be defined at all
points in space at any given time.
These assumptions would not necessarily hold for generalpurpose simulation environments, such as those used in surgical
simulation research, or for games based on concurrent physical
interaction, e.g. fencing or boxing.
Given these assumptions, the networking protocol aims to allow
each computer to run its own physical simulation when the ball is
in contact with the local player, to allow high haptic update rates
during this critical period.
In fact, the networking protocol always allows physical simulation
to run concurrently on both computers. Each simulation owns
the territory that is occupied by the local player. When a
simulation finds that the ball is in its territory, it is temporarily the
simulation master. In this state, HBP will transmit periodic
simulation updates (position and velocity of the ball) to the
remote machine. The remote machine will update its simulation,
and continue with local physics computation until it receives
another update. When the master determines that the ball has
passed into the remote players territory, it sends a final
simulation update to indicate this status change, and the remote
machine becomes the simulation master. At all times, each
computer periodically transmits the position and orientation of the
local player and his paddle.
This approach allows each computer to maintain a highly accurate
local physics model when the ball is in contact with the local
player. When the ball is in contact with the remote player, the
periodic updates are more than adequate for keeping up with the
graphic frame rate (~100Hz), even when the local player is
separated from the remote player by transcontinental distances.
Dropped or delayed packets rarely cause visible glitches, since the
physical simulation is updated on both machines at all times.
(a)
(b)
Page 4 of 5
Overall, players felt that HBP provided them with a novel gaming
experience, which required significant skills that had not been
developed through experience with other video games.
Page 5 of 5