Replay Magazine article March issue spotlights John Barnes' AeroBall.
Bringing the SimCenter™ to life in 3D Studio Max®

The simulator, named the SimCab 2000(tm), uses special displays called wide-area collimating (WAC, pronounced wack) windows. This type of display has traditionally been used in aerospace flight simulators. In a WAC window, a CRT is viewed reflected in a large spherical mirror. The image is magnified to approximately a 45-degree field of view and is refocused so that it appears distant. The effect is like seeing a 12-foot projection screen about 20 feet away.
The two-person player crew controls the action with throttle and joystick, and by selections on color touch screen displays. Advanced players can fine-tune their play using the rudder pedals and additional menu-selected touch screen options. The buttons on the joystick and throttle are color coded according to function, but the functions are also repeated with labeled icons on the touch screens for the benefit of neophytes. The crewmembers are free to choose how they will divide up the tasks of navigating, steering, shooting, communicating, and game strategizing. The two seats have identical capabilities.
The
vehicle
has three touchscreens, one in front of each player and one centered
between
them. The screens in front of each player show a moving map display of
the game world, while the central display has menus to control
communications
and to monitor the vehicle status. The moving map shows a mountainous
island
with a huge central stadium.

The object
of the game is to score the most goals in two 12-minute periods. In
match
play, there are five simulator crews on each of two teams. Just as in a
most sports, there are penalties and time outs.
Unlike most
sports, after each goal is scored during a game, the ball appears in
the
database in one of fifty locations. Players race from the stadium to
retrieve
the ball at the position shown on the map. Outside the stadium weapons
are free. Whoever retrieves the ball can attempt to carry it back to
the
stadium for a scoring run on the goal. Opposing players attempt to free
the ball by colliding with the ball carrier or by using weapons of
various
types to knock the ball loose. The ball carrier can try to evade the
shots
or he can attempt to pass the ball to a teammate in a better position.
Errant passes and missed shots fall to the ground, free to be picked up
by the first player who gets within the "capture distance" of the ball.
The game clock and score are kept by the computer, and there are a few rules that automated refbots enforce by sending offending players to a penalty box. Players may opt to scrimmage rather than enter into a formal match, either playing informally against one or more other simulator crews or simply practicing alone.
The simulator is in the final stages of development, and demonstrations are being given selectively. The concept is designed to be housed in a facility called a SimCenter®, which is designed to appeal to large entertainment mall developers. The AeroBall game is to be licensed on a royalty basis. Inquires may be directed to John M. Barnes at SimulTainment Corporation, who may be reached at jmb@cgsd.com.
The SimCab 2000(tm) uses accelerated graphics, sound, out-the-window displays, touchscreens, and controls integrated into a futuristic simulator cab. The cab rides atop a hydraulic 3-axis motion base. Each cab is driven by three PCs: two dual-processor computers running Windows NT and a single processor computer running Windows 95/98. One of the NT computers includes a real time extension to NT.
Below we
discuss
in more detail the graphics
accelerator,
graphics
software, graphics database, sound,
controls,
out-the-window
displays, touchscreen displays, cab,
and motion base. The photographs of the cab show
the interior and exterior nearing completion of construction in April,
1999, without the final trim and fittings.
The
graphics
accelerator currently used in the system is a Real 3D Pro 1410. The
Real3D
graphics accelerator has extremely good polygon performance, providing
an honest 750,000 polygons per second. Pixel performance is fair, at
60
Mpixels
per second. There is a limited form of edge antialiasing that works
when
there is no more than a single polygon edge within a pixel.
The Pro is a separate box attached to the PC via a SCSI cable. Polygons and textures used for the scene are stored in memory inside the Pro box. This has the advantage of not consuming PC bus bandwidth as the polygons and textures are accessed to draw each picture. Changes to the database are paged in and out of the Pro over the SCSI interface from the PC disk, depending upon the simulator's position in the database.
The most challenging limitation of the system in an entertainment application is the implementation of transparency, which provides only fifteen steps of transparency and then only on one layer of transparent polygons. If two partially transparent polygons happen to overlap in a scene, the second polygon is completely omitted in the region of overlap. Transparency is used for reflections, smoke, fire, and other special effects desireable for entertainment. Designing the database so that transparent polygons never overlap is a problem.
The
powerful
polygon capabilities have allowed development of a complex database,
starting
several years ago when such performance was unavailable in a
board-level
solution. We expect to change to a board level product within the next
year or so, both lowering the cost of the cost of the graphics and
removing
the transparency limitation. The Pro box is expensive, but the built-in
database storage and polygon processing can save almost an entire PC,
and
that cost must be taken into account in the tradeoff.
We use
the
proprietary Real 3D Application Programmer's Interface (API) for the
graphics
processing. All of the non-graphics software, including collision
testing
and sound generation, was written by CGSD for the application. We chose
to write a fair amount of custom software, rather than to rely more
heavily
on one of the available commercial packages. We did not trust the
commercial
packages to correctly perform all of the collision testing need for a
game
that involves a bouncing ball. More accurately, did not want the risk
of
discovering late in the development cycle that a capability we needed
in
this area was either missing or buggy, and subsequently have to depend
upon the good graces of the commercial provider. With our own software,
the means to add or fix features is at hand. Note that this reasoning
is
sound even if commercial software works more robustly over a broad
spectrum
of applications. We need high performance and the ability to fix
problems
that arise in our one application.
The
graphics
database is the world, built of polygons and textures, that is the
setting
for the game. CGSD staff built the database for the system, using a
consultant
for designing certain of the game elements and conforming to the
general
layout and artistic style preferred by SimulTainment. The style
features
bright colors and bold textures.

The database
is designed to work with a control mechanism that prevents overloading
the graphics accelerator. Overloads produce annoying jerky motions in
the
scenes as the frame rate varies. Without a control mechanism, the only
way to prevent overloads in keep the scenes very sparse.
Control
requires
that elements of the database be modeled at multiple levels of detail.
Depending upon the distance to an object, the software selects a
version
with greater or fewer polygons. In real time operation, software
watches
the loading on the graphics accelerator and adjusts the distances at
which
more-detailed or less-detailed models are used. This keeps the most
detail
possible in the scenes, but prevents overloads as conditions change,
including
the introduction of an unpredictable number of the other players'
vehicles
into a scene.
Current accelerated sound cards for PC's are so good that a $200 card essentially solves the problem of creating three dimensional sound effects. We use a four channel sound system augmented by a sub-woofer and seat shakers. Seat shakers produce vibrations in the frequency range between the sub-woofer and the motion base. The cab interior is treated with acoustic foam provide isolation from the room and to minimize fidelity loses due to the strong sound reflections from hsrd surfaces.
Creating
the
sound effects database is a job for specialists. Approximately three
hundred
sound effects were created for the game, the majority by Town Sounds in
Atlanta, GA.
Almost everyone who sees a WAC-window type display agrees that it is most impressive type of display available. The common comment is that the display "looks 3D," meaning that the image looks distant, as looking out a window rather than looking at a screen.
The impressive fidelity comes with some drawbacks. Display cost is one drawback, but there are a number of companies working on lower cost units for entertainment applications. A second drawback is that the user's eyepoint position must be kept within a few inches of the designed eyepoint position. This means that the seat adjustment is much more critical than it would be for a monitor or projection display. An electrically powered up/down seat adjustment is therefore provided to accommodate users of widely varying hights. The front to back position of the seat cannot be varied, or the eye would be moved away from the design position. Instead, the rudder pedals are moved with an electrically powered adjustment. The seat also rotates for easy access.
The final consideration in using a WAC window is the problem of styling the enclosure. The WAC display is a vertical structure which, with the user, might ideally be housed in something with a form factor approaching a telephone booth. A telephone-booth shape unfortunately does not lend itself well to a streamlined, futuristic cab design. The problem was solved by Alto Design, which conceived nacelle structures to conceal the CRTs on top of the displays will keeping the cab looking streamlined.
Whichever
player
is steering will want to spend most of the time looking at the
out-the-window
image, and only occasionally at the touchscreens. Critical flight
information
such as the altitude, speed, heading, pitch, and roll is therefore
overlaid
as a head-up display (HUD) on the out-the-window imagery. A rear view
mirror
is included as well, which is particularly useful when the vehicle is
climbing
steeply so the main display is filled with the sky.
The
simulation
features a startup procedure. This includes starting the vehicle
engines
and turning on the major systems, like navigation and communications.
These
and other control functions are performed using the three touchscreens.
Touchscreens have the advantage of flexibility over fixed knobs and
switches,
and different menus can be brought up for different functions. After
starting
up the simulated vehicle, it is usually not necessary for players to go
beyond the top level of the touchscreen menus, but advanced players can
optimize their strategy by using the additional controls and displays.
The images on the displays are styled to look like classic wood burl and polished metal, not at all like the gray boxes that computer programs usually provide. To help program the touchscreen system, CGSD built a software tool to expedite animating the rounded button shapes, matching touch screen contact to the buttons, and dispatching the appropriate commands. The actual panel and button images were prepared in Adobe Photoshop.
SimulTainment
specified a unique arrangement of color coded switches and buttons on
the joystick and throttle controls. The throttle also has a custom
shape and a custom arrangement of détentes. The joystick
requirements were met by designing a custom molded grip and attaching
it to a standard joystick base mechanism manufactured by Happ controls
for arcade use. The throttle was a completely new design, with the grip
sculpted by Alto Design and the mechanism designed by CGSD.
.

The two
seats
in the simulator rotate independently to facilitate entry by the
players.
The joystick and throttle are mounted to the arms of the seat, which
rotate
with it. Under the ground rule that the two player stations have equal
functionality, it was desirable to have the throttles mechanically
linked.
That way when steering control passed from one player to the other,
there
could no be a sudden change in throttle setting. The linkage was
accomplished
with a passive interconnection of hydraulic cylinders that ensures the
throttle postions mirror one another. Joystick control is only
transferred
when the two joysticks are centered, a rule inapplicable to the
throttle.
The
simulator
cab, designed by Alto Design, is made of welded steel sheet with an
outer
fiberglass shell. The steel sheets are cut into shape by a numerically
controlled machine. The cut pieces are assembled and welded using a tab
and slot method. The engineering firm of Peter O'Driscoll, Inc. was
engaged
to check the design for performance on the motion base. After
fabrication,
the assembly was inspected and then tested on the motion base with
dummy
loads in place of the WAC displays. The WAC windows themselves are
rated
for motion base use by the manufacturer, Glass Mountain Optics. The
touchscreen
CRTs were vibration-tested by an independent lab prior to installation.
Here is the
completed AeroBall
simulator cab with the fiberglass exterior
shell in place.
The
streamlined
shape of the cab makes it larger than strictly required to house the
equipment
and occupants. There is room in the aft section to house the computers,
although for the present we have elected to keep them separately rack
mounted.
The standard components in the PCs are rated adequately to work in the
motion environment, but accessibility of a separate rack mount is an
advantage
during development.
A commercial hydraulic motion base from Sarnicola Engineering is used with the system. The patented Sarnicola design of the three-degree-of-freedom system has both engineering and cost advantages. Large motion excursions are afforded in a compact design.
Hydraulic actuation is much less expensive than electric (Sarnicola offers both). Hydraulics tends to worry people about potential leaks and ensuing mess, but we have not had any such problems. According to those in the industry, hydraulic systems pose no more maintenance problems than electric drive systems. (In electric drive systems, the gear box is prone to failure.)
A hydraulic pump system is inherently noisy. We opted for a quieter pump at extra cost for our self-contained single unit. In an entertainment center, a single hydraulic pump is used to supply many simulators, and that pump is either put in its own soundproofed room, or it is put outdoors.
Simulator
sickness,
which is related to motion sickness, is a concern whether or not a
motion
base is used. People under 18 generally rarely experience simulator
sickness
under any circumstances, although young people are susceptible to
motion
sickness. Susceptibility to simulator sickness increases with age, but
so far we have not found any significant tendency for the simulator to
induce simulator sickness in any age group.
Full-scale development of the simulator has taken about three years. Prior to that, there was a period of studying broad alternatives, such as whether to have one or two persons per cab, whether or not to have motion, and whether to use a projection display or WAC windows. The game concept was also being formulated by SimulTainment during the pre-development phase.
Entertainment concepts inevitably evolve, so measures are taken to accommodate the inevitable changes. These measures include modularization of the software, use of object-oriented programming in C++, the use of game tables and a game table generator, and the construction of software tools. Software tools are built in cases where it would not be economical for one-time use, but where the payback comes from repeated use for changes.
Trying to ensure that the implications of every decision are thought through at the beginning minimizes changes. The preparation of written specifications is the best way of conforming to this discipline, even though no one likes the process of preparing them. The specifications provide the opportunity for working with the customer to resolve conflicts among requirements and conflicts with technology limitations as early in the development process as possible. Having specifications does not forestall changes, but it formalizes the process of making changes to minimize confusion.