Spaceships - rules <s> Introduction: <ss> <def/Spaceships/ is a zero-sum game for two players, which can be played either as a single <r/game/ or a series of games making up a <r/scored match/ or <r/continued match/. <ss> It is played in two <def/space/s, one for each player. <sss> Each space is a 3-dimensional 5x5x5 grid of cubical <def/cell/s of which <sss> only the identity and relationship between the cells (not the size, exact shape, orientation or handedness) is relevant. <sss> Cells are <def/adjacent/ if they share a face; <sss> cells are <def/loosely adjacent/ if they share any face, edge or vertex. <sss> <lab/multi adj/A set of several cells is said to be <r/adjacent/ or <r/loosely adjacent/ if each cell in the set is adjacent or loosely adjacent (respectively) to at least one other cell in the set. <sss> The spaces do not `wrap'. <ss> The object of the game is to cause all of your opponent's <r/ship/s to be <r t="shipdes"/destroyed/ before they destroy yours. <ss> Spaceships is not a game of perfect information. Players record their play privately, revealing only certain information to each other, and <sss> reveal their records of their play for checking by the other player after each <r/game/ is finished. <sss> <lab/trust/Mutually trusting players need not reveal their records of the game to each other. <s> A <def/game/ consists of the following phases: <ss> <def/Setup/: each player secretly records<rq/grid/ the locations and <r t="identity"/identities/ of their <r/ship/s. <rq/type notation/, <rq/identity notation/ <ss> Thereafter play proceeds in <def/turn/s. During each turn: <sss> the two players first secretly record<rq/actrecord/ their <r/action/s for that turn and the effects of those actions; when both players have done so <sss> each reveals the <r/visible aspect/s of these actions to the other<lab/visasp reveal/. <sss> Each player secretly records the effects of these visible aspects, and makes known their <def/visible result/s. <sss> <lab/destroyreport/Finally (or earlier <rq/earlydesrep/), each player reports to the other the types, locations and identities of any of their ships which will be <r t="shipdes"/destroyed/ at the end of the turn, and <r/flashcube data/ is exchanged. <sss> There is a <r/conventional notation/ which includes a conventional <r t="coordinate"/coordinate system/, and a conventional <r/interaction ordering/ for the players' reports to each other. <sss> The actions, their availability, their effects and visible aspects, and the possible effects and visible results are defined in <rq/action/ and <rq/visible aspect/. <ss> <def t="terminate"/Termination/: <sss> If at the end of a <r/turn/ either player has no <r/ship/s which are not <r t="shipdes"/destroyed/ the game terminates immediately. <sss> If at the start of a <r/turn/ either player has no possible <r/action/s other than <r/kamikaze strike/s and <r/scan/s, and during that turn that player does not record any actions other than scans, then the game terminates at the end of the turn. <sss> A player's <def/score/ in a game is the amount of <r/remaining materiel/ they have when the game terminates. <sss> The winner of a game is the player with the higher score; if both players have the same score then the game is a draw. <sss> A player's <def/remaining materiel/ is the number of <r/undamaged/ cells in their <r/ship/s. <ss> References to the state of a <r/cell/ or <r/ship/ refer to the state at the start of the <r/turn/, unless otherwise specified. <s> A <def/ship/ is a tuple consisting of <ss> a <r/type/, <ss> a subset of the cells in a player's <r/space/ recorded as such by that player in the <r/setup/ phase of the game, and <ss> an <def/identity/ which distinguishes it from any other ships of the same type belonging to the same player. <ss> No two ships (belonging to the same player) may intersect. <ss> Each ship's subset of the space must conform to the <r t="shape"/shape requirements/ for its type. <ss> Each player must record exactly as many ships of each type as are in that player's <r/fleet/. <ss> Each player's <def/fleet/ consists of a <r/death star/, a <r/kill cruiser/, either a <r/flying saucer/ or a <r/patrol cruiser/, a <r/missile destroyer/, and either a <r/light scout/ or a <r/heavy scout/, plus any <r/additional ship/s due to to the rules for <r/continued match/es. <sss> Optionally, the players may agree that each player's fleet consists of any combination (or some restricted combination) of ships whose total <r/cost/ is 24 (or some other number), plus any <r t="additional ship"/additional cost/ due to the rules for <r/continued match/es. <ss> After <r/setup/ each cell belonging to a ship is either <def/undamaged/ or <def/destroyed/. Every such cell is undamaged immediately after setup; it may become destroyed during the game. <ss> A ship is <def/damaged/ when some but not all of its cells are <r/destroyed/. <ss> A ship is <def t="shipdes"/destroyed/ when all of its cells are <r/destroyed/. <s> <def/Action/s: <ss> The player taking an action is called the <def/active player/; the other player is called the <def/passive player/. Note that in each turn each player is both the active player (with respect to their own actions) and the passive player (with respect to their opponent's). <ss> Each player may make in a <r/turn/ any combination of their available actions insofar as they are permitted by the rules for those actions. <ss> The information to be recorded for each action and its effects and <r/visible aspect/s are specified with each action in the list below: <ss> <def/Conventional strike/s: <sss> Unless otherwise stated, a single conventional strike may be launched per <r/turn/ for every non-overlapping <r/adjacent/ pair of <r/undamaged/ cells belonging to the same <r/ship/. <sss> A conventional strike must be recorded as such together with the <r/coordinate/s of the single <r/target/ cell. <rq/strike notation/ <sss> A conventional strike has no effects on the <r/active player/. <sss> The <r/visible aspect/ of a conventional strike is a <r/strike/ on the target cell. <ss> For each <r/ship/ which does not entitle its player to a <r/conventional strike/ or <r/missile strike/ in a <r/turn/ the player may instead launch one <def/kamikaze strike/ in that turn: <sss> A kamikaze strike must be recorded as such together with the <r/coordinate/s of the <def/kamikaze launch/ and <r/target/ cells. <rq/kamikaze notation/ <sss> The kamikaze launch cell must be an <r/undamaged/ cell in the ship. <sss> Effect: the kamikaze launch cell becomes <r/destroyed/. <sss> The <r/visible aspect/s of a kamikaze strike are a <r/strike/ on the <r/target/ cell and the <r/kamikaze death/ of the kamikaze launch cell. <ss> A <r/ship/'s <r/type/ may entitle its player to additional actions due to <r/special weapon/s or otherwise, or may modify the rules for the standard actions above. <ss> The <r/active player/ need not record which <r/strike/s were enabled by which <r/ship/s and rules. <s> <def/Visible aspect/s. <ss> For each possible visible aspect, the information to be passed to the <r/passive player/, the visible aspect's possible effects on the passive player and the corresponding <r/visible result/s are specified in the list below: <ss> <def/Strike/s: <sss> A strike is identified as such and by the <def/target/ cell in the <r/passive player/'s space. <sss> If the target cell does not belong to a <r/ship/ there is no effect on the passive player and the visible result is a <def/miss/. <sss> If the target cell belongs to a ship and is <r/undamaged/ then the cell becomes <r/destroyed/ and the visible result is a <def/hit/. <sss> If the target cell belongs to a ship and is <r/destroyed/ when the strike is announced then there is no effect on the passive player and the visible result is a <def/duplicate hit/. <sss> Other rules may specifiy additional effects and visible results for a strike. <ss> A <def/beam strike/ (the visible aspect of a <r/beam weapon/) has the same visible aspect, effects on the passive player and visible results as a <r/strike/, except that its visible aspect identifies it as beam strike rather than a strike. <ss> A <def/kamikaze death/ <sss> is identified as such and by the <r/kamikaze launch/ cell in the <r/active player/'s space. <sss> A kamikaze death has no effect on the passive player and <sss> no visible results. <s> <def/Type/s of <r/ship/s: <ss> Each type of ship <sss> contains a fixed number of cells, <sss> has a characteristic <def/shape/ or set of shapes, <sss> has a <def/cost/, sometimes used for determining how many of each kind of ship are in each player's <r/fleet/, <sss> may have <r/special weapon/s which entitle the ship's player to additional <r/action/s, and <sss> may have other properties which vary the effect of the other rules and/or specify additional rules, when events involve ships of that type. <ss> A <def/death star/ <sss> contains eight cells, <sss> each of which is <r/adjacent/ to at least two other cells in the death star, <sss> and it must contain either a 2x2x2 cube or a 3x2x1 rectangle, of <r t="multi adj"/adjacent/ cells. <sss> Each death star entitles its player to only one <r/conventional strike/ per <r/turn/, but it does so until it is <r t="shipdes"/destroyed/. <sss> Each death star has a <r/beam weapon/. <sss> A death star has a <r/cost/ of 8. <ss> A <def/kill cruiser/ <sss> contains six <r t="multi adj"/adjacent/ cells <sss> in a 3x2x1 rectangle, and <sss> has a <r/cost/ of 6. <ss> A <def/flying saucer/ <sss> contains four <r t="multi adj"/adjacent/ cells <sss> in a 2x2x1 square, and <sss> has a <r/cost/ of 4. <ss> A <def/patrol cruiser/ <sss> contains four <r t="multi adj"/adjacent/ cells <sss> lying in a straight line, and <sss> has a <r/cost/ of 4. <ss> A <def/missile destroyer/ <sss> contains three <r t="multi adj"/adjacent/ cells <sss> lying in a straight line, <sss> each of which is a <r/missile/, and <sss> has a <r/cost/ of 3. <ss> A <def/heavy scout/ <sss> contains two <r/adjacent/ cells, <sss> has a <r/scanner/, and <sss> has a <r/cost/ of 3. <ss> A <def/light scout/ contains one cell, <sss> has a <r/scanner/, <sss> never entitles its player to a <r/kamikaze strike/, and <sss> has a <r/cost/ of 3. <ss> An <def/assault gunboat/ contains two <r/adjacent/ cells, <sss> each of which is a <r/missile/, and <sss> has a <r/cost/ of 2. <ss> A <def/light gunboat/ contains one cell, <sss> which is a <r/missile/, and <sss> has a <r/cost/ of 1. <s> <def/Flashcube data/: <ss> When a player <r t="destroyreport"/reports/ that one of their <r/ship/s has been <r t="shipdes"/destroyed/ the other player must report flashcube data for the <r/cell/s in their own <r/space/ corresponding to the cells in the destroyed ship. <ss> Flashcube data for a cell identifies <sss> whether or not that cell is part of a ship, and for cells which are part of a ship: <sss> whether that cell is <r/destroyed/ at the time the flashcube data is reported, <sss> the <r/type/ of the ship containing the cell, and <sss> if the player has more than one ship of that type, the <r/identity/ of the ship. <s> <def/Special weapon/s: <ss> A <def/missile/ is either an <def/unfired missile/ or a <def/fired missile/. <sss> After <r/setup/ each missile starts as an unfired missile; it may become a fired missile during the game. <sss> A cell ceases to be a missile if it is <r/destroyed/. <sss> Each <r/ship/ which contains an unfired missile entitles its player to exactly one <def/missile strike/ as an additional <r/action/ in that turn. <ssss> A missile strike must be recorded as such together with the identity of the <def/missile launch/ cell (which must be an unfired missile in the ship which enables the missile strike) and the <r/target/ cell. <rq/missile notation/ <ssss> The effect of a missile strike (on the <r/active player/) is to cause the missile launch cell to become a fired missile just before the <r/visible aspect/s are revealed<rq/visasp reveal/. <ssss> The visible aspect of a missile strike is a <r/strike/ on the <r/target/ cell. <sss> A <r/strike/ whose <r/target/ cell is still an unfired missile just after visible aspects are revealed additionally: <ssss> has the effect on the <r/passive player/ of causing any <r/adjacent/ <r/undamaged/ cells in the same <r/ship/ to become <r/destroyed/ and <ssss> has as visible results <def/missile explosion/s in the <r/target/ cell and any adjacent undamaged cells in the same ship. <ss> Each ship with a <def/beam weapon/ may entitle the player to one <def/beam weapon firing/ per turn as an additional <r/action/. <sss> The visible effects of the beam weapon are <r/beam strike/s in three <r/target/ cells, which <ssss> <lab/beam-target-line/lie in a straight line and <ssss> are <r t="multi adj"/loosely adjacent/. <sss> There must be two <def/beam firing cells/ in the ship, such that the beam firing cells are <ssss> <r/undamaged/, <ssss> <r/loosely adjacent/ and <ssss> lie in a straight line parallel to that in which the target cells lie<rq/beam-target-line/. <sss> A beam weapon firing must be recorded as such together with the identities of the target cells <rq/beam notation/ and <ssss> the <r t="type notation"/type/ and <r t="identity notation"/identity/ of the ship whose beam weapon is being fired, if the player has several ships whose beam weapons could have enabled the firing; however, <ssss> the identities of the <r/beam firing cells/ need not be recorded. <sss> If a single <r/beam weapon firing/ <ssss> with only <r t="multi adj"/loosely adjacent/ <r/target/ cells <ssss> has any two <r/beam strike/s with as <r/visible result/s <r/hit/s in target cells which are not <r/loosely adjacent/ <ssss> then that beam weapon <r/burns out/. <ss> Each player who has an <r t="scandes"/undestroyed/ <def/scanner/ <sss> is entitled to one or more <r/scan/s as additional actions. <ssss> In <r/turn/s after the first an undestroyed scanner entitles its player to one scan for each of their own <r/ship/s' <r/cell/s which became <r/destroyed/ during the previous turn. <ssss> In any case an undestroyed scanner entitles its player to at least one scan. <ssss> Several undestroyed scanners entitle their player to only as many scans as a single undestroyed scanner. <sss> <lab/scandes/A scanner is destroyed when its <r/ship/ is <r t="shipdes"/destroyed/. <sss> A <def/scan/ <ssss> must be recorded as such together with the identity of the target cell. <rq/scan notation/ <sss> The <r/visible aspect/ of a <r/scan/ is a <def t="scan-vis"/scan/ in a <r/target/ cell. <ssss> The <r/visible result/ of a <r t="scan-vis"/scan/ identifies whether the target cell is part of a <r/ship/, and if it is whether that cell is <r/destroyed/ when the scan is announced. <ssss> A scan has no effect on either player. <ss> A weapon which <def/burns out/ does not entitle the player to any <r/action/s in future <r/turn/s in the same <r/game/. <s> <def/Scored match/es: <ss> A pair of players may agree to play several <r/game/s as a single scored match. <ss> There are no <r/additional ship/s; each game is played independently, with each player having the usual choices for their fleet. <rq/fleet/ <ss> The condition for termination of the match must be agreed between the players, but <sss> the match should only terminate when a game has just <r/terminate/d. <ss> Each player's <def/overall score/ is the sum of their <r/score/s in all the games. <ss> The winner of the match is the player with the larger overall score; if both players have the same overall score then the match is a draw. <s> <def/Continued match/es: <ss> A pair of players may agree to play several <r/game/s as a single continued match. <ss> In every game except the first each player's <r/fleet/ may contain some <def/additional ship/s, as provided in this section. <ss> The additional ships must have a total <r/cost/ equal to the player's <r/remaining materiel/ at the end of the last game. <ss> The players need not inform each other of the number and <r/type/s of their additional ships. <ss> Players may choose before the start of the match to restrict the numbers or types of additional ships which will be allowed. <ss> The condition for termination of the match, and the victory condition, must be agreed between the players, but <sss> the match should only terminate when a game has just <r/terminate/d. <s> <def/Conventional notation/: <ss> There is some conventional notation for recording information required by the game and information which the players may find helpful. <ss> Conventional notation need not be used, but <sss> unless the players are <r t="trust"/mutually trusting/ the players must make the records required by the game in an unambiguous fashion. <ss> <lab/grid/Each player keeps a two sets of five 5x5 square grids representing the players' <r/space/s in which they record <sss> the locations and <r t="identity"/identities/ of their own <r/ship/s (recorded during <r/setup/); <sss> the state of their own ships, as modified during the game, including whether each cell is <r/destroyed/ and whether <r/missile/s have been fired; <sss> optionally, their opponent's <r/action/s' <r/visible aspect/s; <sss> the <r/visible result/s of their own actions; <sss> and the locations and states of their opponent's ships, as and when this information becomes known. <ss> The <r/cell/s are identified by their three cartesian <def/coordinate/s. The three coordinates and their values and orderings are: <sss> colour: Red, Orange, Yellow, Green, Blue, abbreviated R O Y G B. <sss> letter: v, w, x, y, z. <sss> number: 1, 2, 3, 4, 5. <sss> The order for writing down and reading out coordinates is colour, letter, number. Coordinates are usually written as triples of characters without spaces. <sss> Case is significant in the notation; it is required for distinguishing Y (Yellow) from y. <ss> <lab/actrecord/Actions are conventionally recorded for each turn as a list of zero or more the following: <sss> <lab/strike notation/Each <r/conventional strike/ is recorded as the triple for the <r/coordinate/s of the <r/target/ cell. <sss> <lab/beam notation/Each use of a <r/beam weapon/ is recorded as b followed by the coordinates of the two end cells which together identify the line of target cells; <ssss> if several ships could have enabled this beam weapon firing then the <r t="type notation"/type/ and <r t="identity notation"/identity/ of the ship whose beam weapon is being fired are recorded in parentheses after those coordinates. <sss> <lab/missile notation/Each <r/missile strike/ is recorded as m followed by sufficient coordinate value(s) to uniquely identify the <r/missile launch/ cell, and as one additional strike target cell<rq/strike notation/. <sss> <lab/scan notation/Each <r/scan/ is recorded as s followed by the coordinates of the target cell. <sss> <lab/kamikaze notation/Each <r/kamikaze strike/ is recorded as k followed by the coordinates of the <r/kamikaze launch/ cell, and as one additional strike target cell<rq/strike notation/. <ss> <lab/type notation/Ship types are recorded using the two initial letters of the type, in capitals; <sss> <lab/identity notation/if several ships of the same type are present their <r t="identity"/identities/ are consecutive increasing integers starting at 1, and <sss> the ship's type and identity are together written as the initial letters of its type<rq/type notation/ immediately followed by its <r t="identity notation"/identity/. <ss> <def t="interaction ordering"/Ordering of interaction/ between the players: <sss> One player (the initially <r/active player/) should report all of the <r/visible aspect/s of their <r/action/s in a <r/turn/ before the other player does the same. <ssss> The active player should first report any <r/beam strike/s, then any <r/strike/s, then any <r/scan/s, then any <r/kamikaze death/s. <ssss> It is not necessary to report which <r/strike/s were the <r/visible aspect/s of <r/conventional strike/s, <r/missile strike/s or <r/kamikaze strike/s. <ssss> For each action the <r/visible result/s should be reported immediately by the <r/passive player/. <sss> When one player's actions' visible aspects have been dealt with then the other player reports the visible aspects of their actions. <ssss> Players may choose to alternate between initially being the active player or passive player in successive turns, or may fix an order. The order of reporting has no effect on the play of the game. <sss> <lab/earlydesrep/A player should make <r t="shipdes"/destruction/ of a ship known <rq/destroyreport/ to their opponent during the reporting of <r/visible aspect/s and <r/visible result/s together with the visible aspect or result which is associated with the destruction of the ship's last undestroyed cell. <ssss> <r/Flashcube data/ is returned as soon as a player reports the destruction of a ship. <s> Acknowledgements, copyright, &c.: <ss> Spaceships was originally devised by Sion Arrowsmith; <ss> this ruleset was adapted from the original rules by Ian Jackson with suggestions from David Damerell and others. <ss> These rules were written and formatted by Ian Jackson and are Copyright 1997 Ian Jackson, <sss> as are the SGML DTD and processing system which were used to format them, except that <sss> the nsgmls SGML parser is Copyright 1994,1995,1996 James Clark. <ss> This is version 2.6.1 of these rules. </rules>