Sashité for Developers
  1. Sashité for Developers
  2. Glossary

Glossary

This glossary defines the core terminology used across the Sashité ecosystem:

Capitalized terms in specifications (e.g. Match, Position, Move) refer to the definitions below.


1. Core game entities

Term Definition
Game A well-defined ruleset describing how Positions evolve through Moves, how a Match starts, and how it ends (win / loss / draw / other outcomes). A Game is a conceptual object, not a runtime instance.
Rule System The complete set of rules for a given Game, expressed on top of the Game Protocol. It defines which Protocol-Valid Moves are allowed, how structural properties like threat or capture are evaluated, and how terminal situations are classified.
Game Protocol The minimal, rule-agnostic framework that defines how Pieces, Locations, Actions, Moves and Positions are structured and transformed. It does not embed any game-specific notion of legality, capture, or victory.
Player A human or agent participating in a Match. At protocol level there are exactly two roles: First Player and Second Player. The Rule System may give them domain-specific names (e.g. White/Black, Sente/Gote).
Side An abstract camp label in a Match. In the base protocol there are exactly two Sides: first and second. Sides are used to relate players and pieces to one of two opposing camps.
Player Side The Side associated with a given Player for the duration of a Match (for example, the First Player has Player Side first). The mapping between Players and Player Sides is fixed for the whole Match.
Piece Side The Side attribute that is part of a Piece’s identity, indicating to which camp that Piece belongs at a given moment. In some Games, a Piece Side may change over time (for example, by capture-and-convert mechanics), independently of which player is currently controlling that piece.
First Player The player assigned to the first role for the entire Match. The Rule System decides whether the First Player moves first in the initial Position.
Second Player The player assigned to the second role for the entire Match.
Active Player The player whose turn it is to act in a given Position. Exactly one player is Active at any time. Applying any Move (including a Pass Move, if allowed) toggles the Active Player.
Inactive Player The other player in a given Position, i.e. the one who is not currently the Active Player.

2. Board, locations, and pieces

Term Definition
Board The shared spatial structure on which Board Squares exist (e.g. an 8×8 grid for chess, a 9×10 grid for xiangqi). The protocol treats the Board as a finite set of addressable Squares; its geometry and edges are defined by the Rule System or the notation.
Square An addressable cell on the Board. At protocol level, a Square is a type of Location that may hold at most one Piece, or be empty. Squares have identifiers (e.g. e4, 5c) given by the Game or notation.
Hand A multiset of Pieces held off-board by a specific Player. The protocol defines exactly two hands: First Player Hand and Second Player Hand. At protocol level, order inside a Hand is not meaningful.
Location Any place where a Piece can legally exist under the Game Protocol. The protocol recognizes three kinds of Location: Board Squares, the First Player Hand, and the Second Player Hand. Every Piece must be at exactly one Location at all times.
Piece An individual game entity with attributes (including its Piece Side, Piece Name, Piece State, Piece Style) and a Location. Pieces are never created or destroyed at protocol level; they are only moved or mutated.
Piece Name The type identifier of a Piece within a Game (e.g. king, rook, pawn, gold, lance). The Rule System assigns semantics to each Name.
Piece State A discrete attribute describing a Piece’s internal status for the purposes of rules (e.g. “unpromoted”, “promoted”, “enhanced”, “diminished”). The meaning and allowed values are Game-dependent.
Piece Style A tag indicating the movement tradition or style associated with a Piece (e.g. chess-style, shogi-style, xiangqi-style), or any other stylistic differentiation. Styles allow heterogeneous rule families to co-exist in the same engine.
Piece Identity The tuple (Piece Side, Piece Name, Piece State, Piece Style) that characterizes a Piece’s functional identity in the protocol. Two Pieces are considered functionally identical if these four attributes match, even if they are different instances.
Terminal Piece A distinguished Piece whose presence, condition, or capacity for action determines whether the Match can continue. The Rule System defines which Pieces are terminal for each player and how their statuses affect the Game.
Terminal Piece Status A label describing the situation of a given Terminal Piece relative to the Rule System (for example: threatened, blocked, doomed, aligned with certain loss or win conditions, etc.). On a given Position, a player may have zero, one, or multiple Terminal Pieces, and each Terminal Piece may have its own status. Game-level evaluations such as “lost”, “won”, or “drawn” are derived from the collection of Terminal Piece Statuses but are not themselves statuses of individual pieces.
Captured Piece From the Rule System’s perspective, a Piece that has been removed from the Board as the result of a Move. Protocol-wise, this usually corresponds to a displacement from a Square to a Hand (Board → Hand).
Drop / Placement A Rule System concept in which a Piece held in a Hand is placed onto a Square on the Board. Protocol-wise, this is a displacement from Hand → Board.

3. Positions, actions, and moves

Term Definition
Position A complete snapshot of the game state at the level of the Game Protocol, including: (1) the Location of every Piece, (2) the attributes of each Piece (Piece Side, Piece Name, Piece State, Piece Style), and (3) the current turn, i.e. which player is to move next.
Initial Position The first Position of a Match, defined by the Rule System or notation (e.g. a standard starting array).
Position Identity The equivalence class of a Position under canonical representation. Two Positions are identical if and only if the same multiset of Pieces (with the same attributes) occupies the same Locations, and the same Active Player is to move.
Canonical Position Representation A deterministic encoding of a Position used for equality checks (for example, a dedicated position-encoding string). Implementations must be able to compute a canonical representation for any Position.
Action The smallest atomic transformation of a Position. An Action may move exactly one Piece between Locations and/or mutate one or more of its attributes (Piece Side, Piece Name, Piece State, Piece Style).
Displacement The part of an Action that moves a Piece from one Location to another. The Game Protocol allows only three displacement patterns: Board → Board, Board → Hand, and Hand → Board.
Mutation The part of an Action that changes a Piece’s attributes (Piece Side, Piece Name, Piece State, Piece Style) without necessarily changing its Location. Promotion, demotion, style change, or side change are all examples of Mutations.
Move An ordered, finite sequence of one or more Actions performed by the Active Player during a single turn. Applying a Move transforms one Position into another and then toggles the Active Player.
Pass Move A special Move consisting of zero Actions. It leaves the underlying arrangement of Pieces and Locations unchanged but still toggles the Active Player. Whether Pass Moves are allowed is decided by the Rule System.
Turn A single opportunity for the Active Player to execute exactly one Move (which may be a Pass Move if allowed). After the Move, the other player becomes the Active Player.
Ply A single step of time progression associated with one player’s Move. In Sashité specifications, a ply usually corresponds to exactly one Move by a single player.

4. Matches and game-level notions

Term Definition
Match A concrete run of a Game between two players, represented as a finite sequence of Positions starting from an Initial Position and evolving through Moves until play stops.
History The ordered list of Moves (and, optionally, the corresponding Positions) that have been played in a Match up to a given point. A History can be used to reconstruct a Match.
Game State The state of a Match at a given moment, encompassing the current Position plus any meta-information maintained by the Rule System (for example, clocks, move counters, repetition counters, Terminal Piece Status, or other auxiliary data). A Game State is definitive when the Rule System declares that no further Legal Moves will be played and the result of the Match (win / loss / draw / other convention) is fixed. In this glossary, expressions such as “terminal state” or “outcome” refer to properties of the Game State, not to separate concepts.

5. Legality and protocol validity

Term Definition
Protocol-Valid Move A Move that satisfies all structural constraints of the Game Protocol: only authorized displacement patterns, conservation of Pieces, exclusivity of Locations, single occupancy per Square, and correct alternation of the Active Player. Protocol validity says nothing about Game-specific legality conditions such as threats to Terminal Pieces or repetition rules.
Pseudo-Legal Move A Move that is protocol-valid and respects basic piece movement patterns (as defined by the Rule System), but which may still violate higher-level conditions (for example, leaving a Terminal Piece in a forbidden status, or exceeding repetition limits). Pseudo-legal Moves are often used as an intermediate step in move generation.
Legal Move A Move that is both Protocol-Valid and fully compliant with the Rule System’s constraints (e.g. it respects all restrictions on Terminal Pieces, repetition