Skip to content

Instantly share code, notes, and snippets.

@Havvy
Last active July 31, 2017 03:51
Show Gist options
  • Save Havvy/5736915 to your computer and use it in GitHub Desktop.
Save Havvy/5736915 to your computer and use it in GitHub Desktop.

101 - The player agreement

  1. A player is a person who follows this rule.
  2. A player may only join before the game begins or at the beginning of a round.
  3. All players must always abide by all the rules that are in effect, in the order in which they were put in effect.
  4. The rules in the Initial Set are in effect whenever the game begins.
  5. The Initial Set consists of Rules 101-115.

102 - Definition: Rounds

  1. The game starts at the beginning of the first round.
  2. During a round, players take turns in alphabetical order.
  3. When all players have taken a turn, the round ends.

103 - Definition: Turns

  1. A turn is made up of multiple phases. Phases occur in order.
  2. The initial phases are the movement phase and the rule-change phase, in that order.
  3. During a player's turn, they are the 'current' player.

104 - Definition: World

  1. The World holds all state.
  2. The initial state is the list of players and a world map of spaces.

105 - Definition: Space

  1. The world map is made up of spaces, located at integral (x, y) coordinates.
  2. The space (0, 0) is the origin.
  3. Each player starts out 'located at' the origin.
  4. The distance between two spaces is the sum of the difference of the x coordinates and the difference of the y coordinates.
  5. Two spaces are 'adjacent' if the total distance between them is 1.

106 - Definition: Resource

  1. There are four resources: Wood, Metal, Water, and Food.
  2. Each space, with the exception of the origin, 'provides a resource'.
  3. At the beginning of the game, each space gives an unknown resource.
  4. When a player lands on space with an unknown resource, it becomes known, having an equal chance of being any of Wood, Metal, Water, and Food

107 - Defintion: Movement

  1. A 'movement' is a change of player location from her current space to a destination space.
  2. While in movement, the player is not located at any space.
  3. When the player ends movement, the player lands on the destination space, and becomes located at the destination space.

108 - Definition: Path

  1. A 'path' is an ordered list of spaces such that the next space is adjacent to the previous such that the total distance between the initial space and the final space is also the length of the path.

109 - Phase: Movement

  1. A d6 is rolled. The roll is known as the 'movement distance'
  2. The current player chooses a space a that is the movement distance away from her current space.
  3. The current player chooses a path from her current space to the destination space.
  4. The current player moves from her current space to the destination space 'passing through' each space in the path.

110 - Definition: Rule-Change

  1. A rule-change is following: the enactment, repeal, or amendment of a rule.

111 - Definition: Adopted Rule

  1. An adopted rule-change takes full effect at the beginning of the next turn from the moment of adoption.

112 - Phase: Rule-Change

  1. The current player proposes one rule-change and has it voted on in her/his turn.
  2. Each new rule proposed shall be given a number. The numbers shall begin with 201, incrementing by one.
  3. A rule-change is adopted if and only if the vote is unanimous among the players.
  4. Each player always has exactly one vote.

113 - Rule vs. Rule Conflict

  1. If two or more rules conflict with one another, then the rule with the lowest ordinal number takes precedence.

114 - Rule vs. Player Conflict

  1. If players disagree about the legality of a move or the interpretation or application of a rule,
  2. then the player preceding the one moving is to be the Judge and decide the question.
  3. Disagreement for the purposes of this rule may be created by the insistence of any player.
  4. This process is called invoking Judgment.
  5. A judgement is added to the rules, immediately adopted, and immediately placed into effect.

115 - Aliases

  • Positive Y is North
  • Negative Y is South
  • Positive X is East
  • Negative X is West
  • A space is also both a location and a node.
interface World {
players: [Player]
map : CartesianPlane<Integer, Space>
}
interface Player {
name: String
located-at: Space U None
}
interface Space {
resource: `Wood U `Metal U `Water U `Food U `Unknown U None
}
enum Resource {
Wood
Metal
Water
Food
}
interface GateState {
round: Integer
player: Player
phase: Phase
}
enum Phase {
Movement
Rule-Change
}
interface Rule {
ordinal: Integer
edict: String
adopted: Boolean
in-effect: Boolean
}
interface Judgement {
judge: Player
conflict: String
ruling: String
}
type Path [Space]
type Movement {
start: Space
destination: Space
entity: Player
}
@comex
Copy link

comex commented Jun 8, 2013

  • "A player is a person who follows this rule." sounds like an intensional definition, but the following sentence suggests an explicit process for becoming a player.
  • "The rules in the Initial Set are in effect whenever a game begins." Are multiple games envisioned? Other clauses refer to "the game".
  • "which exception to" should be "with the exception of". Missing a period later in the rule.
  • "During the movement phase, the player moves 1d6 spaces away from their current space." Is diagonal movement possible?
  • "The distance between two spaces is the sum of the difference of the x coordinate and the difference of the y coordinate." should pluralize 'coordinate'
  • "Player proposes one rule-change" - should be "Each player", and there is a duplicate sentence.
  • pseudocode: What is enum Resource for, or else where is Unknown? GateState should be GameState. What does it mean for a Rule to not be in-effect? What does it mean for a Player to be located-at None?

@Havvy
Copy link
Author

Havvy commented Jun 9, 2013

Yeah, the movement rules are hard to explain. It's meant to be that the same kind of movement as you would find in tactical RPGs (such as Final Fantasy Tactics) where diagonal movement consists of repeated movements in the x and y directions.

The rest of the issues were fixed.


The Resource Enum is for resources in general. They are a separate concept than the fact that each space provides a resource. What it means to provide a resource is intentionally left undefined.

A rule that is not in-effect is one that is repealed or is proposed but never adopted.

A player located-at None is a player currently moving.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment