Annotation of 43BSD/games/sail/sail.6, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1980 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)sail.6      5.1 (Berkeley) 6/5/85
        !             6: .\"
        !             7: 
        !             8: .TH SAIL PUBLIC 
        !             9: .UC 4
        !            10: .SH NAME
        !            11: sail \- multi-user wooden ships and iron men
        !            12: .SH SYNOPSIS
        !            13: .B sail
        !            14: [
        !            15: .B \-s
        !            16: [
        !            17: .B \-l
        !            18: ] ] [
        !            19: .B \-x
        !            20: ] [
        !            21: .B \-b
        !            22: ] [
        !            23: .B num
        !            24: ]
        !            25: .br
        !            26: .fi
        !            27: .SH DESCRIPTION
        !            28: .I Sail
        !            29: is a computer version of Avalon Hill's game of fighting sail
        !            30: originally developed by S. Craig Taylor.
        !            31: .PP
        !            32: Players of
        !            33: .I Sail
        !            34: take command of an old fashioned Man of War and fight other
        !            35: players or the computer.  They may re-enact one of the many
        !            36: historical sea battles recorded in the game, or they can choose
        !            37: a fictional battle.
        !            38: .PP
        !            39: As a sea captain in the 
        !            40: .I Sail
        !            41: Navy, the player has complete control over the workings of his ship.
        !            42: He must order every maneuver, change the set of his sails, and judge the
        !            43: right moment to let loose the terrible destruction of his broadsides.
        !            44: In addition to fighting the enemy, he must harness the powers of the wind
        !            45: and sea to make them work for him.  The outcome of many battles during the
        !            46: age of sail was decided by the ability of one captain to hold the `weather
        !            47: gage.'
        !            48: .PP
        !            49: The flags are:
        !            50: .TP
        !            51: .B \-s
        !            52: Print the names and ships of the top ten sailors.
        !            53: .TP
        !            54: .B \-l
        !            55: Show the login name.  Only effective with \fB-s\fP.
        !            56: .TP
        !            57: .B \-x
        !            58: Play the first available ship instead of prompting for a choice.
        !            59: .TP
        !            60: .B \-b
        !            61: No bells.
        !            62: .SH IMPLEMENTATION
        !            63: .I Sail
        !            64: is really two programs in one.  Each player starts up a process which
        !            65: runs his own ship.  In addition, a
        !            66: .I driver
        !            67: process is forked (by the first player) to run the computer ships
        !            68: and take care of global bookkeeping.
        !            69: .PP
        !            70: Because the
        !            71: .I driver
        !            72: must calculate moves for each ship it controls, the
        !            73: more ships the computer is playing, the slower the game will appear.
        !            74: .PP
        !            75: If a player joins a game in progress, he will synchronize
        !            76: with the other players (a rather slow process for everyone), and 
        !            77: then he may play along with the rest.
        !            78: .PP
        !            79: To implement a multi-user game in Version 7 UNIX, which was the operating
        !            80: system
        !            81: .I Sail
        !            82: was first written under, the communicating processes must use a common
        !            83: temporary file as a place to read and write messages.  In addition, a
        !            84: locking mechanism must be provided to ensure exclusive access to the
        !            85: shared file.  For example,
        !            86: .I Sail
        !            87: uses a temporary file named /tmp/#sailsink.21 for scenario 21, and
        !            88: corresponding file names for the other scenarios.  To provide exclusive
        !            89: access to the temporary file, 
        !            90: .I Sail
        !            91: uses a technique stolen from an old game called "pubcaves" by Jeff Cohen.
        !            92: Processes do a busy wait in the loop
        !            93: .br
        !            94: .sp
        !            95: .ce 2
        !            96:        for (n = 0; link(sync_file, sync_lock) < 0 && n < 30; n++)
        !            97:                sleep(2);
        !            98: .br
        !            99: .sp
        !           100: until they are able to create a link to a file named "/tmp/#saillock.??".
        !           101: The "??" correspond to the scenario number of the game.  Since UNIX 
        !           102: guarantees that a link will point to only one file, the process that succeeds
        !           103: in linking will have exclusive access to the temporary file.
        !           104: .PP
        !           105: Whether or not this really works is open to speculation.  When ucbmiro
        !           106: was rebooted after a crash, the file system check program found 3 links
        !           107: between the
        !           108: .I Sail
        !           109: temporary file and its link file.
        !           110: .SH CONSEQUENCES OF SEPARATE PLAYER AND DRIVER PROCESSES
        !           111: When players do something of global interest, such as moving or firing,
        !           112: the driver must coordinate the action with the other ships in the game.
        !           113: For example, if a player wants to move in a certain direction, he writes a
        !           114: message into the temporary file requesting the driver to move his ship.
        !           115: Each ``turn,'' the driver reads all the messages sent from the players and
        !           116: decides what happened.  It then writes back into the temporary file new
        !           117: values of variables, etc.
        !           118: .PP
        !           119: The most noticeable effect this communication has on the game is the
        !           120: delay in moving.  Suppose a player types a move for his ship and hits
        !           121: return.  What happens then?  The player process saves up messages to
        !           122: be written to the temporary file in a buffer.  Every 7 seconds or so, the
        !           123: player process gets exclusive access to the temporary file and writes 
        !           124: out its buffer to the file.  The driver, running asynchronously, must
        !           125: read in the movement command, process it, and write out the results.  This
        !           126: takes two exclusive accesses to the temporary file.  Finally, when the player 
        !           127: process gets around to doing another 7 second update, the results of the
        !           128: move are displayed on the screen.  Hence, every movement requires four
        !           129: exclusive accesses to the temporary file (anywhere from 7 to 21 seconds
        !           130: depending upon asynchrony) before the player sees the results of his moves.
        !           131: .PP
        !           132: In practice, the delays are not as annoying as they would appear.  There
        !           133: is room for "pipelining" in the movement.  After the player writes out
        !           134: a first movement message, a second movement command can then be issued.
        !           135: The first message will be in the temporary file waiting for the driver, and
        !           136: the second will be in the file buffer waiting to be written to the file.
        !           137: Thus, by always typing moves a turn ahead of the time, the player can
        !           138: sail around quite quickly.
        !           139: .PP
        !           140: If the player types several movement commands between two 7 second updates,
        !           141: only the last movement command typed will be seen by the driver.  Movement
        !           142: commands within the same update "overwrite" each other, in a sense.
        !           143: .SH THE HISTORY OF SAIL 
        !           144: I wrote the first version of
        !           145: .I Sail
        !           146: on a PDP 11/70 in the fall of 1980.  Needless to say, the code was horrendous,
        !           147: not portable in any sense of the word, and didn't work.  The program was not
        !           148: very modular and had fseeks() and fwrites() every few lines.  After a
        !           149: tremendous rewrite from the top down, I got the first working version up by
        !           150: 1981.  There were several annoying bugs concerning firing broadsides and
        !           151: finding angles.
        !           152: .I Sail
        !           153: uses no floating point, by the way, so the direction routines are rather 
        !           154: tricky.
        !           155: Ed Wang rewrote my angle() routine in 1981 to be more correct (although
        !           156: it still doesn't work perfectly), and he added code to let a player select
        !           157: which ship he wanted at the start of the game (instead of the first one
        !           158: available).
        !           159: .PP
        !           160: Captain Happy (Craig Leres) is responsible for making
        !           161: .I Sail
        !           162: portable for the first time.  This was no easy task, by the way.  Constants
        !           163: like 2 and 10 were very frequent in the code.  I also became famous for
        !           164: using "Riggle Memorial Structures" in
        !           165: .I Sail.
        !           166: Many of my structure references are so long that they run off the line
        !           167: printer page.  Here is an example, if you promise not to laugh.
        !           168: .br
        !           169: .sp
        !           170: .ce
        !           171: specs[scene[flog.fgamenum].ship[flog.fshipnum].shipnum].pts
        !           172: .br
        !           173: .sp
        !           174: .PP
        !           175: .I Sail
        !           176: received its fourth and most thorough rewrite in the summer and fall
        !           177: of 1983.  Ed Wang rewrote and modularized the code (a monumental feat)
        !           178: almost from scratch.  Although he introduced many new bugs, the final
        !           179: result was very much cleaner and (?) faster.  He added window movement
        !           180: commands and find ship commands.
        !           181: .SH HISTORICAL INFO
        !           182: Old Square Riggers were very maneuverable ships capable of intricate
        !           183: sailing.  Their only disadvantage was an inability to sail very 
        !           184: close to the wind.  The design of a wooden ship allowed only for the
        !           185: guns to bear to the left and right sides.  A few guns of small
        !           186: aspect (usually 6 or 9 pounders) could point forward, but their
        !           187: effect was small compared to a 68 gun broadside of 24 or 32 pounders.
        !           188: The guns bear approximately like so:
        !           189: .nf
        !           190: 
        !           191:        \\
        !           192:         b----------------
        !           193:     ---0
        !           194:         \\
        !           195:          \\
        !           196:           \\     up to a range of ten (for round shot)
        !           197:            \\
        !           198:             \\
        !           199:              \\
        !           200: 
        !           201: .fi
        !           202: An interesting phenomenon occurred when a broadside was fired
        !           203: down the length of an enemy ship.  The shot tended to bounce along
        !           204: the deck and did several times more damage.  This phenomenon was called
        !           205: a rake.  Because the bows of a ship are very strong and present a smaller
        !           206: target than the stern, a stern rake (firing from the stern to the bow) causes
        !           207: more damage than a bow rake.
        !           208: .nf
        !           209: 
        !           210:                         b
        !           211:                        00   ----  Stern rake!
        !           212:                          a
        !           213: 
        !           214: .fi
        !           215: Most ships were equipped with carronades, which were very large, close
        !           216: range cannons.  American ships from the revolution until the War of 1812
        !           217: were almost entirely armed with carronades.
        !           218: .PP
        !           219: The period of history covered in
        !           220: .I Sail
        !           221: is approximately from the 1770's until the end of Napoleanic France in 1815.
        !           222: There are many excellent books about the age of sail.  My favorite author
        !           223: is Captain Frederick Marryat.  More contemporary authors include C.S. Forester
        !           224: and Alexander Kent.
        !           225: .PP
        !           226: Fighting ships came in several sizes classed by armament.  The mainstays of
        !           227: any fleet were its "Ships of the Line", or "Line of Battle Ships".  They
        !           228: were so named because these ships fought together in great lines.  They were
        !           229: close enough for mutual support, yet every ship could fire both its broadsides.
        !           230: We get the modern words "ocean liner," or "liner," and "battleship" from
        !           231: "ship of the line."  The most common size was the the 74 gun two decked
        !           232: ship of the line.  The two gun decks usually mounted 18 and 24 pounder guns.
        !           233: .PP
        !           234: The pride of the fleet were the first rates.  These were huge three decked
        !           235: ships of the line mounting 80 to 136 guns.  The guns in the three tiers
        !           236: were usually 18, 24, and 32 pounders in that order from top to bottom.
        !           237: .PP
        !           238: Various other ships came next.  They were almost all "razees," or ships
        !           239: of the line with one deck sawed off.  They mounted 40-64 guns and were
        !           240: a poor cross between a frigate and a line of battle ship.  They neither
        !           241: had the speed of the former nor the firepower of the latter.
        !           242: .PP
        !           243: Next came the "eyes of the fleet."  Frigates came in many sizes mounting
        !           244: anywhere from 32 to 44 guns.  They were very handy vessels.  They could
        !           245: outsail anything bigger and outshoot anything smaller.  Frigates didn't
        !           246: fight in lines of battle as the much bigger 74's did.  Instead, they
        !           247: harassed the enemy's rear or captured crippled ships.  They were much
        !           248: more useful in missions away from the fleet, such as cutting out expeditions
        !           249: or boat actions.  They could hit hard and get away fast.
        !           250: .PP
        !           251: Lastly, there were the corvettes, sloops, and brigs.  These were smaller
        !           252: ships mounting typically fewer than 20 guns.  A corvette was only slightly
        !           253: smaller than a frigate, so one might have up to 30 guns.  Sloops were used
        !           254: for carrying dispatches or passengers.  Brigs were something you built for 
        !           255: land-locked lakes.
        !           256: .SH SAIL PARTICULARS
        !           257: Ships in
        !           258: .I Sail
        !           259: are represented by two characters.  One character represents the bow of
        !           260: the ship, and the other represents the stern.  Ships have nationalities
        !           261: and numbers.  The first ship of a nationality is number 0, the second
        !           262: number 1, etc.  Therefore, the first British ship in a game would be
        !           263: printed as "b0".  The second Brit would be "b1", and the fifth Don
        !           264: would be "s4".  
        !           265: .PP
        !           266: Ships can set normal sails, called Battle Sails, or bend on extra canvas
        !           267: called Full Sails.  A ship under full sail is a beautiful sight indeed,
        !           268: and it can move much faster than a ship under Battle Sails.  The only
        !           269: trouble is, with full sails set, there is so much tension on sail and
        !           270: rigging that a well aimed round shot can burst a sail into ribbons where
        !           271: it would only cause a little hole in a loose sail.  For this reason,
        !           272: rigging damage is doubled on a ship with full sails set.  Don't let
        !           273: that discourage you from using full sails.  I like to keep them up
        !           274: right into the heat of battle.  A ship
        !           275: with full sails set has a capital letter for its nationality.  E.g.
        !           276: a Frog, "f0", with full sails set would be printed as "F0".
        !           277: .PP
        !           278: When a ship is battered into a listing hulk, the last man aboard "strikes
        !           279: the colors."  This ceremony is the ship's formal surrender.  The nationality
        !           280: character
        !           281: of a surrendered ship is printed as "!".  E.g. the Frog of our last example
        !           282: would soon be "!0".
        !           283: .PP
        !           284: A ship has a random chance of catching fire or sinking when it reaches the
        !           285: stage of listing hulk.  A sinking ship has a "~" printed for its nationality,
        !           286: and a ship on fire and about to explode has a "#" printed.
        !           287: .PP
        !           288: Captured ships become the nationality of the prize crew.  Therefore, if
        !           289: an American ship captures a British ship, the British ship will have an
        !           290: "a" printed for its nationality.  In addition, the ship number is changed
        !           291: to "&","'", "(", ,")", "*", or "+" depending upon the original number,
        !           292: be it 0,1,2,3,4, or 5.  E.g. the "b0" captured by an American becomes the
        !           293: "a&".  The "s4" captured by a Frog becomes the "f*".
        !           294: .PP
        !           295: The ultimate example is, of course, an exploding Brit captured by an
        !           296: American: "#&".
        !           297: .SH MOVEMENT
        !           298: Movement is the most confusing part of 
        !           299: .I Sail
        !           300: to many.  Ships can head in 8 directions:
        !           301: .nf
        !           302: 
        !           303:                                  0      0      0
        !           304:         b       b       b0      b       b       b       0b      b
        !           305:         0        0                                             0
        !           306: 
        !           307: .fi
        !           308: The stern of a ship moves when it turns.  The bow remains stationary.
        !           309: Ships can always turn, regardless of the wind (unless they are becalmed).
        !           310: All ships drift when they lose headway.  If a ship doesn't move forward
        !           311: at all for two turns, it will begin to drift.  If a ship has begun to
        !           312: drift, then it must move forward before it turns, if it plans to do
        !           313: more than make a right or left turn, which is always possible.
        !           314: .PP
        !           315: Movement commands to 
        !           316: .I Sail
        !           317: are a string of forward moves and turns.  An example is "l3".  It will
        !           318: turn a ship left and then move it ahead 3 spaces.  In the drawing above,
        !           319: the "b0" made 7 successive left turns.  When 
        !           320: .I Sail
        !           321: prompts you for a move, it prints three characters of import.  E.g.
        !           322: .nf
        !           323:        move (7, 4): 
        !           324: .fi
        !           325: The first number is the maximum number of moves you can make,
        !           326: including turns.  The second number is the maximum number of turns
        !           327: you can make.  Between the numbers is sometimes printed a quote "'".
        !           328: If the quote is present, it means that your ship has been drifting, and
        !           329: you must move ahead to regain headway before you turn (see note above).
        !           330: Some of the possible moves for the example above are as follows:
        !           331: .nf
        !           332: 
        !           333:        move (7, 4): 7
        !           334:        move (7, 4): 1
        !           335:        move (7, 4): d          /* drift, or do nothing */
        !           336:        move (7, 4): 6r
        !           337:        move (7, 4): 5r1
        !           338:        move (7, 4): 4r1r
        !           339:        move (7, 4): l1r1r2
        !           340:        move (7, 4): 1r1r1r1
        !           341: 
        !           342: .fi
        !           343: Because square riggers performed so poorly sailing into the wind, if at
        !           344: any point in a movement command you turn into the wind, the movement stops
        !           345: there.  E.g.
        !           346: .nf
        !           347: 
        !           348:        move (7, 4): l1l4
        !           349:        Movement Error;
        !           350:        Helm: l1l
        !           351: 
        !           352: .fi
        !           353: Moreover, whenever you make a turn, your movement allowance drops to
        !           354: min(what's left, what you would have at the new attitude).  In short,
        !           355: if you turn closer to the wind, you most likely won't be able to sail the
        !           356: full allowance printed in the "move" prompt.
        !           357: .PP
        !           358: Old sailing captains had to keep an eye constantly on the wind.  Captains
        !           359: in 
        !           360: .I Sail
        !           361: are no different.  A ship's ability to move depends on its attitide to the
        !           362: wind.  The best angle possible is to have the wind off your quarter, that is,
        !           363: just off the stern.  The direction rose on the side of the screen gives the
        !           364: possible movements for your ship at all positions to the wind.  Battle
        !           365: sail speeds are given first, and full sail speeds are given in parenthesis.
        !           366: .nf
        !           367: 
        !           368:                                 0 1(2)
        !           369:                                \\|/
        !           370:                                -^-3(6)
        !           371:                                /|\\
        !           372:                                 | 4(7)
        !           373:                                3(6)  
        !           374: 
        !           375: .fi
        !           376: Pretend the bow of your ship (the "^") is pointing upward and the wind is
        !           377: blowing from the bottom to the top of the page.  The
        !           378: numbers at the bottom "3(6)" will be your speed under battle or full
        !           379: sails in such a situation.  If the wind is off your quarter, then you
        !           380: can move "4(7)".  If the wind is off your beam, "3(6)".  If the wind is
        !           381: off your bow, then you can only move "1(2)".  Facing into the wind, you
        !           382: can't move at all.  Ships facing into the wind were said to be "in irons".
        !           383: .SH WINDSPEED AND DIRECTION
        !           384: The windspeed and direction is displayed as a little weather vane on the
        !           385: side of the screen.  The number in the middle of the vane indicates the wind
        !           386: speed, and the + to - indicates the wind direction.  The wind blows from
        !           387: the + sign (high pressure) to the - sign (low pressure).  E.g.
        !           388: .nf
        !           389: 
        !           390:                                |
        !           391:                                3
        !           392:                                +
        !           393: 
        !           394: .fi
        !           395: .PP
        !           396: The wind speeds are 0 = becalmed, 1 = light breeze, 2 = moderate breeze,
        !           397: 3 = fresh breeze, 4 = strong breeze, 5 = gale, 6 = full gale, 7 = hurricane.
        !           398: If a hurricane shows up, all ships are destroyed.
        !           399: .SH GRAPPLING AND FOULING
        !           400: If two ships collide, they run the risk of becoming tangled together.  This
        !           401: is called "fouling."  Fouled ships are stuck together, and neither can move.
        !           402: They can unfoul each other if they want to.  Boarding parties can only be
        !           403: sent across to ships when the antagonists are either fouled or grappled.
        !           404: .PP
        !           405: Ships can grapple each other by throwing grapnels into the rigging of
        !           406: the other.
        !           407: .PP
        !           408: The number of fouls and grapples you have are displayed on the upper
        !           409: right of the screen.
        !           410: .SH BOARDING
        !           411: Boarding was a very costly venture in terms of human life.  Boarding parties
        !           412: may be formed in 
        !           413: .I Sail
        !           414: to either board an enemy ship or to defend your own ship against attack.
        !           415: Men organized as Defensive Boarding Parties fight twice as hard to save
        !           416: their ship as men left unorganized.
        !           417: .PP
        !           418: The boarding strength of a crew depends upon its quality and upon the
        !           419: number of men sent.
        !           420: .SH CREW QUALITY
        !           421: The British seaman was world renowned for his sailing abilities.  American
        !           422: sailors, however, were actually the best seamen in the world.  Because the
        !           423: American Navy offered twice the wages of the Royal Navy, British seamen 
        !           424: who liked the sea defected to America by the thousands.
        !           425: .PP
        !           426: In 
        !           427: .I Sail,
        !           428: crew quality is quantized into 5 energy levels.  "Elite" crews can outshoot
        !           429: and outfight all other sailors.  "Crack" crews are next.  "Mundane" crews
        !           430: are average, and "Green" and "Mutinous" crews are below average.  A good
        !           431: rule of thumb is that "Crack" or "Elite" crews get one extra hit
        !           432: per broadside compared to "Mundane" crews.  Don't expect too much from
        !           433: "Green" crews.
        !           434: .SH BROADSIDES
        !           435: Your two broadsides may be loaded with four kinds of shot: grape, chain,
        !           436: round, and double.  You have guns and carronades in both the port and starboard
        !           437: batteries.  Carronades only have a range of two, so you have to get in
        !           438: close to be able to fire them.  You have the choice of firing at the hull
        !           439: or rigging of another ship.  If the range of the ship is greater than 6,
        !           440: then you may only shoot at the rigging.
        !           441: .PP
        !           442: The types of shot and their advantages are:
        !           443: .SH ROUND
        !           444: Range of 10.  Good for hull or rigging hits.
        !           445: .SH DOUBLE
        !           446: Range of 1.  Extra good for hull or rigging hits.
        !           447: Double takes two turns to load.
        !           448: .SH CHAIN
        !           449: Range of 3.  Excellent for tearing down rigging.
        !           450: Cannot damage hull or guns, though.
        !           451: .SH GRAPE
        !           452: Range of 1.  Sometimes devastating against enemy crews.
        !           453: .PP
        !           454: On the side of the screen is displayed some vital information about your
        !           455: ship:
        !           456: .nf
        !           457: 
        !           458:                        Load  D! R!
        !           459:                        Hull  9  
        !           460:                        Crew  4  4  2
        !           461:                        Guns  4  4  
        !           462:                        Carr  2  2 
        !           463:                        Rigg  5 5 5 5
        !           464: 
        !           465: .fi
        !           466: "Load" shows what your port (left) and starboard (right) broadsides are
        !           467: loaded with.  A "!" after the type of shot indicates that it is an initial
        !           468: broadside.  Initial broadside were loaded with care before battle and before
        !           469: the decks ran red with blood.  As a consequence, initial broadsides are a
        !           470: little more effective than broadsides loaded later.  A "*" after the type of
        !           471: shot indicates that the gun
        !           472: crews are still loading it, and you cannot fire yet.  "Hull" shows how much
        !           473: hull you have left.  "Crew" shows your three sections of crew.  As your
        !           474: crew dies off, your ability to fire decreases.  "Guns" and "Carr" show
        !           475: your port and starboard guns.  As you lose guns, your ability to fire
        !           476: decreases.  "Rigg" shows how much rigging you have on your 3 or 4 masts.
        !           477: As rigging is shot away, you lose mobility.
        !           478: .SH EFFECTIVENESS OF FIRE
        !           479: It is very dramatic when a ship fires its thunderous broadsides, but the
        !           480: mere opportunity to fire them does not guarantee any hits.  Many factors
        !           481: influence the destructive force of a broadside.  First of all, and the chief
        !           482: factor, is distance.  It is harder to hit a ship at range ten than it is
        !           483: to hit one sloshing alongside.  Next is raking.  Raking fire, as
        !           484: mentioned before, 
        !           485: can sometimes dismast a ship at range ten.  Next, crew size and quality affects
        !           486: the damage done by a broadside.   The number of guns firing also bears on the
        !           487: point,
        !           488: so to speak.  Lastly, weather affects the accuracy of a broadside.  If the
        !           489: seas are high (5 or 6), then the lower gunports of ships of the line can't
        !           490: even be opened to run out the guns.  This gives frigates and other flush
        !           491: decked vessels an advantage in a storm.  The scenario 
        !           492: .I Pellew vs. The Droits de L'Homme
        !           493: takes advantage of this peculiar circumstance.
        !           494: .SH REPAIRS
        !           495: Repairs may be made to your Hull, Guns, and Rigging at the slow rate of
        !           496: two points per three turns.  The message "Repairs Completed" will be
        !           497: printed if no more repairs can be made.
        !           498: .SH PECULIARITIES OF COMPUTER SHIPS
        !           499: Computer ships in 
        !           500: .I Sail
        !           501: follow all the rules above with a few exceptions.  Computer ships never
        !           502: repair damage.  If they did, the players could never beat them.  They
        !           503: play well enough as it is.  As a consolation, the computer ships can fire double
        !           504: shot every turn.  That fluke is a good reason to keep your distance.  The
        !           505: .I
        !           506: Driver
        !           507: figures out the moves of the computer ships.   It computes them with a typical
        !           508: A.I. distance function and a depth first search to find the maximum "score."
        !           509: It seems to work fairly well, although I'll be the first to admit it isn't
        !           510: perfect.
        !           511: .SH HOW TO PLAY
        !           512: Commands are given to 
        !           513: .I Sail
        !           514: by typing a single character.  You will then be prompted for further
        !           515: input.  A brief summary of the commands follows.
        !           516: .bp
        !           517: .SH COMMAND SUMMARY
        !           518: .nf
        !           519: 
        !           520:     'f'  Fire broadsides if they bear
        !           521:     'l'  Reload
        !           522:     'L'  Unload broadsides (to change ammo)
        !           523:     'm'  Move 
        !           524:     'i'  Print the closest ship
        !           525:     'I'  Print all ships
        !           526:     'F'  Find a particular ship or ships (e.g. "a?" for all Americans)
        !           527:     's'  Send a message around the fleet
        !           528:     'b'  Attempt to board an enemy ship
        !           529:     'B'  Recall boarding parties
        !           530:     'c'  Change set of sail
        !           531:     'r'  Repair
        !           532:     'u'  Attempt to unfoul
        !           533:     'g'  Grapple/ungrapple
        !           534:     'v'  Print version number of game
        !           535:    '^L'  Redraw screen
        !           536:     'Q'  Quit
        !           537: 
        !           538:     'C'      Center your ship in the window
        !           539:     'U'             Move window up
        !           540:     'D','N'  Move window down
        !           541:     'H'             Move window left
        !           542:     'J'             Move window right
        !           543:     'S'      Toggle window to follow your ship or stay where it is
        !           544: 
        !           545: .fi
        !           546: .bg
        !           547: .SH SCENARIOS
        !           548: Here is a summary of the scenarios in 
        !           549: .I Sail:
        !           550: 
        !           551: .br
        !           552: .SH Ranger vs. Drake:
        !           553: .nf
        !           554: Wind from the N, blowing a fresh breeze.
        !           555: 
        !           556: (a) Ranger            19 gun Sloop (crack crew) (7 pts)
        !           557: (b) Drake             17 gun Sloop (crack crew) (6 pts)
        !           558: .SH The Battle of Flamborough Head:
        !           559: .nf
        !           560: Wind from the S, blowing a fresh breeze.
        !           561: 
        !           562: .fi
        !           563: This is John Paul Jones' first famous battle.  Aboard the Bonhomme
        !           564: Richard, he was able to overcome the Serapis's greater firepower
        !           565: by quickly boarding her.
        !           566: .nf
        !           567: 
        !           568: (a) Bonhomme Rich     42 gun Corvette (crack crew) (11 pts)
        !           569: (b) Serapis           44 gun Frigate (crack crew) (12 pts)
        !           570: .SH Arbuthnot and Des Touches:
        !           571: .nf
        !           572: Wind from the N, blowing a gale.
        !           573: 
        !           574: (b) America           64 gun Ship of the Line (crack crew) (20 pts)
        !           575: (b) Befford           74 gun Ship of the Line (crack crew) (26 pts)
        !           576: (b) Adamant           50 gun Ship of the Line (crack crew) (17 pts)
        !           577: (b) London            98 gun 3 Decker SOL (crack crew) (28 pts)
        !           578: (b) Royal Oak         74 gun Ship of the Line (crack crew) (26 pts)
        !           579: (f) Neptune           74 gun Ship of the Line (average crew) (24 pts)
        !           580: (f) Duc Bougogne      80 gun 3 Decker SOL (average crew) (27 pts)
        !           581: (f) Conquerant        74 gun Ship of the Line (average crew) (24 pts)
        !           582: (f) Provence          64 gun Ship of the Line (average crew) (18 pts)
        !           583: (f) Romulus           44 gun Ship of the Line (average crew) (10 pts)
        !           584: .SH Suffren and Hughes:
        !           585: .nf
        !           586: 
        !           587: Wind from the S, blowing a fresh breeze.
        !           588: 
        !           589: (b) Monmouth          74 gun Ship of the Line (average crew) (24 pts)
        !           590: (b) Hero              74 gun Ship of the Line (crack crew) (26 pts)
        !           591: (b) Isis              50 gun Ship of the Line (crack crew) (17 pts)
        !           592: (b) Superb            74 gun Ship of the Line (crack crew) (27 pts)
        !           593: (b) Burford           74 gun Ship of the Line (average crew) (24 pts)
        !           594: (f) Flamband          50 gun Ship of the Line (average crew) (14 pts)
        !           595: (f) Annibal           74 gun Ship of the Line (average crew) (24 pts)
        !           596: (f) Severe            64 gun Ship of the Line (average crew) (18 pts)
        !           597: (f) Brilliant         80 gun Ship of the Line (crack crew) (31 pts)
        !           598: (f) Sphinx            80 gun Ship of the Line (average crew) (27 pts)
        !           599: .SH Nymphe vs. Cleopatre:
        !           600: .nf
        !           601: Wind from the S, blowing a fresh breeze.
        !           602: 
        !           603: (b) Nymphe            36 gun Frigate (crack crew) (11 pts)
        !           604: (f) Cleopatre         36 gun Frigate (average crew) (10 pts)
        !           605: .SH Mars vs. Hercule:
        !           606: Wind from the S, blowing a fresh breeze.
        !           607: .nf
        !           608: (b) Mars              74 gun Ship of the Line (crack crew) (26 pts)
        !           609: (f) Hercule           74 gun Ship of the Line (average crew) (23 pts)
        !           610: .SH Ambuscade vs. Baionnaise:
        !           611: .nf
        !           612: Wind from the N, blowing a fresh breeze.
        !           613: 
        !           614: (b) Ambuscade         32 gun Frigate (average crew) (9 pts)
        !           615: (f) Baionnaise        24 gun Corvette (average crew) (9 pts)
        !           616: .SH Constellation vs. Insurgent:
        !           617: .nf
        !           618: Wind from the S, blowing a gale.
        !           619: 
        !           620: (a) Constellation     38 gun Corvette (elite crew) (17 pts)
        !           621: (f) Insurgent         36 gun Corvette (average crew) (11 pts)
        !           622: .SH Constellation vs. Vengeance:
        !           623: .nf
        !           624: Wind from the S, blowing a fresh breeze.
        !           625: 
        !           626: (a) Constellation     38 gun Corvette (elite crew) (17 pts)
        !           627: (f) Vengeance         40 gun Frigate (average crew) (15 pts)
        !           628: .SH The Battle of Lissa:
        !           629: .nf
        !           630: Wind from the S, blowing a fresh breeze.
        !           631: 
        !           632: (b) Amphion           32 gun Frigate (elite crew) (13 pts)
        !           633: (b) Active            38 gun Frigate (elite crew) (18 pts)
        !           634: (b) Volage            22 gun Frigate (elite crew) (11 pts)
        !           635: (b) Cerberus          32 gun Frigate (elite crew) (13 pts)
        !           636: (f) Favorite          40 gun Frigate (average crew) (15 pts)
        !           637: (f) Flore             40 gun Frigate (average crew) (15 pts)
        !           638: (f) Danae             40 gun Frigate (crack crew) (17 pts)
        !           639: (f) Bellona           32 gun Frigate (green crew) (9 pts)
        !           640: (f) Corona            40 gun Frigate (green crew) (12 pts)
        !           641: (f) Carolina          32 gun Frigate (green crew) (7 pts)
        !           642: .SH Constitution vs. Guerriere:
        !           643: .nf
        !           644: Wind from the SW, blowing a gale.
        !           645: 
        !           646: (a) Constitution      44 gun Corvette (elite crew) (24 pts)
        !           647: (b) Guerriere         38 gun Frigate (crack crew) (15 pts)
        !           648: .SH United States vs. Macedonian:
        !           649: .nf
        !           650: Wind from the S, blowing a fresh breeze.
        !           651: 
        !           652: (a) United States     44 gun Frigate (elite crew) (24 pts)
        !           653: (b) Macedonian        38 gun Frigate (crack crew) (16 pts)
        !           654: .SH Constitution vs. Java:
        !           655: .nf
        !           656: Wind from the S, blowing a fresh breeze.
        !           657: 
        !           658: (a) Constitution      44 gun Corvette (elite crew) (24 pts)
        !           659: (b) Java              38 gun Corvette (crack crew) (19 pts)
        !           660: .SH Chesapeake vs. Shannon:
        !           661: .nf
        !           662: Wind from the S, blowing a fresh breeze.
        !           663: 
        !           664: (a) Chesapeake        38 gun Frigate (average crew) (14 pts)
        !           665: (b) Shannon           38 gun Frigate (elite crew) (17 pts)
        !           666: .SH The Battle of Lake Erie:
        !           667: .nf
        !           668: Wind from the S, blowing a light breeze.
        !           669: 
        !           670: (a) Lawrence          20 gun Sloop (crack crew) (9 pts)
        !           671: (a) Niagara           20 gun Sloop (elite crew) (12 pts)
        !           672: (b) Lady Prevost      13 gun Brig (crack crew) (5 pts)
        !           673: (b) Detroit           19 gun Sloop (crack crew) (7 pts)
        !           674: (b) Q. Charlotte      17 gun Sloop (crack crew) (6 pts)
        !           675: .SH Wasp vs. Reindeer:
        !           676: .nf
        !           677: Wind from the S, blowing a light breeze.
        !           678: 
        !           679: (a) Wasp              20 gun Sloop (elite crew) (12 pts)
        !           680: (b) Reindeer          18 gun Sloop (elite crew) (9 pts)
        !           681: .SH Constitution vs. Cyane and Levant:
        !           682: .br
        !           683: Wind from the S, blowing a moderate breeze.
        !           684: 
        !           685: (a) Constitution      44 gun Corvette (elite crew) (24 pts)
        !           686: (b) Cyane             24 gun Sloop (crack crew) (11 pts)
        !           687: (b) Levant            20 gun Sloop (crack crew) (10 pts)
        !           688: .br
        !           689: .SH Pellew vs. Droits de L'Homme:
        !           690: .nf
        !           691: Wind from the N, blowing a gale.
        !           692: 
        !           693: (b) Indefatigable     44 gun Frigate (elite crew) (14 pts)
        !           694: (b) Amazon            36 gun Frigate (crack crew) (14 pts)
        !           695: (f) Droits L'Hom      74 gun Ship of the Line (average crew) (24 pts)
        !           696: .SH Algeciras:
        !           697: .nf
        !           698: Wind from the SW, blowing a moderate breeze.
        !           699: 
        !           700: (b) Caesar            80 gun Ship of the Line (crack crew) (31 pts)
        !           701: (b) Pompee            74 gun Ship of the Line (crack crew) (27 pts)
        !           702: (b) Spencer           74 gun Ship of the Line (crack crew) (26 pts)
        !           703: (b) Hannibal          98 gun 3 Decker SOL (crack crew) (28 pts)
        !           704: (s) Real-Carlos       112 gun 3 Decker SOL (green crew) (27 pts)
        !           705: (s) San Fernando      96 gun 3 Decker SOL (green crew) (24 pts)
        !           706: (s) Argonauta         80 gun Ship of the Line (green crew) (23 pts)
        !           707: (s) San Augustine     74 gun Ship of the Line (green crew) (20 pts)
        !           708: (f) Indomptable       80 gun Ship of the Line (average crew) (27 pts)
        !           709: (f) Desaix            74 gun Ship of the Line (average crew) (24 pts)
        !           710: .SH Lake Champlain:
        !           711: .nf
        !           712: Wind from the N, blowing a fresh breeze.
        !           713: 
        !           714: (a) Saratoga          26 gun Sloop (crack crew) (12 pts)
        !           715: (a) Eagle             20 gun Sloop (crack crew) (11 pts)
        !           716: (a) Ticonderoga       17 gun Sloop (crack crew) (9 pts)
        !           717: (a) Preble            7 gun Brig (crack crew) (4 pts)
        !           718: (b) Confiance         37 gun Frigate (crack crew) (14 pts)
        !           719: (b) Linnet            16 gun Sloop (elite crew) (10 pts)
        !           720: (b) Chubb             11 gun Brig (crack crew) (5 pts)
        !           721: .SH Last Voyage of the USS President:
        !           722: .nf
        !           723: Wind from the N, blowing a fresh breeze.
        !           724: 
        !           725: (a) President         44 gun Frigate (elite crew) (24 pts)
        !           726: (b) Endymion          40 gun Frigate (crack crew) (17 pts)
        !           727: (b) Pomone            44 gun Frigate (crack crew) (20 pts)
        !           728: (b) Tenedos           38 gun Frigate (crack crew) (15 pts)
        !           729: .SH Hornblower and the Natividad:
        !           730: .nf
        !           731: Wind from the E, blowing a gale.
        !           732: 
        !           733: .fi
        !           734: A scenario for you Horny fans.  Remember, he sank the Natividad
        !           735: against heavy odds and winds.  Hint: don't try to board the Natividad,
        !           736: her crew is much bigger, albeit green.
        !           737: .nf
        !           738: 
        !           739: (b) Lydia             36 gun Frigate (elite crew) (13 pts)
        !           740: (s) Natividad         50 gun Ship of the Line (green crew) (14 pts)
        !           741: .SH Curse of the Flying Dutchman:
        !           742: .nf
        !           743: Wind from the S, blowing a fresh breeze.
        !           744: 
        !           745: Just for fun, take the Piece of cake.
        !           746: 
        !           747: (s) Piece of Cake     24 gun Corvette (average crew) (9 pts)
        !           748: (f) Flying Dutchy     120 gun 3 Decker SOL (elite crew) (43 pts)
        !           749: .SH The South Pacific:
        !           750: .nf
        !           751: Wind from the S, blowing a strong breeze.
        !           752: 
        !           753: (a) USS Scurvy        136 gun 3 Decker SOL (mutinous crew) (27 pts)
        !           754: (b) HMS Tahiti        120 gun 3 Decker SOL (elite crew) (43 pts)
        !           755: (s) Australian        32 gun Frigate (average crew) (9 pts)
        !           756: (f) Bikini Atoll      7 gun Brig (crack crew) (4 pts)
        !           757: .SH Hornblower and the battle of Rosas bay:
        !           758: .nf
        !           759: Wind from the E, blowing a fresh breeze.
        !           760: 
        !           761: The only battle Hornblower ever lost.  He was able to dismast one
        !           762: ship and stern rake the others though.  See if you can do as well.
        !           763: .nf
        !           764: 
        !           765: (b) Sutherland        74 gun Ship of the Line (crack crew) (26 pts)
        !           766: (f) Turenne           80 gun 3 Decker SOL (average crew) (27 pts)
        !           767: (f) Nightmare         74 gun Ship of the Line (average crew) (24 pts)
        !           768: (f) Paris             112 gun 3 Decker SOL (green crew) (27 pts)
        !           769: (f) Napolean          74 gun Ship of the Line (green crew) (20 pts)
        !           770: .SH Cape Horn:
        !           771: .nf
        !           772: Wind from the NE, blowing a strong breeze.
        !           773: 
        !           774: (a) Concord           80 gun Ship of the Line (average crew) (27 pts)
        !           775: (a) Berkeley          98 gun 3 Decker SOL (crack crew) (28 pts)
        !           776: (b) Thames            120 gun 3 Decker SOL (elite crew) (43 pts)
        !           777: (s) Madrid            112 gun 3 Decker SOL (green crew) (27 pts)
        !           778: (f) Musket            80 gun 3 Decker SOL (average crew) (27 pts)
        !           779: .SH New Orleans:
        !           780: .nf
        !           781: Wind from the SE, blowing a fresh breeze.
        !           782: 
        !           783: Watch that little Cypress go!
        !           784: 
        !           785: (a) Alligator         120 gun 3 Decker SOL (elite crew) (43 pts)
        !           786: (b) Firefly           74 gun Ship of the Line (crack crew) (27 pts)
        !           787: (b) Cypress           44 gun Frigate (elite crew) (14 pts)
        !           788: .SH Botany Bay:
        !           789: .nf
        !           790: Wind from the N, blowing a fresh breeze.
        !           791: 
        !           792: (b) Shark             64 gun Ship of the Line (average crew) (18 pts)
        !           793: (f) Coral Snake       44 gun Corvette (elite crew) (24 pts)
        !           794: (f) Sea Lion          44 gun Frigate (elite crew) (24 pts)
        !           795: .SH Voyage to the Bottom of the Sea:
        !           796: .nf
        !           797: Wind from the NW, blowing a fresh breeze.
        !           798: 
        !           799: This one is dedicated to Richard Basehart and David Hedison.
        !           800: 
        !           801: (a) Seaview           120 gun 3 Decker SOL (elite crew) (43 pts)
        !           802: (a) Flying Sub        40 gun Frigate (crack crew) (17 pts)
        !           803: (b) Mermaid           136 gun 3 Decker SOL (mutinous crew) (27 pts)
        !           804: (s) Giant Squid       112 gun 3 Decker SOL (green crew) (27 pts)
        !           805: .SH Frigate Action:
        !           806: .nf
        !           807: Wind from the E, blowing a fresh breeze.
        !           808: 
        !           809: (a) Killdeer          40 gun Frigate (average crew) (15 pts)
        !           810: (b) Sandpiper         40 gun Frigate (average crew) (15 pts)
        !           811: (s) Curlew            38 gun Frigate (crack crew) (16 pts)
        !           812: .SH The Battle of Midway:
        !           813: .nf
        !           814: Wind from the E, blowing a moderate breeze.
        !           815: 
        !           816: (a) Enterprise        80 gun Ship of the Line (crack crew) (31 pts)
        !           817: (a) Yorktown          80 gun Ship of the Line (average crew) (27 pts)
        !           818: (a) Hornet            74 gun Ship of the Line (average crew) (24 pts)
        !           819: (j) Akagi             112 gun 3 Decker SOL (green crew) (27 pts)
        !           820: (j) Kaga              96 gun 3 Decker SOL (green crew) (24 pts)
        !           821: (j) Soryu             80 gun Ship of the Line (green crew) (23 pts)
        !           822: 
        !           823: .SH Star Trek:
        !           824: .nf
        !           825: Wind from the S, blowing a fresh breeze.
        !           826: 
        !           827: (a) Enterprise        450 gun Ship of the Line (elite crew) (75 pts)
        !           828: (a) Yorktown          450 gun Ship of the Line (elite crew) (75 pts)
        !           829: (a) Reliant           450 gun Ship of the Line (elite crew) (75 pts)
        !           830: (a) Galileo           450 gun Ship of the Line (elite crew) (75 pts)
        !           831: (k) Kobayashi Maru    450 gun Ship of the Line (elite crew) (75 pts)
        !           832: (k) Klingon II        450 gun Ship of the Line (elite crew) (75 pts)
        !           833: (o) Red Orion         450 gun Ship of the Line (elite crew) (75 pts)
        !           834: (o) Blue Orion        450 gun Ship of the Line (elite crew) (75 pts)
        !           835: 
        !           836: .SH CONCLUSION
        !           837: 
        !           838: .I Sail
        !           839: has been a group effort.
        !           840: 
        !           841: .SH "Ken Arnold Code"
        !           842: curses library (pu!)
        !           843: .SH AUTHOR
        !           844: Dave Riggle
        !           845: .SH CO-AUTHOR
        !           846: Ed Wang 
        !           847: .SH REFITTING
        !           848: Craig Leres
        !           849: .SH CONSULTANTS
        !           850: .nf
        !           851: Chris Guthrie
        !           852: Captain Happy
        !           853: Horatio Nelson
        !           854: Nancy Reagan
        !           855:        and many valiant others...
        !           856: .fi
        !           857: .SH "REFERENCES"
        !           858: .nf
        !           859: Wooden Ships & Iron Men, by Avalon Hill
        !           860: Captain Horatio Hornblower Novels, (13 of them) by C.S. Forester
        !           861: Captain Richard Bolitho Novels, (12 of them) by Alexander Kent
        !           862: The Complete Works of Captain Frederick Marryat, (about 20) especially
        !           863:        Mr. Midshipman Easy
        !           864:        Peter Simple
        !           865:        Jacob Faithful
        !           866:        Japhet in Search of a Father
        !           867:        Snarleyyow, or The Dog Fiend
        !           868:        Frank Mildmay, or The Naval Officer
        !           869: .fi
        !           870: .SH "SEE ALSO"
        !           871: midway(PUBLIC)
        !           872: .SH BUGS
        !           873: Probably a few, and please report them to "riggle@ernie" and "edward@arpa."

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.