From: bass@convex.com (Brad F. Bass)
Subject: ACM Flight Simulator Frequently-Asked Questions List
Date: Mon, 23 Nov 1992 16:32:58 GMT
Organization: Engineering, CONVEX Computer Corp., Richardson, Tx., USA
X-Disclaimer: This message was written by a user at CONVEX Computer
              Corp. The opinions expressed are those of the user and
              not necessarily those of CONVEX.

This article contains the answers to some Frequently-Asked Questions
(FAQ) about the ACM Flight Simulator.  It has been posted as a response
to the growing interest in ACM and to reduce the net traffic in the
"rec.aviation.simulators" newsgroup.

The following questions are answered:

    Q: What is ACM?
    Q: What machines does ACM run on?
    Q: How do you run ACM?
    Q: What aircraft are simulated?
    Q: Where can I get ACM?
    Q: Who is/are the authors?
    Q: Why won't ACM compile under HPUX?
    Q: Is there an PC or Mac version of ACM?
    Q: What is the current "official" release?
    Q: When will there be another release?
    Q: Are there other versions around?
    Q: How can I learn about modern air combat tactics?
  + Q: How can I change the scenery?  Is there a scenery editor available?
  + Q: What is the file format of an object file?
  + Q: What is ACM's coordinate system like?  What basic units are used?
  + Q: When I tried to run "acm", I get "Can't connect to server".

The plus signs indicate new questions.

Of course, this FAQ won't answer all the questions.  If you have a
question about ACM, please e-mail me at "bass@convex.com".  I'll
try to reply as soon as possible.  I'll also update the FAQ and
repost it periodically.

----------------------------------------------------------------------
Q: What is ACM?

ACM is a LAN-oriented, multiplayer aerial combat simulation.  Players
engage in air-to-air combat against one another using heat-seeking
missiles and cannons.

ACM is not the SGI flight simulator.  ACM is not Sun's "Aviator".
Neither is it related to any commercially available simulator.

----------------------------------------------------------------------
Q: What machines does ACM run on?

I personally know that HP, MIPS, Sparc, Sun3 and DEC versions exist.
The operating system is BSD-style Unix.

From the README file:
    ... [Riley's] main design objective was to provide source code that
    could be easily compiled and executed on a wide variety of
    platforms.  To that end, ACM is written entirely in C, exploiting
    the programming features of Unix, X11, and the BSD socket interface.

    ...I suspect that an 10+ SPECmark system could handle a typical
    multiplayer load...

----------------------------------------------------------------------
Q: How do you run ACM?

ACM exists as two programs.  The first component, named "acms", is a
server process that manages the multiplayer environment.  It also
manages the flight simulation and display management that is required.

The second, named "acm", is a small program that, when invoked, starts
a session on a given workstation.

Most players will prefer to run the "acms" process on a back-end server
system on their local area network.  Players at client workstations can
then invoke the "acm" program to begin play.

----------------------------------------------------------------------
Q: What aircraft are simulated?

Two aircraft are modeled: the General Dynamics F-16 and the Soviet
MiG-23.  The missiles are AIM-9M Sidewinders.  The cannon is a
20-mm M61A1 Vulcan.

----------------------------------------------------------------------
Q: Where can I get ACM?

ACM can be FTP'ed from "export.lcs.mit.edu" (18.24.0.12).  It's in the
"contrib" directory:

    % ftp export.lcs.mit.edu
    Connected to export.lcs.mit.edu.
    Name (export.lcs.mit.edu:xxx): anonymous
    331 Guest login ok, send ident as password.
    Password: _________
    ftp> cd contrib
    ftp> binary
    ftp> get acm.2.4.tar.Z
    ftp> quit

Now, you'll have to uncompress and un-tar it, like so:

    % uncompress acm.2.4.tar.Z
    % tar xvf acm.2.4.tar

This will create an "acm" subdirectory.  There is a README file that
will tell you where to go from here.

----------------------------------------------------------------------
Q: Who is/are the authors?

ACM was written by Riley Rainey (riley@atria.com).  In the credits,
Riley cites Dan A. Dickey's assistance in improving the server code.
The 3-D graphics routines are closely based on an article in "Byte
Magazine" by Franklin C. Crow.

Many others have sent in bug fixes and enhancements that have been
incorporated into ACM.

Also, there is an ad-hoc ACM development forum which functions was a
sounding board for Riley to bounce new ideas off of.  It also functions
as a beta-test group and forwards suggestions and enhancements for
inclusion in the next release.  Two of its members and their areas of
interest are:

Brad Bass (bass@convex.com) - addition of conventional flight and 
    navigation instruments.  Inclusion of FAA navaid and airport data
    for IFR flight simulation.

Tim Tessin (tjt@cirrus.com) - experimentation with higher-performance
    graphics systems (Sun GX accelerator, XGL), sound, and increased
    simulation and combat realism.

----------------------------------------------------------------------
Q: Why won't ACM compile under HPUX?

Some of the library functions have different names.  Add the following
to the end of "fsim/manifest.h":

    #ifdef hpux
    #define NEEDS_COPYSIGN
    #define srandom srand
    #define random rand
    #define sigvec sigvector
    #endif

----------------------------------------------------------------------
Q: Is there an PC or Mac version of ACM?

No. At this point, ACM relies heavily on X-windows and the Berkeley
Unix socket interface.

----------------------------------------------------------------------
Q: What is the current "official" release?

ACM2.4 was the last release to come from Riley and was posted to to
the Usenet in September of 1991.

----------------------------------------------------------------------
Q: When will there be another release?

Riley anticipates the release of ACM3 before the end of the year.
Enhancements *may* include:
    + a "chase plane" view
    + enhanced realism while moving on the ground
    + use of NACA stability derivatives for pitch, roll and yaw models
    + faster graphics performance
    + an improved head-up display (HUD)
    + some nav instrumentation

----------------------------------------------------------------------
Q: Are there other versions around?

ACM was distributed as source code.  This has encouraged much user
experimentation.  Many people have used ACM as a foundation for an
arcade-style shoot-em-up game.  Others have added additional aircraft
types, surface-to-air missile sites, ground vehicles and more scenery,
and wage extensive battles in teams.  Still others have added
conventional aircraft instrumentation and built IFR simulators with
navaids and runways from the FAA data tapes.

----------------------------------------------------------------------
Q: How can I learn about modern air combat tactics?

1. Mike Spick's _Modern_Fighter_Combat_, published by Prentice Hall.
2. Robert Shaw's _Flighter_Combat:_Tactics_and_Maneuvering_, published by Naval Institute Press.
3. JD Webster's _Air Superiority_ and _The Speed of Heat_ board game simulations

[ 1 submitted by Riley Rainey (riley@atria.com) ]
[ 2 & 3 submitted by Neil Galarneau (neil@progress.com) ]

----------------------------------------------------------------------
Q: How can I change the scenery?  Is there a scenery editor available?

At present, there is no public-domain scenery editor available for the
creation and placement of ACM objects. (any volunteers out there?)
Simple objects can be built using your favorite text editor (see the
next two questions for the format specifics).  Study "init.c" to learn
how they are placed in the ACM environment.

Clearly, this is an area that could easily be improved upon.  The
author's primary development focus has been in the fidelity of the
flight model, not the external view.

----------------------------------------------------------------------
Q: What is the file format of an ACM object file?

The basic format of an object file looks like this:

    *<name>
    <vertex_count> <polygon_count>
    <vertex_number> <x-coord> <y-coord> <z-coord>
    :
    :
    #<polygon_color> <number of vertices in this polygon> <vertex_number list>
    :
    :

For example:

    *pyramid                    # the name of the object
    5 4                         # vertex and polygon count
    1 28000 0 0                 # the
    2 0 16000 0                 #   five
    3 -35000 0 0                #     vertices
    4 0 -14000 0
    5 0 0 -8200
    #788b63 3  1 2 5            # the
    #788b63 3  2 3 5            #   four
    #788b63 3  3 4 5            #     polygons
    #788b63 3  4 1 5


----------------------------------------------------------------------
Q: What is ACM's coordinate system like?  What basic units are used?

It looks like the Right-Hand-Rule is used exclusively, but thumbs-down
instead of thumbs-up, like so:

     First finger: the positive X-axis is away from you (North)
     2nd finger:   the positive Y-axis is to the right (East)
     Thumb:        the positive Z-axis is down (negative is Up)

All distances are in feet.  Angles are in radians.  Velocity is in
feet-per-second.  Yaw/pitch/roll rates are in radians-per-second.
Conversions are made to the usual units when displayed on the HUD.

----------------------------------------------------------------------
Q: When I tried to run "acm", I get "Can't connect to server".

a. You haven't started the "acms" server process yet.

b. The machine that's running "acms"  is being denied a connection to
   your workstation's X-windows server.  It's a simple form of privacy
   and security control.  The "xhost" command is used to add and delete
   computer host names to the access list.  For example, if "cyclone"
   is the name of the computer running "acms":

        % xhost cyclone

   To completely switch off access control:

        % xhost +


----------------------------END---------------------------------------
--
Brad Bass		"...we're in deep voodoo..."
bass@convex.com			Ross Perot on trickle-down economics
Convex Computer Corp.	
Richardson, Texas	
Newsgroups: rec.aviation.simulators