|Players use icehouse pieces to make patterns in a data stream.|
|Trios per color:||5|
|Number of colors:||4 (1 basic set)|
|Monochr. stashes:||4 (1 basic set)|
|- - - - - - Other equipment - - - - - -|
|Shields, bag, BOF and EOF markers|
|Setup time:||5 minutes|
|Status: complete? (v1.0), Year released: 2987|
EOF (ee-oh-ef) is a strategy game of file manipulation for two to four players.
- One set (four stashes) of Icehouse pyramids
- A number of shields large enough to conceal a player's pieces from other players, one shield per player. Empty binders work well.
- An opaque bag large enough to generously contain one set of Icehouse pyramids
- A flat playing surface
- A score sheet
- Two inch-square pieces of paper, or poker chips, marked "BOF" and "EOF," to be used as file terminators
Overview and Goal
The players create programs to manipulate data, in order to make patterns in the data. The programs and the data are both made up of Icehouse pyramids. The programs are executed simultaneously. The players score according to the type and number of certain patterns appearing in the data.
- Have each player select a color from among the available colors.
- Distribute one small pyramid of the player's selected color to each player. This will be that player's file pointer.
- Stack the file terminators on the playing surface, within reach of all players, with the one marked "BOF" on top.
- Have each player lay his or her file pointer on the playing surface, adjacent to and pointing at the file terminator stack.
- Have each player erect his or her shield.
- Put the remaining Icehouse pyramids into the opaque bag.
- Review the Options section, and decide on a record-locking option, and crash penalization.
- File: The row of Icehouse pyramids being manipulated by all players using programs.
- Record: A single Icehouse pyramid in the file.
- BOF: Beginning of file. The position immediately prior to the first record in the file. When the file is empty, BOF and EOF are the same position, the only valid position in the file.
- EOF: End of file. The position immediately after the last record in the file. When the file is empty, BOF and EOF are the same position, the only valid position in the file.
- Program: A series of Icehouse pyramids sequenced by a player in order to manipulate the file.
- Program instruction: An Icehouse pyramid used by a player as part of a program.
- File pointer: A small Icehouse pyramid laid on its side, used to indicate the current record.
- Data pool: The pile of remaining Icehouse pyramids, where deleted or updated pyramids are returned, and from which updating and inserting pyramids are drawn.
Players must decide before playing how the deletion of another player's current record is to be handled. There are three variables involved, Locks, Permission and Crash.
- Locks: A record with another player's file pointer may not be deleted.
- Permission: The player whose program is executing the delete operation must ask permission of any and all players whose file pointers are on the record to be deleted. Denial by any player disallows the deletion.
- Crash: A delete operation on a locked or denied record will crash the executing program.
The first two variables may be combined with the third in one of four ways: Locks/Crash, Locks/No Crash, Permission/Crash and Permission/No Crash.
If a player has a file pointer on a record that is successfully deleted, their file pointer is moved to BOF.
Players must decide before playing whether a program crash results in a scoring penalty. If so, when a player's program crashes, subtract 1 from that player's score for each instruction remaining, including the instruction that caused the crash. Otherwise, the player just scores zero for that round.
Playing the Game
EOF is played in rounds. At the beginning of each round, gather up all of the Icehouse pyramids that are not file pointers, and are not in the file itself, and put them into the bag. Have any player remove a single Icehouse pyramid from the bag, without looking into the bag. The player whose file pointer color matches that of the removed pyramid will play first, with play proceeding clockwise. Return the pyramid to the bag. Give the bag to the first player. Have that player remove nine Icehouse pyramids from the bag, without looking into the bag. The player may feel the pyramids, to determine their sizes, but may not look. Have him or her reveal each successive selection to all players, then place it behind his or her shield. Have the player then pass the bag to the next player, who is to do as the first player did. Continue until every player has nine Icehouse pyramids behind his or her shield. Dump the remaining pyramids from the bag onto the playing surface, for everyone to see, as the data pool.
Have the players sequence five of the nine selected Icehouse pyramids behind their shields. These five pyramids will be the player's program. The file pointers may not be moved during programming. Once a player is done creating a program, he or she should return the remaining four pyramids to the bag.
After all the players have completed constructing their programs, program execution begins, starting with the first player, and proceeding clockwise. Programs are executed one instruction per turn. If an instruction in a player's program causes that program to crash, then his or her program stops executing, he or she does not score any points at the end of the round, and his or her file pointer is moved to BOF. Delete and update operations return pyramids to the data pool. Update and insert operations draw pyramids from the data pool. An update or insert operation that requires a pyramid not in the pool will fail, and crash the program.
- Move: Move a file pointer. If moving before BOF, or after EOF, crash program.
- Delete: Delete one or more records, starting with the current record. If the current record is BOF or EOF, crash program.
- Update: Replace the current record. If the current record is BOF or EOF, crash program.
- Insert: Put a new record in the file, either before or after the current record. If inserting before BOF, or after EOF, crash program.
Any orientation other than those defined below is an invalid program instruction, and will crash the program.
Green: Execute a move operation.
- Up: Move your file pointer to the first record in the file. If the file is empty, move to BOF/EOF.
- Down: Move your file pointer to the last record in the file. If the file is empty, move to BOF/EOF.
- Left: Move your file pointer towards BOF, for a number of records equal to the size of the green piece.
- Right: Move your file pointer towards EOF, for a number of records equal to the size of the green piece.
Red: Execute a delete operation.
- Left: Delete the current record, and (n - 1) records prior, where n equals the size of the red piece, and move the file pointer towards BOF after each successive deletion.
- Right: Delete the current record, and (n - 1) records after it, where n equals the size of the red piece, and move the file pointer towards EOF after each successive deletion.
Blue: Execute an update operation.
- Standing: Replace the current record with a piece of your color, of a size equal to the size of the standing blue piece.
- Left: Swap the current record with the record n records prior, where n equals the size of the blue piece.
- Right: Swap the current record with the record n records after it, where n equals the size of the blue piece.
Yellow: Execute an insert operation.
- Left: Insert, before the current record, a piece of your color of a size equal to the size of the yellow piece, and move your file pointer to the newly inserted record.
- Right: Insert, after the current record, a piece of your color of a size equal to the size of the yellow piece, and move your file pointer to the newly inserted record.
At the end of each round, players get points for each of the following configurations of his or her color pyramids appearing in the file. A single pyramid may only be scored in one configuration.
|Any non-sorted consecutive series longer than 2||n points, where n is the number of consecutive pieces|
|Three consecutive, sorted||5 points|
|Three non-consecutive, sorted||4 points|
|Hill (5 pyramids, consecutively arranged 1-2-3-2-1)||8 points|
|Valley (5 pyramids, consecutively arranged 3-2-1-2-3)||8 points|
|Entire file||n x 2, where n is the length of the file|
The game ends after four rounds. The player with the highest score wins.