sopwith - classic aerial combat shoot em up game
sopwith [ -n | -s | -c | -l | -j host ] [-f] [-glevel] [-m filename] [-q]
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.
It can be played both in single player and multiplayer mode over a TCP/IP network.
Sopwith looks for a configuration file in the user's home directory at ~/.local/share/SDL Sopwith/sopwith.cfg; 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 sopwith.cfg(5).
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.
Start a single player in expert mode
Start a single player vs. computer game
Start a network game listening for a network connection. See the section "MULTIPLAYER SERVERS" below for more details.
Use a different TCP port for multiplayer games than the default (3847).
Start a network game, connecting to another listening host as specified by host:port. If the port number is not specified then TCP port 3847 is used.
Start in full screen mode if possible.
Start the game on the indicated difficulty level. For instance, use -g2 to start the game on level 2. The default is level 0.
Turn off sound (quiet)
Load new mission (level) from the given filename. See sopwith-mission(5) for details of the level format.
Show version number and exit.
Start a single player game vs. the computer with sound disabled.
Start a game server, listening on TCP port 9999, playing on level three difficulty.
Connect to a game server at example.com on TCP port 9999.
The standard controls on a US layout keyboard are as follows:
pull up
pull down
flip plane
decrease speed
increase speed
fire machine gun
drop bomb
autopilot plane to home base
turn on sound effects
restart the current game, only works in single player mode
quit the current game, only works in single player mode
quit
quit immediately
At the bottom of the screen, the plane's dashboard is shown. This consists of several components:
Your current score, which is accumulated from the enemy targets and planes you have successfully destroyed. In multiplayer two scores are shown, so that both players can see each others' scores.
Number of lives remaining. You have five lives.
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.
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.
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.
Shows the contents of the level. Cyan and magenta dots indicate the positions of allied and enemy planes and ground targets.
The following are some tips for playing the game:
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.
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.
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.
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.
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.
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.
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.
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 a ground target.
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.
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.
It's possible to fly upside down, but trying to drop bombs while inverted is usually unwise.
If the "medals" game option is turned on, the player is rewarded with ribbons and medals for the following:
Shooting down 5 planes
Shooting down 25 planes (difficult!)
Three successful raids
Finishing a level with no planes lost
Gaining 25 points in a single flight, where 3 points are awarded per plane and 4 per building
As above, a second time
Returning to base after having been damaged. This medal is impossible to attain if wounded planes are turned off.
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
As above, but a few more points
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.
When run in "listen" mode with the -l command line flag (see above), sopwith 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.
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 nc(1); for example:
nc -l -p 3847 -c "nc -l -p 3847"
Developing the above command into a complete shell script for a continually-active dedicated server is left as an exercise for the reader.
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.
Planes fly increasingly fast at higher levels and the game eventually becomes unplayable.
The plane AI (used for computer planes and for the autopilot) sometimes does very stupid things.
There is only one level.
Bugs can be reported to the GitHub issue tracker:
sopwith.cfg(5), sopwith-mission(5), triplane(6), airstrike(6), piu-piu(1)
Originally written by David L. Clark for BMB Compuscience
Modern SDL port By Simon Howard, Jesse Smith
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").
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.
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 Biggles series of novels, and by Snoopy in the Peanuts comic strip.
Copyright © 1984, 1985, 1987 BMB Compuscience Inc.
Copyright © 1984-2000 David L. Clark
Copyright © 2001-2024 Simon Howard, Jesse Smith
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.
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.