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.
|