File: sopwith.6

package info (click to toggle)
sopwith 2.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,536 kB
  • sloc: ansic: 11,983; sh: 4,964; xml: 137; makefile: 130; python: 96
file content (379 lines) | stat: -rw-r--r-- 12,982 bytes parent folder | download
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
.TH sopwith 6
.
.SH NAME
sopwith \- classic aerial combat shoot em up game
.
.\" begin no-emscripten
.SH SYNOPSIS
.B sopwith
[ \-n | \-s | \-c | \-l | \-j \fIhost\fR ] [\-f] [\-g\fIlevel\fR] [\-m \fIfilename\fR] [\-q]
.
.\" end no-emscripten
.SH DESCRIPTION
Sopwith is a modern port of the classic 1980s shoot 'em up game of the same
name. The game has a World War I aviation theme. The object of Sopwith is to
destroy all enemy targets with a somewhat limited airforce.
.PP
It can be played both in single player and multiplayer mode over a TCP/IP network.
.\" begin no-emscripten
.PP
Sopwith looks for a configuration file in the user's home directory at
\fI~/.local/share/SDL Sopwith/sopwith.cfg\fR; the configuration file is only
generated after the user changes one of the settings from the in-game options
menu. Details about the contents of this file can be found in \fBsopwith.cfg\fR(5).
.
.SH OPTIONS
.TP
\-n
Start a single player game in novice mode. In novice mode there are no oxen or
birds, you have infinite ammo and bombs, and it is not possible to stall the
plane. This is a good option if you are new to the game, or if you're just
interested in more casual gameplay without so much of a challenge.
.TP
\-s
Start a single player game in expert mode
.TP
\-c
Start a single player vs. computer game
.TP
\-l
Start a network game listening for a network connection.
See the section "MULTIPLAYER SERVERS" below for more details.
.TP
\-p
Use a different TCP port for multiplayer games than the default (3847).
.TP
\-j \fIhost:port\fR
Start a network game, connecting to another listening host as specified
by \fIhost:port\fR. If the port number is not specified then TCP port 3847 is
used.
.TP
\-f
Start in full screen mode if possible.
.TP
\-g\fIlevel\fR
Start the game on the indicated difficulty level. For instance, use \-g2 to start
the game on level 2. The default is level 0.
.TP
\-q
Turn off sound (quiet)
.TP
\-m \fIfilename\fR
Load new mission (level) from the given filename. See \fBsopwith-mission\fR(5)
for details of the level format.
.TP
\-v or \-\-version
Show version number and exit.
.
.SH EXAMPLES
.TP
sopwith -c -q
Start a single player game vs. the computer with sound disabled.
.TP
sopwith -g3 -p 9999 -l
Start a game server, listening on TCP port 9999, playing on level three
difficulty.
.TP
sopwith -j example.com:9999
Connect to a game server at \fIexample.com\fR on TCP port 9999.
.
.\" end no-emscripten
.SH CONTROLS
The standard controls on a US layout keyboard are as follows:
.TP 
comma
pull up
.TP
slash
pull down
.TP
period
flip plane
.TP
Z
decrease speed
.TP
X
increase speed
.TP
space
fire machine gun
.TP
B
drop bomb
.TP
H
autopilot plane to home base
.TP
S
turn on sound effects
.TP
Ctrl+R
restart the current game, only works in single player mode
.TP
Ctrl+Q
quit the current game, only works in single player mode
.TP
Ctrl+C
quit
.TP
Ctrl+C Ctrl+C Ctrl+C
quit immediately
.
.SH SCORING
.PP
Playing the game, you can rack up a score based on targets destroyed. You
\fIlose\fR the same number of points if your own targets get destroyed. The
scoring is as follows:
.TP
Enemy Plane
50 points
.TP
Ground target
100 points
.TP
Oil tank
200 points
.TP
Planes left over when completing a level
25 points each
.PP
If you do very well, you may obtain a high score! The high score is shown on
the title screen of the game after 10 seconds. High scores are stored in the
high score file: \fI~/.local/share/SDL Sopwith/hiscores.txt\fR
.
.SH DASHBOARD
At the bottom of the screen, the plane's dashboard is shown. This consists of
several components:
.TP
Score
Your current score, which is accumulated from the enemy targets and planes you
have successfully destroyed (see \fBSCORING\fR above). In multiplayer two
scores are shown, so that both players can see each others' scores.
.TP
Lives (Cyan)
Number of lives remaining. You have five lives.
.TP
Fuel (Cyan)
Amount of fuel remaining in your aircraft. Once this becomes empty, you need to
return to your home base to refuel, or your plane will crash.
.TP
Bombs (Magenta)
Number of bombs remaining. You can carry a maximum of five bombs. Once you have
dropped all of them, you must return to your home base to get more.
.TP
Bullets (White)
Number of bullets left for your machine gun. Once you have used up all your
ammunition, you mut return to your home base to get more.
.TP
Map
Shows the contents of the level. Cyan and magenta dots indicate the positions
of allied and enemy planes and ground targets.
.
.SH TIPS
The following are some tips for playing the game:
.IP \(bu
Start off by playing in single player mode before playing against the computer.
This will allow you to "get the feel of the stick" without being attacked by
enemy planes. Practice dropping bombs on ground targets, as this is a key
skill.
.IP \(bu
Accelerate to maximum speed on takeoff, otherwise you may stall the plane.
Moving at speed is particularly important when playing against the computer,
as you are otherwise likely to be outmanuevered by the enemy planes.
.IP \(bu
Bombs can be used against planes as well as ground targets. It can sometimes
be easier to hit a plane with a bomb instead of the machine gun.
.IP \(bu
The machine gun can be used to destroy ground targets as well as planes. This
can save time if you run out of bombs, and some targets at the edges of the
map are even easier to destroy this way. Since the machine gun has a limited
range, reducing your speed when attacking a ground target can give you more
time to aim and attack before you have to pull away. But don't reduce the speed
too much or the plane may stall.
.IP \(bu
Computer planes will try to tail you so that they can shoot you down. Don't
allow them to get a clear shot. "Wiggling" the plane by repeatedly pulling up
and down can be an effective evasive maneuver.
.IP \(bu
Firing your machine gun through a flock of birds will cause the birds to
disperse, and the computer planes will sometimes hit a bird and crash. However,
this tactic can also backfire for obvious reasons.
.IP \(bu
Each computer plane has a "territory" and if you escape that territory they
will break off their pursuit. At the boundary between territories you can
sometimes trick two planes into crashing into each other.
.IP \(bu
When your plane is crashing, the pull up/down keys still have a small effect on
your trajectory. You can use this to try to crash your plane into an enemy
ground target.
.IP \(bu
Hitting the top of your screen stalls your plane. Hold down the pull up key to
break out of the stall before your plane crashes into the ground.
.IP \(bu
The autopilot can make mistakes that lead to a crash. This is particularly a
risk in higher levels if you're flying at very high speed. To avoid crashing,
make sure that you're as close as possible to your home base before hitting the
home key, and that you have a clear path to the runway.
.IP \(bu
It's possible to fly upside down, but trying to drop bombs while inverted is
usually unwise.
.
.SH MEDALS
.
If the "medals" game option is turned on, the player is rewarded with ribbons
and medals for the following:
.
.TP
Flying Ace Ribbon (cyan with a single white stripe)
Shooting down 5 planes
.TP
Top Flying Ace Ribbon (cyan with two white stripes)
Shooting down 25 planes (difficult!)
.TP
Service Ribbon (cyan with white edges)
Three successful raids
.TP
Perfect Ribbon (white with two magenta stripes)
Finishing a level with no planes lost
.TP
Competence Medal (white medal on a cyan ribbon)
Gaining 25 points in a single flight, where 3 points are awarded per plane
and 4 per building
.TP
Ribbon of Competence (white with magenta stripe)
As above, a second time
.TP
Purple Heart (magenta heart on a cyan ribbon)
Returning to base after having been damaged. This medal is impossible to
attain if wounded planes are turned off.
.TP
Ribbon of Valour (magenta with white stripe)
Gaining a certain number of points for destroyed planes and buildings; the
points depend on whether the player was damaged at that point in time, and
how far away the destroyed object was from the player's base
.TP
Victoria Cross (cyan cross on a magenta ribbon)
As above, but a few more points
.PP
Medals are only awarded if you get back to base safely. For example, if you
destroy some targets but then crash, or if you shoot down a plane but get shot
down yourself, it doesn't count.
.
.\" begin no-emscripten
.SH MULTIPLAYER SERVERS
.
When run in "listen" mode with the \fB\-l\fR command line flag (see above),
\fBsopwith\fR runs as a server that listens for an incoming connection.
To make this server available from a home Internet connection, you will
typically have to set up a port forward from your Internet router. The port
to forward is TCP port 3847. You will also need to find out your public IP
address so that the other player can connect.
.PP
Alternatively, if you have access to a *nix-based server then it may be
preferable to run something like a dedicated server that avoids the hassle
of port forwarding and dynamic IPs. All that is needed in order to do this
is to run a TCP server that forwards connections between two clients. This
can be done using \fBnc\fR(1); for example:
.
.RS
nc -l -p 3847 -c "nc -l -p 3847"
.RE
.
Developing the above command into a complete shell script for a
continually-active dedicated server is left as an exercise for the reader.
.
.\" end no-emscripten
.SH WWW
.UR https://fragglet.github.io/sdl-sopwith
https://fragglet.github.io/sdl-sopwith
.UE
.SH BUGS
.IP \(bu
Multiplayer is currently very limited; only two player games are supported.
The original game allowed up to four players per game when using the
Imaginet network hardware.
.IP \(bu
Planes fly increasingly faster at higher levels and the game eventually
becomes unplayable.
.IP \(bu
The plane AI (used for computer planes and for the autopilot) sometimes
does very stupid things.
.IP \(bu
There is only one level (although you can, at least, make your own now!)
.SH BUG REPORTS
Bugs can be reported to the GitHub issue tracker:
.PP
.UR https://github.com/fragglet/sdl-sopwith
https://github.com/fragglet/sdl-sopwith
.UE
.
.SH FILES
.TP
~/.local/share/SDL Sopwith/sopwith.cfg
Configuration file. See \fBsopwith.cfg\fR(5).
.TP
/var/games/sopwith/hiscores.txt
High scores file. This is shared between all users on the system. However, the
file is usually installed world-writable, so be aware that it's possible for
others to cheat and edit their names into the list.
.TP
~/.local/share/SDL Sopwith/hiscores.txt
Alternate high scores file. If the system-wide high scores file doesn't exist,
the game will save one here instead.
.SH SEE ALSO
\fBsopwith.cfg\fR(5),
\fBsopwith-mission\fR(5),
\fBtriplane\fR(6),
\fBairstrike\fR(6),
\fBpiu-piu\fR(1)
.
.SH AUTHORS
Originally written by David L. Clark for BMB Compuscience
.br
Modern SDL port By
.MT fraggle@gmail.com
Simon Howard
.ME ,
Jesse Smith
.
.SH HISTORY
Sopwith was originally developed by BMB Compuscience of Canada as a
demonstration game for their Imaginet Networking System. The system was not
commercially successful but Sopwith became a popular game for the IBM PC and
compatibles. A sequel that is referred to by fans as "Sopwith 2" was actually a
newer version rather than a different game, but included extra features, such
as oxen and birds (the oxen being an in-joke reference to a BMB employee who
was nicknamed "Ox").
.PP
The original author, David L. Clark, later released "Sopwith - The Network
Edition" with several extra features including comical heads-up "splats" and
wounded planes; a follow-up titled "The Author's Edition" contained the same
features. This version of Sopwith is based on the released source code to the
Author's Edition.
.PP
The real Sopwith Camel F.1 was one of the most famous fighter planes of World
War I; Camel pilots shot down 1,294 enemy aircraft over the course of the war,
more than any other aircraft. The plane gained a reputation for being agile
but difficult to fly; many novice pilots crashed the plane on takeoff. The
Camel was designed and manufactured by the Sopwith Aviation Company, founded by
aviation pioneer Thomas Sopwith; 5,490 aircraft were produced. In popular
culture the Camel is known for being the biplane flown by the protagonist in
the \fIBiggles\fR series of novels, and by Snoopy in the \fIPeanuts\fR comic
strip.
.SH COPYRIGHT
Copyright \(co 1984, 1985, 1987 BMB Compuscience Inc.
.br
Copyright \(co 1984-2000 David L. Clark
.br
Copyright \(co 2001-2024 Simon Howard, Jesse Smith
.PP
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.PP
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.