The current ruleset of the Christmas Game

Rule 0{0}. NullRule

The ruleset is the collection of all rules that are in effect. Every player must abide by every rule in the ruleset at all times.

When a rule is created, it goes into effect. When a rule is repealed, it goes out of effect. When a rule is modified, it is repealed and its replacement is created. NullRule may not be repealed.

At no time may the ruleset contradict itself.

Rule 1{1}. BasicActions
Colour: black

A player may add an entity to the game as a player. A player may withdraw emself from the game. A player may end the game provided this has the unanimous consent of all players.

Rule 3{8}. Metaphysics
Colour: black

Between the beginning and the end of the game, we say that it is during the game.

The gamestate contains exactly those things which the ruleset indicates it does. The gamestate contains the ruleset, extant proposals, all players that are in the game, and all entities that were formerly players in the game.

An action is anything that causes a change to the gamestate but is not a move. No actions may occur during the game except when allowed by the ruleset; furthermore, all actions during the game must be caused either by players or by proposals.

All public announcements and private messages are allowed at any time during the game, but are not necessarily without consequence. A message is a public announcement if the person who produced it makes a good face effort to send, post, show, or otherwise communicate it to every other player.

If a player states in a public announcement that e causes an action and e can legally cause that action according to the current ruleset, e causes the action at the time it was announced, unless otherwise stated by another rule. If multiple announcements occur at the same time in one message the actions occur in the order in which they are listed. Players may only cause actions in such ways stated by the ruleset.

Rule 4{2}. RuleLabelling
Colour: black

Each rule is numbered with a unique non-negative integer, and named by a unique string. Each rule has a version number which is a non-negative integer.

When a rule is modified, its replacement takes its number and name, and the version number which is the version number of the modified rule plus one. When a rule is otherwise created, the new rule is numbered with the least non-negative integer which has never previously been used to number a rule, a new name may be specified, and it is assigned the version number 0.

Rule 5{2}. Proposals
Colour: black

A player may create a proposal. A proposal consists of a set of proposed changes to the gamestate, possibly including creations, modifications, and repeals of rules. Each proposal shall be named by a unique string.

A player may destroy a proposal which e created.

Rule 6{11}. Voting
Colour: orange

For each proposal, a player may vote on it with a rational number in the range [-1,1], unless another rule specifies a different range.

Suppose that all active players who had not yet voted on a certain proposal were all to do so. If after these votes the sum of all votes on the proposal could not be less than or equal to zero, then all changes to the gamestate it describes which the ruleset does not explicitly disallow are carried out, and the proposal is destroyed; in this case we say that the proposal has passed. Furthermore, if after these votes the sum of all votes on the proposal could not be greater than zero, then the proposal is destroyed; we then say that the proposal has failed.

Rule 7{2}. Equality
Colour: black

Each rule must be symmetrical with respect to the assignment of a player to a different entity.

Rule 10{2}. Coloured
Colour: dark faded green

Every rule but NullRule has a color. In each proposal, each rule that is being created must be accompanied by its proposed colour and a reason for this choice. The colour assigned to a rule is part of the gamestate.

Rule 12{0}. Space
Colour: white

There exists as part of the gamestate a graph known as space.

Rule 15{0}. EncouragementList
Colour: black

There exists in the gamestate a list of things that players are encouraged to do.

Rule 16{4}. PlayersBoundToSpace
Colour: yellow

Each player has a location that is part of the gamestate. When a player joins the game eir location is initially nowhere.

Unless another rule prohibits such actions:
- when a player's location is a vertex of Space, e may change it to an adjacent vertex.
- when a player's location is graphwise equidistant from the locations (other than nowhere) of all other players with the same mirror-state, e may change eir mirror-state.
- when a player's location is nowhere, e may change it to any vertex of Space.

Rule 17{5}. ValidSpaceModifications
Colour: black

A space change may only be made by a player when the ruleset indicates it is legal.

Any space change by a player whose location is nowhere is invalid.

Two vertices will be called graphwise adjacent when there is an edge joining them in the graph Space.

Valid space changes to be made by a player whose location is vertex X are restricted to the following:
- For a vertex Y graphwise adjacent to X, e may remove the edge {X, Y}, provided that Space stays connected after this operation.
- For distinct vertices Y and Z, both coordinatewise adjacent to X and coordinatewise adjacent to each other, e may add an edge {Y, Z}, provided that such an edge does not already exist.
- For distinct vertices Y and Z, both coordinatewise adjacent to X, e may add a new vertex A and edges {A, Y} and {A, Z}, provided that A has distinct coordinates from all other vertices.

Rule 18{2}. SpaceModificationTiming
Colour: bright green

This rule has no force unless there is a rule, which provides a list of valid space changes. Any player may cause a space change, provided it is valid. The evaluation of a players space changes follow the procedure stated in the rule PeriodicalEvaluation with a period length of six days.

Rule 19{1}. MotionTiming
Colour: pink

This rule has no force unless there is a rule, which provides a list of valid location changes. Any player may change eir location by follow the procedure stated in the rule PeriodicalEvaluation with a period length of one day.

Rule 20{4}. PeriodicalEvaluation
Colour: bright white

A move is a type of change to the gamestate that is conducted according to the following procedure. Each type of move is associated with an absolute evaluation time that is part of the gamestate. When the evaluation time for a certain type of move is reached, the moves of this type are executed, and the evaluation time advances by a value in the gamestate (possibly in the ruleset).

The gamestate contains a permutation phi of the set of types of moves.

A player may set or withdraw moves of any type at any time by storing eir moves in such a way that after an evaluation time, other players should be able to determine the changes to the gamestate resulting from moves evaluated at that time.

For each type of move only the most recent move of that type announced within the current period of that move type is evaluated for each player. At the evaluation time, the following algorithm is performed: For each type of move, in the order phi, if there is an unambiguous way to execute all moves of this type then this occurs.

If a new rule is created which is referring to this rule or if a rule is modified to refer to this rule the evaluation time of all types of move stated by that rule is 12.00 GMT the day the rule was created, plus the given interval.

Rule 21{1}. MoneyRule
Colour: green

Each player has an account with an amount of money expressed as a rational number. The amount of money a player has is part of the gamestate. The money unit is called "money unit".

A player may transfer any positive rational amount of money, which is not greater than the total amount of money eir account contains, only from eir account to any other player's account or to nowhere.

When a new player joins the game, eir account will contain 97 money units.

Rule 22{4}. VertexOwners
Colour: red

To each vertex is assigned an entity called its owner; this assignment is part of the gamestate. The owner can be a player or non-player (possibly a former player). A player that owns a vertex can change the owner of that vertex to another player or to the non-player entity "god". A player, that is located at a vertex owned by a non-player entity can become the owner of that vertex if e transfers 32 money units to nowhere.

A vertex that is created will initially be owned by the non-player entity "god".

Rule 23{0}. SenescentProposals
Colour: hoary grayish white

Any player may refresh any proposal. If a proposal has existed for at least 16 days and has not been refreshed in the last 16 days, it is destroyed.

Rule 25{3}. ProposalIsMoney
Colour: dark yellow

When a proposal passes, the player who created the proposal receives 18 money unit from nowhere. When a proposal fails, nowhere receives 6 + 1/403 money units from the player who created the proposal.

Whenever a proposal passes or fails, each player who voted on it gains 6 + 1/403 money unit from nowhere.

Rule 27{2}. PlayerActivity
Colour: dull gray

Every player has a boolean activity state which is part of the gamestate. We shall call a player whose activity state is true an active player.

Whenever a player performs an action or a move, eir activity state is set to true. A player may accuse any active player of inactivity. If a player accuses emself of inactivity, eir activity state instantly becomes false; accusing oneself of inactivity is also known as pausing. Any player who was accused of inactivity by another player 7 days ago and has not performed an action or a move in the last 7 days has eir activity state set to false.

When a new player joins the game, eir activity state is true.

A player may nod as an action, thereby setting eir activity state to true. Nodding has no other effect on the gamestate.

Rule 28{1}. SpaceCoordinates
Colour: cyan

Each vertex of Space has 2 integers (x, y) which are called its coordinates. The coordinates of a vertex are part of the gamestate. Distinct vertices must have distinct coordinates.

Two vertices of Space are considered coordinatewise adjacent if both the absolute value of the difference between their x-coordinates and the absolute value of the difference between their y-coordinates are at most 1.

Rule 29{1}. PlayerRemoval
Colour: gray

If a player has been inactive for 25 days, and e did not most recently become inactive by pausing, e is completely removed from the game.

Rule 30{0}. InverseSquare
Colour: the color of sand

If infinitely many vertices have players as owners, then this rule has no effect. Otherwise, for each player P: Let {x_1, x_2, ..., x_n} be the set of every vertex of Space that has a player as owner.

Each day at 21:00 GMT, each player gains from nowhere a number of money units equal to the average [ 2/(d_1^2+2) + 2/(d_2^2+2) + ... + 2/(d_n^2+2) ]/n, where d_i represents the graphwise distance from that player's location to x_i.

Rule 31{0}. DistanceDefault
Colour: black

The graphwise distance between two vertices a, b of space is the least integer n for which there exists a sequence of vertices a = v[0], v[1], ..., v[n-1], b = v[n] such that v[i] is graphwise adjacent to v[i+1] for all 0 <= i < n. The graphwise distance between nowhere and any possible location of a player is considered to be infinite.

The coordinatewise distance between two vertices a, b of space is defined as their Euclidean distance (so, for (a,b) and (c,d) it's Sqrt((a-c)^2 +(b-d)^2). The coordinatewise distance between nowhere and any possible location of a player is considered to be infinite.

Rule 33{0}. Point
Colour: #FF2222

The point of the game is a map from the set of players to the set of positive integers. The point is in the gamestate.

The expression "incrementing a player" may be used to refer to incrementing a player's image under the point.

Rule 35{0}. Dusk
Colour: the colour of dusk

The game ends on 19 February 2005 just before 23:22:19 GMT. After the game has ended, the gamestate is immutable. The date and time of day are part of the gamestate, and are equal to the minimum of their real-world values and 23:22:19 on 19 February 2005.

This page was last modified 20 February 2005, and before that 22:37 26 April 2004.