Frequently Asked Questions
Common questions about Sashité specifications and their implementation.
General Questions
What is the difference between FEEN and FEN?
FEEN (Forsyth-Edwards Enhanced Notation) is an extension of the traditional FEN format with several key enhancements:
- Multi-dimensional support: FEEN can represent 3D chess and higher-dimensional games
- Cross-style games: Supports hybrid games where different players use different piece systems (e.g., Chess vs Shōgi)
- Captured pieces: Native support for pieces in hand/reserve (essential for Shōgi-style games)
- Enhanced piece states: Support for promoted pieces, castling eligibility, en passant vulnerability through state modifiers
Traditional FEN is limited to:
- 2D boards only
- Single game system (Western chess)
- No captured piece representation
- Basic piece state support
Example comparison:
# Traditional FEN (Western chess only)
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
# FEEN (same position, but extensible)
+rnbq+kbn+r/+p+p+p+p+p+p+p+p/8/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+KBN+R / CHESS/chess
# FEEN (Cross-style: Chess vs Makruk)
rnsmksnr/8/pppppppp/8/8/8/+P+P+P+P+P+P+P+P/+RNBQ+KBN+R / CHESS/makruk
# FEEN (With captured pieces - Shōgi style)
lnsgkgsnl/1r5b1/ppppppppp/9/9/2P6/PP1PPPPPP/1B5R1/LNSGKGSNL B/ shogi/SHOGI
How do I choose between PMN and PAN for move representation?
The choice depends on your specific needs:
Use PMN when:
- You need complete mechanical details
- Building game engines that execute moves
- Recording complex moves (castling, en passant, promotion with piece identity)
- Working with multi-step or compound moves
- Need actor identification and state changes
Use PAN when:
- You need compact, human-readable notation
- Building user interfaces for move input
- Storing move logs efficiently
- Network transmission of moves
- The game context provides sufficient information to interpret moves
Comparison example:
# Same castling move represented in both formats
# PMN (complete mechanical breakdown)
["e1", "g1", "CHESS:K", "h1", "f1", "CHESS:R"]
# PAN (spatial representation only)
e1-g1
# PMN shows exactly what happens to both pieces
# PAN requires external context to know it's castling
When to use both: Many systems use PAN for user input and display, then convert to PMN for internal processing and storage.
Implementation Questions
More questions will be added based on community feedback and common implementation challenges.