1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
[This is Riley's original README file]
acm Flight Simulator version 2.0
What is acm?
------------
Acm is a LAN-oriented, multiplayer aerial combat simulation. My 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.
Players engage in air to air combat against one another using heat seeking
missiles and cannons.
Acm exists as two programs. The first, named "acm", is a small program
that, when invoked, starts a flight session on a given workstation. The
second component, named "acms", is a server process that manages the
multiplayer environment. It also manages the flight simulation and
display management that is required. 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.
I play acm using a server that is a Mips RC3240 (rated at roughly 18.5
SPECmarks). I get very adequate display performance using a Mips RS2030
color workstation (10.0 SPECmarks) or an NCD monochrome X terminal. My
choice of servers is probably overkill. I suspect that an 10+ SPECmark
system could handle a typical mutiplayer load.
This is the second release of acm. The original version has been ported
to a variety of Unix derivatives and system architectures.
Riley Rainey
riley@mips.com
January 26, 1991
What's different with revision 2.0:
-----------------------------------
The flight simulation model has been substantially revamped.
Rudder controls have been added.
Monochrome support has been added with the generous help of Glen Dudek
(dudek@ksr.com).
Filenames have been shortened, where required, to get along with System V
conventions.
Substantial corrections and enhancements to the portability of this code
were provided by Johnathan Kamens (jik@Athena.MIT.EDU). imake can now
be used to build the entire product tree.
Sun-specific changes were provided by Dave Safford (auvsaff@auvsun.tamu.edu).
A bug that prevented acm from operating with certain window managers
has been corrected.
Lead Computing Optical Sight (LCOS) support has been added to the
cannon weapon display. A reticle (sight) is displayed on the HUD, showing
a good aiming sight for the cannon.
Cannons will now inflict damage on other aircraft.
Aircraft can now be damaged, but remain airworthy.
GENERAL NOTES
-------------
This software is divided into two major parts: the 3-D graphics routines
and the flight simulator itself. The 3-D stuff is contained in the V
directory. V/lib holds the library itself. V/test contains a program
that can be used to test your port of the V library.
Fsim contains the remainder of the flight simulator. imake and make files
have been provided. The code has a Berkeley tilt to it in many
places, so people with hybrid OS's will probably want to lean that
direction when selecting compiling and linking options.
Acm binaries can be installed in your standard games directory. In addition
to running "make install" to install the executables, you must run the
"install-objects" script.
The acm server, acms, must currently be started manually. It's intended
that it will eventually be managed automatically by inetd, but that's
not in the code yet. I have access to a network that includes a 16+ SPECMark
server and 12 to 18 SPECMark workstations (i.e. a MIPS 3240 along with
MIPS 2030 and Magnum workstations) (translate SPECMarks into millions of
instructions per second by whatever formula you like ..). I generally
rlogin to the 3240 and start the acms process on it and leave that xterm
window hanging around; then, from another xterm window, I'll fire off
the acm command that starts my flying session. Other players enter the
game by simply firing off an "acm servername" command.
I'm not saying that acm is a particularly accurate flight simulator. I'm
not an aero engineer, but I did spend a fair amount of time studying
several college-level texts on the subject while I was designing this
software. This probably doesn't resemble real-time flight simulators
too much but, again, that's not my line of work. Comments and
suggestions to improve this software are welcome.
Several "features" in this revision of the software:
* landing gear is ignored. Raise it, lower it; it's
not handled by the software.
* flaps can be lowered at rediculously high speeds.
* you can fly through mountains.
* engines do not flame-out. Fly really high (and fast enough)
and you can just about get into orbit. Non-afterburning
engine performance does degrade as altitude increases, but
afterburner performance gives the extra kick needed to fly
much higher than you should be able to.
CREDITS
In the original release, I overlooked several important credits. The
input routine at the heart of the acm server is based on code from xtrek
that was written by Dan A. Dickey, he has provided some valuable help in
improving the robustness of this code. The 3-D routines were written by
me, but are based closely on two valuable articles from the March and
April 1981 issues of Byte Magazine titled "Three-Dimensional Computer
Graphics" by Franklin C. Crow.
|