Sashité for Developers
  1. Sashité for Developers
  2. Protocol

Protocol


Overview

The Sashité Protocol establishes the fundamental conceptual framework for abstract strategy games within the Sashité ecosystem. This protocol defines the core principles that govern piece-based two-player games while remaining completely independent of specific rule systems.

The protocol follows the natural progression of a match from initial setup to completion, introducing concepts organically as they arise during gameplay.


Terminology

All terms used in this protocol are precisely defined in the Glossary. Key concepts such as pieces, positions, moves, and locations follow these standardized definitions throughout the Sashité ecosystem.


The Game System

Structural Foundation

Every match operates within a Game - a complete system providing the framework for two-player interaction. The game consists of Locations where pieces can exist: a shared Board accessible to both players, and two private Hands accessible only to their respective owners.

At match initiation, two distinct roles are assigned: First Player and Second Player. These role assignments remain immutable throughout the entire match, providing a stable reference framework regardless of gameplay dynamics.

Piece Architecture

Pieces form the active elements of the system. Each piece carries four essential attributes that completely define its identity:

Position Definition

A Position represents a complete snapshot of the game state, capturing the location of every piece and identifying the currently active player. This comprehensive representation enables precise state reconstruction and comparison.


Match Dynamics

Turn Mechanics

During each Turn, one player becomes Active while the other remains Inactive. The active player performs a Move - potentially complex actions involving multiple pieces and transformations.

Moves decompose into Actions - atomic, indivisible transformations executed sequentially. Each action specifies source location, destination location, and resulting piece state.

Transformation Types

Pieces undergo two fundamental transformation categories:

Displacement involves movement between locations - from board to board, board to hand, or hand to board. Mutation enables attribute changes without necessarily requiring movement.

System Invariants

The protocol enforces several immutable principles:

Conservation: The total number of pieces remains constant across all locations throughout the match.

Exclusivity: Each piece occupies exactly one location, and each board square contains at most one piece.

Access Control: Board locations maintain public accessibility (subject to game rules), while hand locations remain privately accessible only to their owners.

Player Alternation: Active player status alternates after move completion.


Position Uniqueness Constraint

A fundamental rule governs match progression: all positions within a match must be unique. No player may execute a move that produces a position identical to any previous position in the same match.

Position identity is determined through canonical representation - two positions are identical if and only if their canonical strings are identical. This constraint ensures match progression and prevents indefinite repetition cycles.


Observable Facts vs. Competitive Interpretation

The protocol maintains a strict separation between observable facts and competitive interpretation:

Observable facts include piece locations, movement mechanics, terminal conditions (checkmate, repetition, resignation), and temporal progression. These exist independently of any specific rule system.

Competitive interpretation - determining winners, losers, or draw conditions - falls entirely outside the protocol’s scope. The same observable facts may yield different competitive outcomes under different rule systems:

This separation ensures universal applicability while preserving implementation flexibility.


Match Conclusion

Matches reach observable terminal states through various mechanisms - checkmate positions, piece capture, repetition occurrence, player resignation, or time expiration. The protocol identifies these states without interpreting their competitive significance.

The specific rules of the game being played determine the meaning of each terminal state and assign competitive outcomes accordingly.


Technical Implementation

The protocol concepts find precise expression through technical specifications that handle coordinate systems, piece identification, position representation, move notation, and game recording. Each specification addresses specific implementation aspects while adhering to the protocol’s foundational principles.

This layered approach separates conceptual framework from technical implementation, enabling multiple implementation strategies while maintaining consistent core behavior across the ecosystem.