BETAmodules.com is in beta — open to partnerships & joint ventures.Build with us

sashite-pmn

v1.2.0RubyGems· Ruby

PMN (Portable Move Notation) provides a rule-agnostic, JSON-based format for describing the mechanical decomposition of moves in abstract strategy board games. This gem implements the PMN Specification v1.0.0 with a functional Ruby interface, breaking down complex movements into sequences of atomic actions while remaining completely independent of specific game rules. PMN reveals the underlying mechanics of any board game move through sequential action decomposition, supporting both explicit and inferred piece specifications. Built on CELL (coordinate encoding), HAND (reserve notation), and QPI (piece identification) specifications, it enables universal move representation across chess variants, shōgi, xiangqi, and any abstract strategy game. Perfect for game engines, move validators, and board game analysis tools.

The verdict
Aging — last published 7 months ago — check before adopting. Check the repo for activity before adopting.
Check the repo for activity before adopting.
Live from the RubyGems registry · derived rules, not AI
How it scores
MaintenanceAging
PopularityNiche
SecurityClean
LicensePermissive
DepsZero deps
Maintenance
Last published 7 months ago — check before adopting.
Popularity
11 downloads / week
Security
No known advisories for this version (OSV).
License
MIT
Dependencies
No runtime dependencies
Recent releases
  • 1.2.07 months ago
  • 1.1.09 months ago
  • 1.0.09 months ago
sashite-pmn — PMN (Portable Move Notation) provides a rule-agnostic, JSON-based format for describing the mechanical decomposition of moves in abstract strategy board games. This gem implements the PMN Specification v1.0.0 with a functional Ruby interface, breaking down complex movements into sequences of atomic actions while remaining completely independent of specific game rules. PMN reveals the underlying mechanics of any board game move through sequential action decomposition, supporting both explicit and inferred piece specifications. Built on CELL (coordinate encoding), HAND (reserve notation), and QPI (piece identification) specifications, it enables universal move representation across chess variants, shōgi, xiangqi, and any abstract strategy game. Perfect for game engines, move validators, and board game analysis tools. (Ruby / RubyGems) · Modules