Provided by: manpages-ja_0.5.0.0.20210215+dfsg-1_all
名称
sail - マルチユーザ版ゲーム「帆船の戦い」
書式
sail [ -s [ -l ] ] [ -x ] [ -b ] [ num ]
解説
sail は、もともとは、S. Craig Taylor によって開発された、アバロンヒル社の戦闘帆船 ボード ゲームのコンピュータ版です。 sail のプレイヤは、旧式の戦艦の指揮をとり他のプレイヤやコンピュータと 戦います。 プレイヤ は、ゲームの中に記録された数多くの歴史上の海戦の中の 1 つを再現しても よいし、空想上の戦闘 を選ぶこともできます。 sail 海軍の艦長として、プレイヤは自分の艦の活動については完全な管理ができます。 プレイヤは 全ての操作を命令し、帆装を変更し、そして片舷斉射の恐ろしい破壊力 を解き放つ正しい瞬間を判 断しなければなりません。 更に、敵と戦うことに加えて、プレイヤは、風と海の力を味方につけて 自分のために働かせなければなりません。 帆船時代の多くの海戦の勝敗は、ある 1 人の艦長の '風 上' をとる能力により 決せられました。 フラグは: -s 上位 10 位までの船員の名前と艦を表示します。 -l ログイン名を表示します。-s とともに指定したときだけ有効です。 -x どの艦にするかという選択を求められるかわりに、 最初に利用できる艦でプレイします。 -b ベルを鳴らしません。
実装
sail は実は 2 つのプログラムを 1 つにまとめたものです。 各プレイヤは彼自身の船を動作させる プロセスを起動します。 それに加えて、(最初のプレイヤによって) 起動された ドライバ[driver] プロセスが、コンピュータ船を動作させ、 さらに全体にわたる記録計算を引き受けて処理します。 ドライバ プロセスは、それが制御している全ての船の動きを計算しなければならないので、 より多 くの船をコンピュータがプレイすればするほど、ゲームはよりゆっくり進行 しているように見える でしょう。 もし、あるプレイヤが現在進行中のゲームに参加したとすると、 他のプレイヤと同期して同じ速度 になるでしょう (皆にすれば 幾分か遅くなります)。 そして、その後、彼は他のプレイヤと同じ速 度でプレイするでしょう。 マルチユーザゲームを Version 7 UNIX — これは sail がその上で最初に書かれたオペレーティング システムでした — に実装するためには、 通信しているプロセスがメッセージを読み書きする場所と して共通の一時ファイル を使う必要がありました。 それに加えて、共有ファイルへの排他的アクセ スを保証するため、 ロック機構が供給されなければなりませんでした。 例えば、 sail はシナリオ 21 については、 /tmp/#sailsink.21 という名前の一時ファイルを使います。 そして、他のシナリ オに対してはそれに類するファイル名を使用します。 一時ファイルへの排他的アクセスを供給する ために、 sail は Jeff Cohen 作の "pubcaves" と呼ばれる古いゲームから盗んだテクニックを 使っています。 "/tmp/#saillock.??" という名前のファイル ("??" はゲームのシナリオ番号に対応 しています) への リンクを作成できるまでの間、プロセスが次のようなループ for (n = 0; link(sync_file, sync_lock) < 0 && n < 30; n++) sleep(2); でビジーウェイトをしています。 UNIX はリンクが唯一つのファイル をポイントするものであるこ とを保証しているので、リンクに成功したプロセスは 一時ファイルへの排他的アクセスを獲得しま す。 この仕組みが実際に機能するかどうかについては、さらなる考察が必要でしょう。 それというの も、マシン ucbmiro (=miro.berkeley.edu の BITNET アドレス) が 暴走してリブートしたと き、ファイルシステム検査プログラムによって、 sail の一時ファイルとそれがリンクしているファ イルの間に、3 個のリンクが発見され ましたから。
プレイヤプロセスとドライバプロセスとを分離した結果
プレイヤ達が移動や発砲などの全体の興味に関わる重要な行動をするときには、 ドライバプロセス はゲーム中の他の船の行動とその行動とを 調整しなければなりません。 例えば、もしあるプレイヤ がある方向に移動したい場合には、彼の 船を移動させることをドライバプロセスに要求するメッ セージを、 一時ファイルに書き込まなければ なりません。 ターンのたびに、ドライバプロセスは プレイヤ達から送られたメッセージを 全て読んで、起こったことを決定します。 それから、ドライ バプロセスは変数の新しい値などを一時ファイル に書き戻します。 この通信がゲームに及ぼす最も顕著な効果は移動の遅れです。 もしもプレイヤが彼の船の移動をタ イプして、リターンキーを叩いたとしましょう。 次に何が起こるでしょうか? プレイヤプロセスは 一時ファイルに書き込むべきメッセージをバッファに 溜込みます。 およそ 7 秒おきに、プレイヤ プロセスは一時ファイルへの排他的アクセス を獲得して、そのバッファを一時ファイルに書き出し ます。 ドライバプロセスは非同期的に動作しています。これは、移動コマンドを 読み込み、そのコ マンドを処理し、そしてその結果を書き出さなければなりません。 これには、一時ファイルへの 2 回の排他的アクセスを必要とします。 最後に、プレイヤプロセスがもう 1 回の更新にやっと取り掛 かる頃、 移動の結果がスクリーン上に表示されます。 それゆえ、プレイヤが自分が行なった移動結 果を知るまでに、 移動それぞれにつき、一時ファイルへ排他的アクセス 4 回 (1 回の排他的アクセ スに 7 秒から 21 秒の間のどれくらいの時間を要するかは、 非同期性に依存しています) が要求さ れます。 実際は、遅れはそう見えるほどには厄介なものではありません。 移動には、パイプライン処理の余 地があります。 プレイヤは 1 番めの移動メッセージを書き込んだあと、2 番目の移動コマンドを 入力できます。 1 番目のメッセージは、一時ファイルの中でドライバプロセスの読み込みを 待ちま す。そして、 2 番目のメッセージは、ファイルバッファにあってファイルに書き出されるのを待っ て います。 そういうわけで、常に 1 回だけターンを先行して移動コマンドを打ち込むことで、 プ レイヤは十分素早く帆走することができます。 もしプレイヤが 7 秒間隔の更新 2 回の間に数個の移動コマンドを 打ち込んだとすると、ドライバ プロセスに見えるのは最後の移動コマンドだけです。 同じ更新期間中の複数の移動コマンドは、あ る意味で互いに上書きし合います。
SAILの歴史
筆者は sail の最初のバージョンを 1980 年の秋に PDP 11/70 の上で書きました。 言うまでもな く、コードは恐ろしいもので、 移植可能とはとうてい言えるものでもなく、そして動きもしません でした。 プログラムは、全くモジュール化されていない上に、数行おきに fseek() や fwrite() が ありました。 トップダウン手法による徹底的な書き換えによって、1981 年までに筆者は最初の 機 能するバージョンを仕上げました。 片舷斉射の発射や方角の発見に関していくつかのやっかいなバ グがありました。 ところで、 sail は浮動小数点を使っていません。それで、方角についてのルー チンは、すこし 手が込んだものになっています。 Ed Wang は、1981 年に angle() ルーチンをより 間違いのないものに書き換えました。 (しかしながら、それは、まだ完全には機能していません)。 そして、彼はゲームの始めで (最初に利用可能な船の代わりに) プレイヤが 自分の望む船を選べる ようなコードを加えました。 ハッピィ艦長 (Craig Leres) が、 sail を移植可能にすることに初めて責任をもちました。 ちなみ に、これはとても難しい仕事でした。2 や 10 といった定数が コードにはとても頻繁に現れま す。また、 sail の中で「Riggle 記念構造体 ("Dave Riggle":筆者)」を使ってしまった というこ とでも名前を売ってしまったぐらいですし。 筆者の構造体参照の多くはとても長いので、ラインプ リンタの印字ページを はみ出してしまいます。もし、笑わないと約束して下さるなら、ここに一例 を お見せしましょう。 specs[scene[flog.fgamenum].ship[flog.fshipnum].shipnum].pts sail には、1983 年の夏と秋に最も徹底的な 4 回目の書き換えがなされました。 Ed Wang はコード を殆ど何もない状態から書き換えモジュール化しました (記念碑的な偉業です)。 彼は、多くの新し いバグを導入したにもかかわらず、最終的な結果は とても奇麗で、(?) より速いものになりまし た。彼は、ウィンドウ移動コマンド と艦船発見コマンドを加えました。
歴史的情報
古い横帆船 [Square Rigger] は、複雑な帆走が可能で、とても操作しやすい船です。 これら横帆船 の唯一つの弱点は、風上にぎりぎりに間切って帆走できない ことです。 木造船の設計は大砲を左舷 と右舷の方向に向けることだけを考慮していました。 少数の小さな大砲 (通常 6 ポンド砲か 9 ポ ンド砲) だけが前方に狙いをつける ことができました。しかし、それらの砲は、68 門の 24 ポンド 砲か 32 ポンド砲 からなる舷側砲の片舷斉射に比べれば、その効果は小さいものでした。 大砲は大 体つぎのような方向に向けられます。 \ b---------------- ---0 \ \ \ 10の範囲まで (砲丸 [round shot] の場合) \ \ \ 片舷斉射が敵艦の縦方向に打ち抜かれたときには、興味深い現象が起きました。 砲弾は甲板 [こう はん] に沿ってはねまわり数倍の損害を加えがちでした。 この現象は縦射 [rake] と呼ばれまし た。船の船首 [bow] は非常に強固で船尾 [stern] より小さな標的だったので、船尾縦射 [stern rake](船尾より船首の方向の着弾) は船首縦射 [bow rake] によるよりも大きな損害を与えました。 b 00 ---- 船尾縦射 [stern rake]! a 大抵の船は、カロネード砲 [carronade] を装備していました。この大砲は、 非常に大きく、射程距 離の短いものでした。 アメリカの艦船にはフランス革命から 1812 年の戦争 (米英戦争) まで、 ほ ぼすべての艦船に カロネード砲が装備されていました。 sail で扱っている時代は、ほぼ 1770 年代から 1815 年にナポレオンのフランス支配が 終るまでで す。 帆船時代に関しては、素晴らしい本が多くあります。筆者の好きな作家は Captain Frederick Marryat です。 もっと現代の作家達の中では、C.S. Forester や Alexander Kent です。 艦船には、装備された兵器で区別される分類があります。 どの艦隊でもメインマストをなす艦船 は、戦列艦 [Ship of the Line]、即ち、 戦列をなす戦艦 [Line of Battle Ship] です。 これらの 艦船がこのように名付けられた理由は、これらが大きな列 を作って交戦するからです。 彼らは、互 いに助け合えるぐらい近くに位置しますが、それでも、 どの艦もその両舷側の片舷斉射 [broadside] を 発射できるようにします。 現代の「遠洋定期船 [ocean liner]」とか「定期船 [liner]」、 そして「戦艦 [battleship]」という言葉は 「戦列艦 [Ship of the Line]」から派生 したものです。 最もありふれた分類は、74 砲門で 2 層甲板の戦列艦です。 2 層の砲列甲板には普 通 18 ポンド砲か 24 ポンド砲が搭載してありました。 第 1 に来る分類は、艦隊の誇りとなる船です。 これらの艦船は、80 砲門から 136 砲門の大砲を搭 載した巨大な 3 層甲板戦列艦です。 3 層の大砲は、普通 18 ポンド砲、24 ポンド砲、そして 32 ポンド砲でした。 これらの大砲は、この順番で上から下に搭載されていました。 他のさまざまな船が次の分類になります。 これらの戦艦は殆んど全て「レイジー[razee]」、すなわ ち、甲板を 1 層切り落とした 戦列艦です。 これらの戦列艦は、40-64 砲門の大砲を搭載した、 フ リゲート艦 [frigate] と戦列艦 の貧弱なあいのこです。 レイジーには、フリゲート艦のスピード もなければ、戦列艦の火力も ありませんでした。 その次に来る分類が、「艦隊の目」です。 フリゲート艦 [frigate] は 32 砲門から 44 砲門の大砲 をどこにでも搭載していて 大きさはさまざまです。 これらは、大変便利な船です。 フリゲート艦 は、より大きな船に対しては航行速度でまさり、より小さな船に 対しては火力でまさります。 フリ ゲート艦は、ずっと大きな 74 砲門の戦列艦がやるように戦列を組んで 戦ったりはしませんでし た。 その代わり、これらの船は、敵の背後をおびやかし、傷ついて戦えなくなった船を だ捕しまし た。 これらの船は、艦隊から離れて行なう任務で、はるかに効果を発揮しました。 例えば、長い航 海を短縮するとか、ボートによる戦闘を切り開くとかの任務です。 これらは、強力な一撃のあ と、ずばやく引くことができました。 最後に来る分類には、コルベット艦 [corvette](平甲板 1 段砲装の帆装戦艦)、 スループ帆船 [sloop](1 本マストの縦帆船)、そして ブリッグ帆船 [brig](2 本マストの横帆船) があります。 これらは、一般的には 20 砲門以下の大砲を搭載しているより小さな船です。 コルベット艦は、フ リゲート艦よりほんのちょっと小さいだけなので 30 砲門までの 大砲を載せられたでしょう。 ス ループ帆船は急送公文書や船客を搬送するのに使われました。 ブリッグ帆船は陸地で囲まれた湖の ために建造されたものです。
SAIL 固有の詳細
sail では、船は 2 文字で表されます。 1 番目の文字は、船首 [bow] を表します。もう一方の文字 は、 船尾 [stern] を表します。 船には、船籍と番号があります。 ある船籍の最初の船は番号 0 です。2 番目の船は番号 1、などなど。 したがって、ゲームの最初の英国船は「b0」と印字されま す。 2番目の英国野郎は「b1」、そして、5 番目のスペイン紳士は 「s4」となります。 船は、戦闘帆 [Battle Sail] と呼ばれている通常の帆装をつけられます。 また、それに加えて総帆 [Full Sail] と呼ばれる全帆を結びつけられます。 総帆の船は本当に美しい眺めです。 そして、総 帆の船は戦闘帆装の船よりずっと速く航行できます。 総帆装についての唯一の問題は、帆と索具に 非常に大きな応力がかかるので、 狙い澄ました砲丸は、帆をちりじりに引き裂いてしまうことがで きるということです。 これにひきかえ、ゆるんだ帆には、砲丸は小さな穴しか開けられません。 こ の理由で、総帆装をつけた船では、索具への損傷は 2 倍になります。 このことで、総帆を使うこと を思いとどまらないで下さい。 筆者は、総帆を戦闘たけなわとなるまで維持するのが好きです。 総 帆装の船には船籍として大文字を設定します。 例えば、蛙食いのフランス野郎「f0」が総帆であれ ば、「F0」と印字されます。 船が、傾いた廃船 [listing hulk] になるまで叩き潰されたときは、 最後まで残っていた者が 「旗 を下ろして降伏」します。 この儀式は、船の正式な降伏です。 降伏した船の船籍文字は、「!」と して印字されます。 例えば、最後の例のフランス野郎は、すぐに「!0」になるでしょう。 船が傾いた廃船の段階に至ったときには、 船が出火したり沈没したりする可能性が確率的に生じま す。 沈みつつある船は、その船籍として「~」が印字されます。 出火していて、今にも爆発しそう なときには、「#」が印字されます。 だ捕された船はだ捕船回航員の船籍になります。 それゆえ、もしアメリカ船が英国船をだ捕したな らば、英国船の船籍として、「a」 が印字されます。 更に、船の番号は最初の番号しだいで 「&」,「'」, 「(」, ,「)」, 「*」, 及び 「+」 につけかえられます。 例えば、アメリカ船にだ 捕された「b0」は、「a&」となります。 フランス野郎にだ捕された「s4」は「f*」となります。 究極の例は、もちろん、アメリカ船に捕獲された爆発しそうな イギリス野郎です:「#&」
移動
多くの人にとって、移動は sail の最も困惑させられる部分でしょう。 艦船は 8 方向を向くことが できます: 0 0 0 b b b0 b b b 0b b 0 0 0 艦艇が舵を切ると、その船の「船尾 [stern]」が動きます。 「船首 [bow]」は、動きません。 (風 が凪いでさえいなければ)、風には関係なく船はいつでも舵を切ることができます。 すべての船 は、船足を失ったときには漂流してしまいます。 もし、船が 2 ターンの間に全く前進しなければ、 その船は漂流し始めます。 もし船が漂流し始めた場合、もし「面舵 [right turn]」を切るか、 「 取舵 [left turn]」を切る以外のことをしようとしているなら、 舵を切る前にまず前進しなければ なりません。 ちなみに、面舵や取舵を切ることはいつでも可能です。 sail の移動コマンドは、いくつかの前進と旋回からなる文字列です。 例としては、「l3」がありま す。これは、船に取舵を切らせて、 3 スペース分 前進させます。 上図では、「b0」は 7 回連続し て取舵を切っています。 sail が移動入力を催促するときには、データ取り込みのための 3 文字を 印字します。 例えば、 move (7, 4): 最初の数字は、旋回を含めて、移動できる最大数です。 2 番めの数字は、可能な旋回の最大数で す。 時々、数字の間に引用符号の「'」が印字されます。 もし引用符号があれば、それは、船が漂 流していることを意味しています。 このとき、舵を切る前に船足を取り戻すため前進しなければな りません (上の説明を参照のこと)。 上述の例で可能な移動のいくつかは、次のようなものです: move (7, 4): 7 move (7, 4): 1 move (7, 4): d /* 漂流、または 何もしない */ move (7, 4): 6r move (7, 4): 5r1 move (7, 4): 4r1r move (7, 4): l1r1r2 move (7, 4): 1r1r1r1 横帆船は、風上に向かって帆走することには全く惨めなほど 機能を果たしませんでした。 そのた め、移動コマンド列のどこかで風上を向いてしまったら、 移動はそこで止まってしまいます。例え ば、 move (7, 4): l1l4 Movement Error; Helm: l1l ------ (Helm = 舵輪、舵の動き) そのうえ、旋回を行なうときにはいつでも、移動の許容限度は最小に まで低下します (残っている ものといえば、新しい態勢で持てるはずのものです)。 要するに、もし風上によりぎりぎりに間切っ て舵を切れば、 「move」プロンプトに表示される全許容量を帆走することは、 全くできそうにあり ません。 昔の帆船の船長たちは、風について常に気を配っていなければなりませんでした。 sail の艦長達 も、全く同じです。 船の移動する能力は、風に対する態勢に依存しています。 可能な角度のうち最 善のものは、船尾から 45 度の方角から風を受けることです。 即ち、船尾からちょっとずれた方角 からです。 スクリーンの脇に現れる指示によって、風に対する方位全てに対する、その船に 可能な 移動を知ることができます。 これは、まず、戦闘帆での速度を示し、 次に、総帆での速度を括弧内 に示します。 0 1(2) \|/ -^-3(6) /|\ | 4(7) 3(6) 船の船首(「^」で表します)が上を向いており、風がページの下から上へ 吹いているとしましょう。 1 番下の「3(6)」という数字は、その状況での戦闘帆と総帆での速度を表すでしょう。 もし、風が (後方) 45 度から吹いていれば、は「4(7)」移動できます。 もし、風が帆桁方向から (横風) であ れば、「3(6)」です。 もし、風が船首からちょっとずれた方向からであれば、 「1(2)」だけしか移 動できません。 風に対面してしまったら、全く移動できません。 風に対面してしまった船は、「枷 をかけられた」と言われていました。
風速と風向き
風速と風向きは画面の脇に小さな風信器として表示されます。 風信器の真中の数字は、風速を表し ます。 そして、+ から - への向きは、風向きを示します。 風は+符号 (高気圧) から - 符号 (低 気圧) への向きに吹きます。 例えば、 | 3 + 風速は、 0 = 静穏 [becalmed]、 1 = 軽風 [light breeze]、 2 = 和風 [moderate breeze]、 3 = 疾風 [fresh breeze]、 4 = 雄風 [strong breeze]、 5 = 疾強風 [gale]、 6 = 全強風 [full gale]、 7 = ぐ風 [hurricane]。 ぐ風があらわれたら、全艦船が壊滅してしまいます。
鈎錨による引っかけと絡まり
もし、2隻の船が衝突したら、彼らは互いに絡まってしまう危険を冒しています。 これは、「絡まり [fouling]」と呼ばれています。 絡まった船は、一緒にくっついてしまい、どちらも動けません。 双方が望む場合、彼らは絡まりを解除することもできます。 乗船乱入団を他の船に送り出せるの は、敵艦を絡めたか鈎錨で引っかけたときに 限られます。 船は四つ爪錨 [grapnel] を他の船の索具 [rigging] に投げつけることにより 引っかけることがで きます。 船が保持している絡まりと鈎錨の引っかけの数は画面の右上に表示されます。
乗船乱入
乗船乱入は、人命の点からすると非常に費用のかかる冒険でした。 sail では、乗船乱入団が作られ るのは次の場合です。 つまり、敵艦に乗船乱入するためか、攻撃に対抗して自分自身の艦を守るた め かのいずれかです。 防衛のための乗船乱入団として組織された人々は組織されぬままの人々よ り2倍も 激しく自艦を守って戦います。 乗船乱入団の乗船乱入攻撃の強さは、送られる乗員の質と数により決まります。
乗員の質
英国の船乗りは、彼らの航行能力の優秀さで世界中に盛名を馳せました。 しかし、実は、世界一の 船員は、アメリカの船員だったのです。 何故かといえば、アメリカ海軍は、王立海軍の賃金の 2 倍 を支払ったので、 海の好きな英国の船員は数千の単位でアメリカへ逃亡したからです。 sail では、乗員の質は、5 つのエネルギーレベルに量子化されます。 「精鋭 [Elite]」な乗員 は、他の全ての船乗りに対して、 射撃能力においても格闘能力においても凌駕できます。 「一流 [Crack]」な乗員が、次に来ます。 「普通 [Mandane]」な乗員は平均的です。 「未熟 [Green]」な 乗員と「反抗的 [Mutinous]」な乗員は、平均以下です。 上手な目の子勘定としては、「一流」と「 精鋭」な乗員は 「普通」な乗員に比して片舷斉射あたり 1 発余分に命中させます。 「未熟」な乗 員にはあまり多くを期待しないことです。
舷側砲[broadsides]
各舷側砲 [broadsides] には、次の 4 種類の砲弾を装填できます: ぶどう弾 [grape]、鎖弾 [chain]、砲丸 [round]、2 連発 [double]。 大砲 [gun] とカロネード砲 [carronade] を、 左舷 [port] と右舷 [starboard] の両砲郭に 搭載できます。 カロネード砲 [carronade] は 2 の射程距 離しかありません。 そのため、カロネード砲を発射できるほど近付かなければなりません。 他の船 の船殻 [hull] を砲撃するか、索具 [rigging] を砲撃するかを 選択することができます。 もし船 の距離が 6 よりも遠ければ、読者は索具を砲撃できるだけです。 砲弾の型とその長所は:
砲丸[round]
10 の射程距離。船殻と索具のいずれの砲撃にも適しています。
2 連発[double]
1 の射程距離。船殻と索具のいずれの砲撃にも非常に適しています。 2 連発は、装填するのに 2 ターンが必要です。
鎖弾[chain]
3 の射程距離。 索具を粉砕してしまうのに特に優れています。 しかし、船殻や大砲に損害を加える ことはできません。
ぶどう弾[grape]
1 の射程距離。 たまに、敵乗員に圧倒的な効果を示します。 スクリーンの脇には、自分の船に関する極めて重要な情報が表示されます: Load D! R! Hull 9 Crew 4 4 2 Guns 4 4 Carr 2 2 Rigg 5 5 5 5 「Load (装填)」は、左舷と右舷それぞれの砲に どのような砲弾が装填されているかを示します。 砲弾の後の「!」はそれが最初の片舷斉射であることを示します。 最初の片舷斉射は、戦闘の前 に、そして甲板が血で真っ赤に染まる前に、 注意深く装填されています。 その結果、最初の片舷斉 射は、後で装填したときの片舷斉射より若干効果的です。 砲弾の型のあとの「*」は、砲側員がまだ その砲弾を装填中で、 まだ発砲できないことを示します。 「Hull (船殻)」は、どれくらいの船殻 が残されているかを示します。 「Crew (乗員)」は、3 つの区画ごとの乗員を示します。 乗員が死 ぬにつれて、読者は砲撃力を失なっていきます。 「Guns (大砲)」と「Carr (カロネード 砲)」は、左舷と右舷の 大砲を示します。 大砲を失うと、それだけ砲撃力を失います。 「Rigg (索 具)」は、3 本マストや 4 本マストにどれくらいの索具が残って いるかを示します。 索具が打ち払 われるにつれて、機動力が失われてゆきます。
砲撃の効果
船が雷のような大音響をとどろかせて片舷の砲を発射するときは、とても 劇的です。 しかし、ただ 行き当たりばったりに片舷斉射を行なっても、 命中は全く保証されません。 片舷斉射の破壊力に は、多くの要素が影響します。 まず第 1 の、そして、主要な要因は、距離です。 10 の距離にある 船を砲撃する方が、すぐ横に並んで波を蹴立てて進んでいる 船を砲撃するより困難です。 次は、縦 射 [rake] です。 以前に記述した通り、縦射砲撃は、10 の距離にある船の帆柱 をときには折り倒 すことができます。 その次には、乗員の数と質が片舷斉射による損害に影響します。 発砲する大砲 の数もまた、いわば、実を結んで得点になると言えます。 最後に、天候が片舷斉射の正確さに影響 します。 もしも、波が高ければ (5 または 6)、戦列艦は下側の砲門を開くことさえできず、 大砲 を出せません。 このことにより、嵐の中では、フリゲート艦や他の平甲板の船は有利になります。 シナリオの Pellew vs. The Droits de L'Homme (ペルー艦長対人権号) は、この特殊な状況を利用 しています。
修理
船殻、大砲、索具に対して修理を行なうことができます。3 ターンにつき 2 ポイントの遅い割合で 修理が進みます。 それ以上の修理ができなくなったときには、「修理完了 [Repair Completed]」の メッセージが表示されます。
コンピュータ船の特性
sail におけるコンピュータ船は、上述の全ての規則に従いますが、しかし少数の 例外があります。 コンピュータ船は、決して損害を修理しません。 もし、コンピュータ船が修理をしたら、プレイヤ 達はコンピュータ船に決して 勝てないでしょう。 しかし、今のままでも既に彼らは、十分良くやっ ています。 慰めとして、コンピュータ船はターンごとに 2 連発の砲撃を行なえます。 まぐれ当た りもあるので、プレイヤの船は 近付かないのが、合理的というものでしょう。 ドライバプロセス が、コンピュータ船の動きを計算します。 ドライバプロセス は、典型的な A.I. の距離関数と縦型 検索によってコンピュータ船の動きを 計算することで、 最高「得点」を発見します。 これは、か なりうまく機能しているように見えます。 しかしながら、この A.I. が完璧でないことは筆者が 真っ先に認めましょう。
遊び方
sail にコマンドを与えるには、文字を 1 文字タイプします。 そのとき、更に入力するよう催促さ れます。 コマンドの短い要約を次に示します。
コマンドの要約
'f' 可能なら、片舷斉射を行ないます 'l' 再装填 'L' 舷側砲から弾を抜きます (弾薬を交換するため) 'm' 移動 'i' 最寄りの船を表示 'I' 全艦船を表示 'F' 特定パターンの船を 1 隻または数隻探します (例えば全アメリカ船は「a?」) 's' 艦隊全体にメッセージを送信 'b' 敵艦への乗船乱入の試み 'B' 乗船乱入隊を呼び返します 'c' 帆装を交換 'r' 修理 'u' 絡んだ索具をほどく試み 'g' 鈎錨を引っかける/はずす 'v' ゲームのバージョンナンバの表示 '^L' 画面の再描画 'Q' 終了 'C' 読者の船をウィンドウの真中にします 'U' ウィンドウを上へ移動 'D','N' ウィンドウを下へ移動 'H' ウィンドウを左へ移動 'J' ウィンドウを右へ移動 'S' ウィンドウを自分の船についていかせるか今の位置を保つかを反転
シナリオ
以下に、 sail のシナリオの要約を示します:
Ranger vs. Drake:
北からの風、疾風。 (a) Ranger 19 砲門 スループ帆船 (一流の乗員) (7 点) (b) Drake 17 砲門 スループ帆船 (一流の乗員) (6 点)
The Battle of Flamborough Head:
南からの風、疾風。 これは、ジョン・ポール・ジョーンズの最初の有名な海戦です。 ボノム・リシャールに乗り組んだ 彼は、素早くセラピスに乗船乱入したおかげで、 セラピスの優勢な火力を克服できました。 (a) Bonhomme Rich 42 砲門 コルベット艦 (一流の乗員) (11 点) (b) Serapis 44 砲門 フリゲート艦 (一流の乗員) (12 点)
Arbuthnot and Des Touches:
北からの風、疾強風。 (b) America 64 砲門 戦列艦 (一流の乗員) (20 点) (b) Befford 74 砲門 戦列艦 (一流の乗員) (26 点) (b) Adamant 50 砲門 戦列艦 (一流の乗員) (17 点) (b) London 98 砲門 3 層甲板 戦列艦 (一流の乗員) (28 点) (b) Royal Oak 74 砲門 戦列艦 (一流の乗員) (26 点) (f) Neptune 74 砲門 戦列艦 (平均の乗員) (24 点) (f) Duc de Bourgogne 80 砲門 3 層甲板 戦列艦 (平均の乗員) (27 点) (f) Conquerant 74 砲門 戦列艦 (平均の乗員) (24 点) (f) Provence 64 砲門 戦列艦 (平均の乗員) (18 点) (f) Romulus 44 砲門 戦列艦 (平均の乗員) (10 点)
Suffren and Hughes:
南からの風、疾風。 (b) Monmouth 74 砲門 戦列艦 (平均の乗員) (24 点) (b) Hero 74 砲門 戦列艦 (一流の乗員) (26 点) (b) Isis 50 砲門 戦列艦 (一流の乗員) (17 点) (b) Superb 74 砲門 戦列艦 (一流の乗員) (27 点) (b) Burford 74 砲門 戦列艦 (平均の乗員) (24 点) (f) Flamband 50 砲門 戦列艦 (平均の乗員) (14 点) (f) Annibal 74 砲門 戦列艦 (平均の乗員) (24 点) (f) Severe 64 砲門 戦列艦 (平均の乗員) (18 点) (f) Brilliant 80 砲門 戦列艦 (一流の乗員) (31 点) (f) Sphinx 80 砲門 戦列艦 (平均の乗員) (27 点)
Nymphe vs. Cleopatre:
南よりの風、疾風。 (b) Nymphe 36 砲門 フリゲート艦 (一流の乗員) (11 点) (f) Cleopatre 36 砲門 フリゲート艦 (平均の乗員) (10 点)
Mars vs. Hercule:
南からの風、疾風。 (b) Mars 74 砲門 戦列艦 (一流の乗員) (26 点) (f) Hercule 74 砲門 戦列艦 (平均の乗員) (23 点)
Ambuscade vs. Baionnaise:
北からの風、疾風。 (b) Ambuscade 32 砲門 フリゲート艦 (平均の乗員) (9 点) (f) Baionnaise 24 砲門 コルベット艦 (平均の乗員) (9 点)
Constellation vs. Insurgent:
南からの風、疾強風。 (a) Constellation 38 砲門 コルベット艦 (精鋭な乗員) (17 点) (f) Insurgent 36 砲門 コルベット艦 (平均の乗員) (11 点)
Constellation vs. Vengeance:
南からの風、疾風。 (a) Constellation 38 砲門 コルベット艦 (精鋭な乗員) (17 点) (f) Vengeance 40 砲門 フリゲート艦 (平均の乗員) (15 点)
The Battle of Lissa:
南からの風、疾風。 (b) Amphion 32 砲門 フリゲート艦 (精鋭な乗員) (13 点) (b) Active 38 砲門 フリゲート艦 (精鋭な乗員) (18 点) (b) Volage 22 砲門 フリゲート艦 (精鋭な乗員) (11 点) (b) Cerberus 32 砲門 フリゲート艦 (精鋭な乗員) (13 点) (f) Favorite 40 砲門 フリゲート艦 (平均の乗員) (15 点) (f) Flore 40 砲門 フリゲート艦 (平均の乗員) (15 点) (f) Danae 40 砲門 フリゲート艦 (一流の乗員) (17 点) (f) Bellona 32 砲門 フリゲート艦 (未熟な乗員) (9 点) (f) Corona 40 砲門 フリゲート艦 (未熟な乗員) (12 点) (f) Carolina 32 砲門 フリゲート艦 (未熟な乗員) (7 点)
Constitution vs. Guerriere:
南西からの風、疾強風。 (a) Constitution 44 砲門 コルベット艦 (精鋭な乗員) (24 点) (b) Guerriere 38 砲門 フリゲート艦 (一流の乗員) (15 点)
United States vs. Macedonian:
南からの風、疾風。 (a) United States 44 砲門 フリゲート艦 (精鋭な乗員) (24 点) (b) Macedonian 38 砲門 フリゲート艦 (一流の乗員) (16 点)
Constitution vs. Java:
南からの風、疾風。 (a) Constitution 44 砲門 コルベット艦 (精鋭な乗員) (24 点) (b) Java 38 砲門 コルベット艦 (一流の乗員) (19 点)
Chesapeake vs. Shannon:
南からの風、疾風。 (a) Chesapeake 38 砲門 フリゲート艦 (平均の乗員) (14 点) (b) Shannon 38 砲門 フリゲート艦 (精鋭な乗員) (17 点)
The Battle of Lake Erie:
南からの風、軽風。 (a) Lawrence 20 砲門 スループ帆船 (一流の乗員) (9 点) (a) Niagara 20 砲門 スループ帆船 (精鋭な乗員) (12 点) (b) Lady Prevost 13 砲門 ブリッグ帆船 (一流の乗員) (5 点) (b) Detroit 19 砲門 スループ帆船 (一流の乗員) (7 点) (b) Q. Charlotte 17 砲門 スループ帆船 (一流の乗員) (6 点)
Wasp vs. Reindeer:
南からの風、軽風。 (a) Wasp 20 砲門 スループ帆船 (精鋭な乗員) (12 点) (b) Reindeer 18 砲門 スループ帆船 (精鋭な乗員) (9 点)
Constitution vs. Cyane and Levant:
南からの風、和風。 (a) Constitution 44 砲門 コルベット艦 (精鋭な乗員) (24 点) (b) Cyane 24 砲門 スループ帆船 (一流の乗員) (11 点) (b) Levant 20 砲門 スループ帆船 (一流の乗員) (10 点)
Pellew vs. Droits de L'Homme:
北からの風、疾強風。 (b) Indefatigable 44 砲門 フリゲート艦 (精鋭な乗員) (14 点) (b) Amazon 36 砲門 フリゲート艦 (一流の乗員) (14 点) (f) Droits L'Hom 74 砲門 戦列艦 (平均の乗員) (24 点)
Algeciras:
南西からの風、和風。 (b) Caesar 80 砲門 戦列艦 (一流の乗員) (31 点) (b) Pompee 74 砲門 戦列艦 (一流の乗員) (27 点) (b) Spencer 74 砲門 戦列艦 (一流の乗員) (26 点) (b) Hannibal 98 砲門 3 層甲板 戦列艦 (一流の乗員) (28 点) (s) Real-Carlos 112 砲門 3 層甲板 戦列艦 (未熟な乗員) (27 点) (s) San Fernando 96 砲門 3 層甲板 戦列艦 (未熟な乗員) (24 点) (s) Argonauta 80 砲門 戦列艦 (未熟な乗員) (23 点) (s) San Augustine 74 砲門 戦列艦 (未熟な乗員) (20 点) (f) Indomptable 80 砲門 戦列艦 (平均の乗員) (27 点) (f) Desaix 74 砲門 戦列艦 (平均の乗員) (24 点)
Lake Champlain:
北からの風、疾風。 (a) Saratoga 26 砲門 スループ帆船 (一流の乗員) (12 点) (a) Eagle 20 砲門 スループ帆船 (一流の乗員) (11 点) (a) Ticonderoga 17 砲門 スループ帆船 (一流の乗員) (9 点) (a) Preble 7 砲門 ブリッグ帆船 (一流の乗員) (4 点) (b) Confiance 37 砲門 フリゲート艦 (一流の乗員) (14 点) (b) Linnet 16 砲門 スループ帆船 (精鋭な乗員) (10 点) (b) Chubb 11 砲門 ブリッグ帆船 (一流の乗員) (5 点)
Last Voyage of the USS President:
北からの風、疾風。 (a) President 44 砲門 フリゲート艦 (精鋭な乗員) (24 点) (b) Endymion 40 砲門 フリゲート艦 (一流の乗員) (17 点) (b) Pomone 44 砲門 フリゲート艦 (一流の乗員) (20 点) (b) Tenedos 38 砲門 フリゲート艦 (一流の乗員) (15 点)
Hornblower and the Natividad:
東からの風、疾強風。 ホーニィ・ファンの読者のためのシナリオです。 思い起こしていただきたい事は、 ホーンブロワー は、大きな不利と風に抗してナティビダッドを沈めたことです。 ヒント:ナティビダッドに乗船乱入 しようとしないで下さい。 この船の乗員は、未熟ではありますが、ずっと多いのです。 (b) Lydia 36 砲門 フリゲート艦 (精鋭な乗員) (13 点) (s) Natividad 50 砲門 戦列艦 (未熟な乗員) (14 点)
Curse of the Flying Dutchman(さまよえるオランダ人の呪い):
南からの風、疾風。 ちょっとした戯れです。Piece of Cake の側を取って下さい。 (s) Piece of Cake 24 砲門 コルベット艦 (平均の乗員) (9 点) (f) Flying Dutchy 120 砲門 3 層甲板 戦列艦 (精鋭な乗員) (43 点)
The South Pacific:
南からの風、雄風。 (a) USS Scurvy 136 砲門 3 層甲板 戦列艦 (反抗的乗員) (27 点) (b) HMS Tahiti 120 砲門 3 層甲板 戦列艦 (精鋭な乗員) (43 点) (s) Australian 32 砲門 フリゲート艦 (平均の乗員) (9 点) (f) Bikini Atoll 7 砲門 ブリッグ帆船 (一流の乗員) (4 点)
Hornblower and the battle of Rosas bay:
東からの風、疾風。 ホーンブロワーが負けた唯一の海戦です。 しかし、彼は1隻の船のマストを折り、他の船達に船尾縦射を撃ちました。 あなたも同じだけの戦果が挙げられるでしょうか。 (b) Sutherland 74 砲門 戦列艦 (一流の乗員) (26 点) (f) Turenne 80 砲門 3 層甲板 戦列艦 (平均の乗員) (27 点) (f) Nightmare 74 砲門 戦列艦 (平均の乗員) (24 点) (f) Paris 112 砲門 3 層甲板 戦列艦 (未熟な乗員) (27 点) (f) Napoleon 74 砲門 戦列艦 (未熟な乗員) (20 点)
Cape Horn:
北東からの風、雄風。 (a) Concord 80 砲門 戦列艦 (平均の乗員) (27 点) (a) Berkeley 98 砲門 3 層甲板 戦列艦 (一流の乗員) (28 点) (b) Thames 120 砲門 3 層甲板 戦列艦 (精鋭な乗員) (43 点) (s) Madrid 112 砲門 3 層甲板 戦列艦 (未熟な乗員) (27 点) (f) Musket 80 砲門 3 層甲板 戦列艦 (平均の乗員) (27 点)
New Orleans:
南東からの風、疾風。 小さな Cypress が行ってしまうのに気をつけて下さい! (a) Alligator 120 砲門 3 層甲板 戦列艦 (精鋭な乗員) (43 点) (b) Firefly 74 砲門 戦列艦 (一流の乗員) (27 点) (b) Cypress 44 砲門 フリゲート艦 (精鋭な乗員) (14 点)
Botany Bay:
北からの風、疾風。 (b) Shark 64 砲門 戦列艦 (平均の乗員) (18 点) (f) Coral Snake 44 砲門 コルベット艦 (精鋭な乗員) (24 点) (f) Sea Lion 44 砲門 フリゲート艦 (精鋭な乗員) (24 点)
Voyage to the Bottom of the Sea:
北西からの風、疾風。 このシナリオは、Richard BasehartとDavid Hedisonに捧げるものです。 (a) Seaview 120 砲門 3 層甲板 戦列艦 (精鋭な乗員) (43 点) (a) Flying Sub 40 砲門 フリゲート艦 (一流の乗員) (17 点) (b) Mermaid 136 砲門 3 層甲板 戦列艦 (反抗的乗員) (27 点) (s) Giant Squid 112 砲門 3 層甲板 戦列艦 (未熟な乗員) (27 点)
Frigate Action:
東からの風、疾風。 (a) Killdeer 40 砲門 フリゲート艦 (平均の乗員) (15 点) (b) Sandpiper 40 砲門 フリゲート艦 (平均の乗員) (15 点) (s) Curlew 38 砲門 フリゲート艦 (一流の乗員) (16 点)
The Battle of Midway:
東からの風、和風。 (a) Enterprise 80 砲門 戦列艦 (一流の乗員) (31 点) (a) Yorktown 80 砲門 戦列艦 (平均の乗員) (27 点) (a) Hornet 74 砲門 戦列艦 (平均の乗員) (24 点) (j) Akagi 112 砲門 3 層甲板 戦列艦 (未熟な乗員) (27 点) (j) Kaga 96 砲門 3 層甲板 戦列艦 (未熟な乗員) (24 点) (j) Soryu 80 砲門 戦列艦 (未熟な乗員) (23 点)
Star Trek:
南からの風、疾風。 (a) Enterprise 450 砲門 戦列艦 (精鋭な乗員) (75 点) (a) Yorktown 450 砲門 戦列艦 (精鋭な乗員) (75 点) (a) Reliant 450 砲門 戦列艦 (精鋭な乗員) (75 点) (a) Galileo 450 砲門 戦列艦 (精鋭な乗員) (75 点) (k) Kobayashi Maru 450 砲門 戦列艦 (精鋭な乗員) (75 点) (k) Klingon II 450 砲門 戦列艦 (精鋭な乗員) (75 点) (o) Red Orion 450 砲門 戦列艦 (精鋭な乗員) (75 点) (o) Blue Orion 450 砲門 戦列艦 (精鋭な乗員) (75 点)
結語
sail は共同作業の成果です。
作者
Dave Riggle
共作者
Ed Wang
改訂
Craig Leres
顧問
Chris Guthrie Captain Happy Horatio Nelson そして他の多くの優れた人々...
参考文献
Wooden Ships & Iron Men, by Avalon Hill Game Co. (ボードゲーム) Captain Horatio Hornblower Novels, (13 of them) by C.S. Forester 「海の男/ホーンブロワー・シリーズ」 早川書房、セシル・スコット・フォレスター Captain Richard Bolitho Novels, (12 of them) by Alexander Kent 「海の勇士/ボライソー・シリーズ」 早川書房、アレグザンダー・ケント The Complete Works of Captain Frederick Marryat, (about 20) Captain Frederick Marryat全集, (約20)特に Mr. Midshipman Easy Peter Simple Jacob Faithful Japhet in Search of a Father Snarleyyow, or The Dog Fiend Frank Mildmay, or The Naval Officer
バグ
多分、少しはあると思います。 もし、バグを見つけたらどうか "riggle@ernie.berkeley.edu" と "edward@ucbarpa.berkeley.edu" にお知らせ下さい。