Sashité for Developers
  1. Sashité for Developers
  2. Documentation
  3. DROP
  4. 1.0.0

Droppable Reserve Operations Placement (DROP) Specification


Overview

DROP defines a simple, standardized notation for piece reserve locations in board games where captured pieces can be held and/or placed onto the board. This applies to games like shōgi, crazyhouse, go, and other games featuring capture-and-drop mechanics.


Format

DROP uses a single character to represent all off-board reserve locations:

Reserve Location: * (asterisk)

Validation

\A\*\z

Usage Examples

Movement Notation

* → e4    Place piece from reserve to board position e4
e4 → *    Capture piece at e4 to reserve
e2 → e4   Regular on-board movement (using CELL coordinates)

Game Context Examples

Shōgi

Crazyhouse


Integration with CELL

DROP complements the CELL specification to provide complete location coverage:

Combined grammar:

<location> ::= <cell> | <drop>
<drop>     ::= "*"

Design Rationale

Why the asterisk?

Simplicity by design

DROP intentionally uses just one character because reserve locations don’t need dimensional complexity—context determines meaning (player’s reserve, captured pieces, stone supply, etc.).


Relationship to Other Notations

Notation Purpose Relationship to DROP
CELL Multi-dimensional board coordinates DROP complements CELL by providing "*" notation for off-board reserve locations
MIN Concise move identification Uses DROP location for source/destination in drop and capture moves
PMN Mechanical move decomposition Uses DROP location for reserve-related actions in move sequences

Reference Implementations

This section lists available libraries and tools that implement the DROP specification.

Ruby