Field Expression Encoding Notation
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/12/28 04:26 UTC 版)
Field Expression Encoding Notation(略称:FEEN)は、チェスや将棋、シャンチーなどの抽象戦略ゲームにおける盤面状態を表現するために提案された表記法である。
概要
FEENは、FENとは異なり、ルールに依存しない(rule-agnostic)設計を採用している。FENがチェス固有の情報(キャスリング権、アンパッサンなど)を含むのに対し、FEENは純粋に盤面の状態のみを記述する。これにより、チェス以外のゲームや、異なるルールを持つプレイヤー同士が対戦する「クロススタイル」ゲームにも対応できる。
開発の経緯として、Sashitéエコシステム内で提案された。2025年5月にバージョン1.0.0が公開された。
定義
FEEN文字列は3つのフィールドから構成され、各フィールドは半角スペースで区切られる。
<駒配置> <持ち駒> <スタイル・手番>
第1フィールド:駒配置
盤上の駒の配置を記述する。
- 各段(ランク)はスラッシュ記号(/)で区切られる。
- 将棋の場合、通常は盤面の上側(後手陣の最奥、1段目)から記述を開始し、下側(先手陣の最奥、9段目)で終わる。
- 各段は9筋から1筋の順に記述される。
- 駒は1文字のアルファベットで表される。先手の駒は大文字、後手の駒は小文字で書く。
- 空きマスは連続する数を数字で表す。例えば、9マス全てが空なら「9」となる。
- 「^」記号は終端駒(ターミナルピース)を示す。将棋では玉将・王将がこれに該当する。
- 「+」記号は成駒(成った駒)を示す。
駒の表記(将棋の場合)
| 駒 | 先手(大文字) | 後手(小文字) |
|---|---|---|
| 玉将/王将 | K^ | k^ |
| 飛車 | R | r |
| 角行 | B | b |
| 金将 | G | g |
| 銀将 | S | s |
| 桂馬 | N | n |
| 香車 | L | l |
| 歩兵 | P | p |
| 竜王(成飛車) | +R | +r |
| 竜馬(成角行) | +B | +b |
| 成銀 | +S | +s |
| 成桂 | +N | +n |
| 成香 | +L | +l |
| と金(成歩) | +P | +p |
第2フィールド:持ち駒
両プレイヤーの持ち駒を記述する。
<先手の持ち駒>/<後手の持ち駒>
- スラッシュ(/)で先手と後手を区切る。
- 持ち駒がない場合は空文字となる(スラッシュは必ず存在する)。
- 同じ駒が複数ある場合は、数字を駒の前に置く。例えば「2P」は歩兵2枚を意味する。
第3フィールド:スタイル・手番
各プレイヤーのゲームスタイルと現在の手番を記述する。
<手番側のスタイル>/<待機側のスタイル>
- 大文字は先手、小文字は後手を示す。
- 左側に記述されたプレイヤーが現在の手番である。
- 将棋の場合、スタイルは「S」(Shogi)で表される。
例
将棋の初期配置
lnsgk^gsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGK^GSNL / S/s
この文字列は以下を表す:
- 第1フィールド:9×9の将棋盤の初期配置(後手側から順に記述)
- 第2フィールド:両者とも持ち駒なし(「/」のみ)
- 第3フィールド:先手(S)の手番、両者とも将棋スタイル(S/s)
1.☗7六歩 の直後
lnsgk^gsnl/1r5b1/ppppppppp/9/9/2P6/PP1PPPPPP/1B5R1/LNSGK^GSNL / s/S
先手が7六歩と指した直後の局面:
- 6段目に「2P6」とあり、7筋に歩が進んでいることを示す。
- 第3フィールドが「s/S」となり、後手(s)の手番に変わっている。
FENとの違い
| 特徴 | FEN | FEEN |
|---|---|---|
| 対象ゲーム | チェス専用 | 複数の抽象戦略ゲーム |
| ルール依存情報 | 含む(キャスリング、アンパッサン等) | 含まない |
| 持ち駒の表現 | 非対応 | 対応 |
| 複数スタイル | 非対応 | 対応(クロススタイルゲーム) |
| 正規形 | 非保証 | 仕様上、正規形が定義されている |
関連仕様
FEENは以下の関連仕様に依存している:
- EPIN(Extended Piece Identifier Notation):駒の識別子を定義
- SIN(Style Identifier Notation):プレイヤーのスタイルを定義
外部リンク
- FEEN v1.0.0 仕様書
- FEEN Viewer(インタラクティブな局面ビューア)
- FEEN Ruby実装
関連項目
- Field Expression Encoding Notationのページへのリンク