sopwith(6)

NAME
sopwith - classic aerial combat shoot em up game

SYNOPSIS
sopwith [ -n | -s | -c | -l | -j host ] [-f] [-glevel] [-m filename] [-q]

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.

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

OPTIONS

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

-s  Start a single player game in expert mode

-c  Start a single player vs. computer game

-l  Start a network game listening for a network connection. See the section "MULTIPLAYER SERVERS" below for more details.

-p  Use a different TCP port for multiplayer games than the default (3847).

-j host:port
    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.

-f  Start in full screen mode if possible.

-glevel
    Start the game on the indicated difficulty level. For instance, use -g2 to start the game on level 2. The default is level 0.

-q  Turn off sound (quiet)

-m filename
    Load new mission (level) from the given filename. See sopwith-mission(5) for details of the level format.

-v or --version
    Show version number and exit.

EXAMPLES

sopwith -c -q
    Start a single player game vs. the computer with sound disabled.

sopwith -g3 -p 9999 -l
    Start a game server, listening on TCP port 9999, playing on level three difficulty.

sopwith -j example.com:9999
    Connect to a game server at example.com on TCP port 9999.

CONTROLS
The standard controls on a US layout keyboard are as follows:

comma
    pull up

slash
    pull down

period
    flip plane

Z   decrease speed

X   increase speed

space
    fire machine gun

B   drop bomb

H   autopilot plane to home base

S   turn on sound effects

Ctrl+R
    restart the current game, only works in single player mode

Ctrl+Q
    quit the current game, only works in single player mode

Ctrl+C
    quit

Ctrl+C Ctrl+C Ctrl+C
    quit immediately

SCORING

Playing the game, you can rack up a score based on targets destroyed. You lose the same number of points if your own targets get destroyed. The scoring is as follows:

Enemy Plane
    50 points

Ground target
    100 points

Oil tank
    200 points

Planes left over when completing a level
    25 points each

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: ~/.local/share/SDL Sopwith/hiscores.txt

DASHBOARD
At the bottom of the screen, the plane's dashboard is shown. This consists of several components:

Score
    Your current score, which is accumulated from the enemy targets and planes you have successfully destroyed (see SCORING above). In multiplayer two scores are shown, so that both players can see each others' scores.

Lives (Cyan)
    Number of lives remaining. You have five lives.

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.

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.

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.

Map Shows the contents of the level. Cyan and magenta dots indicate the positions of allied and enemy planes and ground targets.

TIPS
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 an enemy 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.

MEDALS
If the "medals" game option is turned on, the player is rewarded with ribbons and medals for the following:

Flying Ace Ribbon (cyan with a single white stripe)
    Shooting down 5 planes

Top Flying Ace Ribbon (cyan with two white stripes)
    Shooting down 25 planes (difficult!)

Service Ribbon (cyan with white edges)
    Three successful raids

Perfect Ribbon (white with two magenta stripes)
    Finishing a level with no planes lost

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

Ribbon of Competence (white with magenta stripe)
    As above, a second time

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.

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

Victoria Cross (cyan cross on a magenta ribbon)
    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.

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

WWW
https://fragglet.github.io/sdl-sopwith (https://fragglet.github.io/sdl-sopwith)

BUGS

•   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 faster 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 (although you can, at least, make your own now!)

BUG REPORTS
Bugs can be reported to the GitHub issue tracker:

https://github.com/fragglet/sdl-sopwith (https://github.com/fragglet/sdl-sopwith)

FILES

~/.local/share/SDL Sopwith/sopwith.cfg
    Configuration file. See sopwith.cfg(5).

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

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

SEE ALSO
sopwith.cfg(5), sopwith-mission(5), triplane(6), airstrike(6), piu-piu(1)

AUTHORS
Originally written by David L. Clark for BMB Compuscience
Modern SDL port By Simon Howard (fraggle@gmail.com), Jesse Smith

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

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