ACM: air combat simulation for UNIX and Windows

ACM is a multiplayer aerial combat simulation. It was originally designed for UNIX systems running X-Windows. A Windows version is now available as well.

ACM is a distributed simulation. That means that separate programs cooperate to render the state of the world in real-time. The cooperative communication required among these distributed programs is described by the IEEE 1278 Distributed Interactive Simulation protocol.

Great News!

Version 5.0 of ACM has been released.

The ACM world is now round. Extracts of the FAA's airport and NAVAID databases are used to populate the simulation.

More Great News!

ACM for Windows is now available. I quit my day job to finish it, so there is a modest fee for the Visual C++ compatible source code. The UNIX version is still available at no charge.

The view you see on the left is a screen shot taken from an early version of this software. The presentation is very similar to what you see on UNIX-based systems.

The Windows version exploits Microsoft's new DirectX gaming components. ACM's use of DirectPlay allows players to locate and engage opponents across the Internet. DirectPlay also supports multiplayer gaming via computer-to-computer serial connections, modems, as well as local area networks.

The Windows and UNIX versions of ACM are compatible in a local area network environment.

Important Features of Both Versions of ACM

Multiplayer Aerial Combat
Each player runs the ACM simulator at his or her local workstation. All applications communicate position information via UDP broadcasts. This information allows players to "see" one another in a common environment.
 
Distributed Interactive Simulation Support
ACM's network communication protocol is the IEEE 1278 "Distributed Interactive Simulation" (DIS) standard. This definition allows different simulation applications to engage each other in a common virtual world.
 
High Fidelity Flight Simulation Model
Yeah, right .. doesn't every simulator on the planet claim to have this? The heart of ACM is a six-degree of freedom model. Aircraft performance is characterized using NACA-standard derivatives. While you are taxiing, the effects of landing gear struts and shocks are accounted for, too.
 
Joystick Support
ACM can interface to joysticks connected to a UNIX workstation's serial port using the "Workstation Gameport" from Colorado Spectrum. Sadly, Colorado Spectrum seems to have gone out of business. If anyone can suggest a another decent serial-line to joystick converter box, I'd be happy to modofy ACM to work with it.

Platform Support

ACM for UNIX has been tested on Linux, SunOS 4.1, Solaris 2.5, AIX 3.5, HPUX 9.

The Windows version runs on Windows/95 and Windows/NT 4 service pack 3.

ACM Source Code

Sources to the current version of ACM for UNIX (version 5.0) are available via http.

You will need an ANSI compatible C compiler, such as GNU C to build ACM.

Hints

The README file contained in the top-level source code directory contains a description of how to build ACM on your system.

If you are a seasoned flight simulation enthusiast, you should find ACM fairly easy to learn. Others will frequently wonder where they are and where all those enemy planes are sneaking up from. Military pilots call the answers to those questions "situational awareness" and it is something that takes time to develop.

Discussion about ACM can be found on Usenet in the rec.aviation.simulators newsgroup. If you are interested in contributing enhancements to ACM, you can join the ACM developer's Internet mailing list by contacting the author via electronic mail (riley.rainey@websimulations.com).

History of the Game

The original idea for ACM dates back to 1985. A friend of mine, Lee Ziegenhals, and I thought it would be a neat idea to create a flight simulation that would allow multiple players to "see" one another. At the time, we were both avid Macintosh owners. We attempted to create an Appletalk-based simulation in our spare time. Sadly, our aspirations were smashed when we realized that Mac's available in 1985 lacked the horsepower to drive such a game.

Lee and I took new jobs in different cities. Time passed.

In 1989 I got my hands on my first RISC-based UNIX workstation. I decided to take another stab at it. ACM was originally released via Usenet in early 1991. I have worked on enhancing the game on-and-off since then. Others have contributed significant advice, enhancements, and bug fixes over time, too.

Now I'm finishing up the Windows version. I'm taking advantage of Microsoft's DirectX to enable play across the Internet -- it will also retain support for the IEEE DIS protocol. I hope to take some beta copies with me to the EAA Fly-In at Oshkosh later this month. Look for the guys with the ACM tee-shirts.

Other Resources

Brad Bass maintains a list of Frequently Asked Questions about ACM for UNIX.

Yahoo maintains an excellent index of aviation-related web sites.

Yahoo also maintains an index of other games for the X Window System.

Information about the IEEE 1278 protocol can be obtained from the Institute for Simulation Technology.

Comments to the author are welcome.
Riley Rainey
September 30, 1997

Best experienced with
Microsoft Internet Explorer
Click here to start.