Skip to content

Instantly share code, notes, and snippets.

@Turysaz
Last active March 1, 2022 20:12
Show Gist options
  • Save Turysaz/053a0e13c115f7cfa891873ee446601e to your computer and use it in GitHub Desktop.
Save Turysaz/053a0e13c115f7cfa891873ee446601e to your computer and use it in GitHub Desktop.
Rules for a alternative and more complex variant of the "battleship" game

An alternative battleship game

Motivation

I want to create a game that can be played with pen and paper, like the original battleship. Also, it should have that non-abstract setting to it (in contrast to tic-tac-toe, for example). Battleship itself is a good start, but I dislike a couple of things about it:

  • It does not have much tactical depth. Shooting chess-board-patters is the only strategy that makes sense, and beyond that, only luck will lead to victory.
  • The different types of ships differ only in size, which effectively makes bigger ships worse, because they are easier to find.
  • Ships are not allowed to move. One could argue that the battles are so fast that the ships cannot move far anyway, but still, I think this is a waste of potential.
  • The only way of reconnaissance is shooting into the fog of war.
  • Ships do not shoot themselfes, shots seem to come from off the map.

I am aware that there are different rule sets to make battleship more interesting. Some can be found on wikipedia and I got some ispiration from that, but I could not find a particular set of rules that I liked. Also, creating games is fun, so why not compose my own? :)

Rules

The map

Each player places their ships on a 12x12 grid. The grid is divided into 16 sectors of the size 3x3, each.

  | A  B  C | D  E  F | G  H  I | J  K  L
--+---------+---------+---------+---------
01|         |         |         |
02|    I    |   II    |   III   |   IV
03|         |         |         |
--+---------+---------+---------+---------
04|         |         |         |
05|    V    |   VI    |   VII   |  VIII
06|         |         |         |
--+---------+---------+---------+---------
07|         |         |         |
08|   IX    |    X    |   XI    |   XII
09|         |         |         |
--+---------+---------+---------+---------
10|         |         |         |
l1|  XIII   |   XIV   |   XV    |   XVI
12|         |         |         |

The ships

The available ships are:

Amount Type Size* Shots Remarks
1 Carrier ==O== 1 Instead of shooting, it can launch a recon aircraft.
1 Battleship =O== 1 or 3 Can choose to shoot 1 or 3 shots per round.
1 Destroyer =O= 1 Instead of shooting, it can use sonar.
2 Submarine O= > 1 Hidden, can move, killed on first hit.

*) = means a simple occupied tile, O is the bridge. > is the moving direction.

Carrier

The carrier can choose to launch a reconnaissance aircraft instead of shooting. The acting player asks the opponent to disclose the fields of one chosen sector. The opponent only names the occupied tiles, but not the exact ships. Submarines are invisible to the aircraft.

Example:

    F | G H I | J
09    |       |
------+-------+---
10 [= |O =]   |
11    |       |
12   [|O =][= |
  • A: "Launch aircraft to sector XIV."
  • O: "Occupied tiles are G10, H10 and I12."

Unequally to shooting, starting an aircraft does not disclose the carrier's sector. (A projectile comes from an unambiguous direction, an airplane can choose its course.)

Battleship

Instead of shooting a single shot, the acting player can choose to shoot three shots from the battleship instead of a single one. This allows to hit more than one target, but immediately discloses the shooting ship as the battleship. The opponent will only announce the amount of hits, no the exact locations.

Example:

  • A: "Shoot three shots from sector XI to A4, A5 and D1". (The opponent now knows that the battleship's brigde is in sector XI.)
  • O: "Two hits."

Destroyer

Instead of shooting, the destroyer can use sonar on a region to find submarines. However, the sonar does not reveal the sub's location, but only its course, that is the line on which it is moving. The sub may be in a completely different sector, though.

Example:

    C | D  E  F | G
------+---------+---
01    |       . |
02    |   II  . |
03    |       . |
------+---------+---
04    |       = |
05    |   VI  O |  <-- The submarine is here,
06    |       . |      moving upward.
------+---------+---
07    |       . |
08    |    X  . |
09    |       . |
------+---------+---
10    |       . |
l1    |   XIV . |
12    |       . |
  • A: "Using sonar on sector X."
  • O: "Find submarine on course F."

If the courses of two subs cross the sector, both are revealed. If two subs are on the same course, the course is still only reported once.

Unequally to shooting, using sonar does not disclose the destroyer's sector. (The listening is entirely passive.)

Submarine

The submarine is different to the other ship types, with multiple special rules:

  • Moving:

    After shooting (or any special action), the acting player can move one submarine in the direction it is heading. They do so by writing a little arrow (">", "<", "^" or "v") before the sub's front. The sub's latest position is always defined at the last two tiles in the row.

    After doing this multiple times, it will look like this:

                    [O   =]  <- The sub is
                                currently here.
    11 | O = > | > > > | >
    

    The submarine is allowed tho dive beneath other ships, but not other submarines. They may move along the same course, though. (Try to draw the ship and the sub's >-markers next to each other carefully.)

    Submarines cannot turn. Once they reach the edge of the map, they need to stop.

  • Placement and location:

    Like all ships, submarines need to keep a 1-tile distance from any other ship at the beginning. They may move closer to other ships during the game, though.

  • Resilience:

    Submarines take two tiles, but they are sunk on the first hit.

Placing the ships

The ships can be placed anywhere on the map, both vertically and horizontally. They must keep a 1-tile distance from any other ship, though. This also includes the corners:

xxxxxxx    x     - these tiles are blocked.
x==O==x    ==O== - the carrier
xxxxxxx

The heading of submarines is defined at their placement. Their bridge is astern:

O=  -> move to the right ...
=O  <- ... or to the left

The game

The players take turns, each turn has two steps: shooting and moving.

1. Shooting

The acting player announces a tile they shoot to, and the sector the shot is coming from. If the shooting ship is located in more than one sector, they announce the sector of the bridge.

Alternatively, they may choose to play one of their ship's special abilities: recon aicraft (carrier), barrage (battleship) or sonar (destroyer).

Example: A: "Shoot from sector III to F3." O: "Water."

Of course, sunk ships can neigher shoot nor act in any other way.

If there are both a surface ship and a submarine at the target tile, only the surface ship is hit.

2. Moving

In the second step, the player may choose to move one submarine one tile in its heading direction. The player needs to announce the movement, but not the location or the sector.

Example: A: "I move a submarine. Now it's your turn."

The end

The game ends when one player has no ships left on the map.

Tips

Marking sonar results

When using sonar on a sector without finding a submarine course, not only that sector can be assumed clear. It is also possible to draw conclusions about all sectors vertical and horizontal from scanned sector. However, these other sectores cannot be assumed to be entirely clear already, but one can eliminate the possibility of courses passing them in one direction (north-south or east-west).

. | . .     x : scanned sector
. | . .     - : sectors with eliminated east-west
- x - -         courses
. | . .     | : sectors with eliminated
                north-south courses

When scanning another sector, this allows to clear the sections at the crossings entirely.

- + - x     x : scanned sector
. | . |     + : implicitely clear sector
- x - +
. | . |

This can be tricky to note down in the target grid. One handy way it can be done is by marking the cleared directions by bordering the sectors with vertical and horizontal lines. Once all 4 edges of the sector have a border, that sector is safe to be free of submarines.

Example:
Sectors VI and XVI have been scanned, VIII and
XIV are clear implicitly.

  | A  B  C | D  E  F | G  H  I | J  K  L
--+---------+---------+---------+---------
01|         |:       :|         |:       :
02|    I    |:  II   :|   III   |:  IV   :
03|         |:       :|         |:       :
--+---------+---------+---------+---------
04|'''''''''|:''''''':|'''''''''|'''''''''
05|    V    |:  VI   :|   VII   |: VIII  :
06|.........|:.......:|.........|.........
--+---------+---------+---------+---------
07|         |:       :|         |:       :
08|   IX    |:   X   :|   XI    |:  XII  :
09|         |:       :|         |:       :
--+---------+---------+---------+---------
10|'''''''''|:''''''':|'''''''''|:''''''':
l1|  XIII   |:  XIV  :|   XV    |:  XVI  :
12|.........|:.......:|.........|:.......:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment