Previous TopicNext Topic
Previous PageNext Page

Page title in Martian

         computerized Icehouse

Icehouse is a boardless, turnless board game created by Andy Looney and John Cooper, and available for sale from Looney Labs, Inc.

XIcehouse is an authorized computer simulation of Icehouse, created by Andrew Plotkin and Dan Efran in 1995. This document was last updated in 2003, by Dan Efran.

System Requirements and Installation

The standard Xicehouse distribution can be downloaded from here. This is software for the X Window System. It has been tested on a variety of Unix platforms, and generally seems to work. It is distributed as source code; you must compile it for your system. There are two Makefiles, one for the server, in the "ser" directory, and one for the client, in "cli".

Starting XIcehouse

To play XIcehouse, you must first start a server:

% xicehouse_d

Then each player should start an XIcehouse client:

% xicehouse machinename

where machinename is the name of the machine on which the server is running. This will bring up a window containing the title screen and game options.

When all the players have connected, they should all click on "Start game". When each player has done so, the game will start. When the game is over, the players are returned to the title screens, and the final scores are displayed.

There is no way to withdraw from an Icehouse game; if any player quits, the game will end.

The server will shut down automatically when all the clients have been quit.

Commands and Controls

The input line

This is the narrow window at the very bottom of the screen. When the cursor is in the input line, you may type any text, and enter it by hitting "return".

The title screen

Keyboard commands:

  • s: request start of game (same as clicking on "Start Game")
  • r: redraw screen
  • l: load a new signature file. The filename should be entered on the input line.
  • q: quit client

  • Start game: Start the game. All players must select "yes".
  • Allow squandered attacks: Allow the (illegal) move of placing a piece so that it is immediately squandered. All players must agree for this to work.
  • Allow variant piece lists: Allow signature files that do not contain the standard arrangement of 5 one-point, 5 two-point, and 5 three-point pieces. All players must agree for this to become "yes"; only then may you load a nonstandard file.
  • Use 'placing' mode: Helps make the game more realistic. In order to zoom in all the way, one must enter 'placing' mode, in which there is a risk of crashing. Also while in 'placing' mode, two players may not be holding pieces in the same place. All players must agree for this to work.
  • Cause hands to be shaky: If a player is in 'placing' mode, this causes his hands to jitter slightly. All players must agree for this to work.

The game screen

Keyboard and mouse commands:

  • left button: click on pieces to pick them up and drop them
  • right button: click and hold to rotate the piece you are holding
  • middle button: flip the piece you are holding between defensive and offensive
  • comma, period: rotate the piece that you are holding
  • shift-comma, shift-period: rotate piece faster
  • space bar: enter or exit 'placing' mode
  • 9: zoom out
  • 0: zoom in
  • arrow keys: pan around board
  • shift-I: call Icehouse
  • r: redraw screen
  • q: quit game (this ends the game for all players)

The signature file

Each player's pieces are arranged at the start of play in a pleasing array, defined in the signature file. Players are encouraged to create their own unique signatures.

The client software expects to find your default signature file at "~/.xice.sig". An alternate signature file can be loaded explicitly while the client is running - see above.

A signature file is a text file organized as follows.

The first line is integers separated by commas, indicating how many pieces of each size are listed in the file. For a standard setup, this line must be "5, 5, 5", indicating five pieces each in the first three sizes. However, if the "Allow variant piece lists" option is enabled, piece counts may be specified for up to 12 different sizes, with any number of pieces per size.

The second line of the file indicates the size of the stash pad. It must read "s 5.0, 3.0".

The remaining lines of the file represent individual pieces. The first two numbers on each line represent the position of the piece's center. The possible coordinates range from (0,0) to the size specified on the second line. The third number on each line is the rotational orientation of the piece, in radians. The fourth number is "0" for an upright piece, "1" for a piece on its side.

The Rules of Icehouse

By all means, you should look at the official Icehouse web site, http://www.wunderland.com/icehouse. The following are the rules the game implements, which may not exactly match the current official rules of Icehouse, but are very close.

Each player begins with fifteen pieces of his color, placed in a small rectangular area called his "stash pad". The stash pads are arranged around the edge of the playing field.

The pieces are elongated pyramids with square bases. They come in small, medium, and large sizes, which are assigned values of 1, 2, or 3 points (respectively.) Each player has five of each size.

When the game begins, everybody begins taking pieces from their stash pads and placing them on the board. A piece can be placed defensively, that is, standing up (in which case in looks like a square); or offensively, lying down (in which case it looks like an isosceles triangle.) The object of the game is to ensure that your defensive pieces are not attacked, and that your offensive pieces do attack other players' defensive pieces.

Note that Icehouse has no concept of player turns. You may begin playing pieces as soon as the game begins, and you may play them as quickly or as slowly as you choose.

How Attacks Work

An offensive piece (or "attack piece", for short) attacks whatever lies in front of its tip. The range of the attack is equal to the length of the attack piece. If two pieces lie in front of the attack piece, the attack strikes the closer one.

A defensive piece is considered "dead" (or "iced") if the total value of the pieces attacking it is greater than its own value. For example, a 3-point defensive piece would be dead if it was attacked by two 2-point attack pieces, or by a 2-point and two 1-point pieces, but it would not be dead if it was attacked by a single 3-point piece, or by a 2-point and 1-point.

The offensive pieces contributing to an attack do not have to all be the same color. However, an attack piece cannot harm a defensive piece of its own color.

Note that attack pieces are only used to attack defensive pieces (of other colors). An attack piece which is pointing at another attack piece, or a defensive piece of the same color, or at nothing at all, is "squandered" or wasted. It is illegal to place a piece so that it is immediately squandered. By default, the game is set to prevent such illegal moves.

However, in any case, squanders can still legally occur as the game progresses. For example, an attack piece could be placed in between an attack piece and a defensive piece, thus blocking the attack and squandering the earlier-placed attack piece.


At the end of the game, you get points for your live defensive pieces and for your offensive pieces that are attacking dead defensive pieces. Each live defensive piece scores its own value; similarly, each attack piece that is participating in a successful attack scores its own value. Scores can range from 30 to 0.

In the first attack in the diagram above, red scores 0 (since his piece is dead); green scores 2, and blue scores 1.

In the second attack, green scores 0 (since his attack piece is not involved in a successful attack.) Red scores 2; 2 for the defensive piece, and 0 for the attack piece, which is squandered.

In the third attack, red scores 0; green scores 0 (since his attack piece is squandered); and blue scores 4.


If you place a piece so that it bangs into another piece (overlaps it), you have crashed. The piece you were trying to place does not go onto the board; instead, you must give to another player, by putting it on his stash pad.


The first two pieces you play must be defensive pieces. The game will not allow you to place an offensive piece until you have placed two defensive pieces.


If a defensive piece is too heavily attacked, its owner may capture some of the attacking pieces. More precisely: if your defensive piece is so heavily attacked that you could remove one of the attacking pieces and the defensive piece would still be dead, then the piece is "over-iced", and you may do exactly that -- remove such an attacking piece. (The captured piece can be returned to your stash pad, or played immediately.)

You may not capture an attack piece of your own color. This is because an attack piece of your color pointing at a defensive piece of your color is squandered, and thus not participating in a true attack.

This is the only means by which attack pieces can be removed from the board. Defensive pieces and squandered attack pieces cannot be removed from the board.

The Icehouse

In the later stages of the game, you must be careful to always have at least one live defensive piece on the board. If you do not, and someone notices, he can "put you in the Icehouse"; you will forfeit the game.

More precisely: If you have less than eight pieces on your stash pad, and no live defensive pieces on the board, you are vulnerable. If any player notices this, he can call "Icehouse" (by typing shift-I). You are then flagged as being in the Icehouse for the rest of the game; your score at the end will be 0. In addition, whoever called "Icehouse" immediately captures all the pieces on your stash pad. This puts you mostly out of the game, but only mostly; you may still capture pieces, place prisoners on the board, and call Icehouse on other players.

It is possible to call Icehouse on yourself. Your score will still be zero, but you will retain control of the pieces on your pad.

If you call Icehouse when two or more players are vulnerable, then all of them are put in the Icehouse simultaneously.

A piece that you are holding counts as being on your stash pad. Other players' pieces on your stash pad do count towards the eight-piece safety zone.

To prevent indiscriminate Icehouse calls, there is a penalty for making false calls. If you call Icehouse when nobody (including yourself) is vulnerable, you must give away one piece from your stash pad to another player.


As the game progresses, you may acquire other players' pieces on your stash pad. These are called prisoners. You can get prisoners when another player crashes and gives a piece to you, or when you make a capture, or when you call Icehouse successfully, or when another player makes a false Icehouse call.

You may play prisoners onto the board at any time offensively or defensively, the same way that you play your own pieces.

The rules take no notice of who plays a piece; for determining legality and score, only the piece's color matters. Therefore, you may not place a prisoner so that it attacks an attack piece, or its own color, or nothing; you must make a move that would have been legal for the original owner. (Of course, you generally want to make a move that would be stupid for the original owner. As in real life, stupidity is never illegal, only stupid.)


For more information about playing the game, please see the official Icehouse Handbook, http://wunderland.com/icehouse/IcehouseTOC.html

<<< Conway's Game of Life <<< --- Dan Efran Gallery --- >>> crackedice >>>

Villa InfinityCopyright ©1999-2003 by Daniel S. Efran. All rights reserved.
Last update for this page: 5 November 2003
Send comments to embassy@efran.org