()はボードゲームの棋譜保存に使われるコンピュータファイルフォーマットであり、で提供されている。1987年に第1版(FF)が提案され、1999年の第4版(FF)が最新版である。SGFフォーマットが最も一般に普及しているゲームは囲碁であるが、複数のボードゲームに対応している。
沿革 SGFは、の作者としても知られるAnders Kierulfにより1987年に提案された。このときはコンピュータ囲碁における標準としての提案だったが、広く受け入れられなかったため、1990年に発表された自身の博士論文で用のファイルフォーマットとして仕様書を付録に入れた。この1987年/1990年版が第1版(FF)であり、FFでは対応するボードゲームが囲碁、リバーシ、チェス、ナイン・メンズ・モリスの4種類だった。
1993年にマルティン・ミュラー()がSGFの仕様を整理して第3版(FF)を発表し、対応するゲームがFFで対応していた4種類に五目並べ、連珠、シャンチー、将棋を加えた7種類(仕様では五目並べと連珠が同一として扱われている)。その後、1997年にアルノ・ホロシ()が第3版から新機能を追加した第4版(FF)を発表した。
1999年に第5版(FF)制定に向けた議論が開始されたが、正式発表には至っていない。また、2002年にXMLを採用するXGFフォーマット()が提案されたが、やはり広く採用されていない。
対応ボードゲーム SGFファイルのGMプロパティはゲーム種類を示しており、FFでは1から40までの40種が定義されている。
SGFが対応している主要なボードゲームには以下のものがある。
+ SGFが対応している主要なボードゲーム GMプロパティ ボードゲーム 注釈 1 囲碁 2 リバーシ 3 チェス Portable Game Notation形式が一般的。 4 五目並べ、連珠 五目並べと連珠は同一扱い 5 ナイン・メンズ・モリス 6 バックギャモン 7 シャンチー 8 将棋 11 ヘックス 12 闘獣棋 17 タントリックス 21 ツイクスト
仕様 データ形式 SGFはテキストベースのデータ形式を採用し、ゲーム情報の保存に木構造表現を使用するが、この木構造では単純な変化を追加することができる。この木構造ではセミコロン(;)で親ノードと子ノードを区切り、半角丸括弧((と))で兄弟ノードのグループを表記する。また、ノードにはプロパティ名[プロパティ値]という形でプロパティが指定される。
プロパティ プロパティ名は大文字アルファベットでのみ定義されており、ノードにおける指定では順不同で指定できる。プロパティは根(SGFバージョン(FF)、ゲーム種類(GM)など根ノードでのみ指定できる)、ゲーム情報(黒番と白番のプレイヤー名(PB, PW)、コミ(KM)など一局ごとの情報)、セットアップ(最初から置かれている黒石と白石(AB, AW)など、最初の局面を示す情報)、着手(黒番の着手(B)、白番の着手(W)など)、その他(コメント(C)、悪手(BM)など)に大別される。 + 主要なプロパティ プロパティ名 種類 プロパティ値の例 説明 FF 根プロパティ 4 SGFのバージョン GM 根プロパティ 1 ゲームの種類(#対応ボードゲームを参照) CA 根プロパティ UTF-8 文字セット AP 根プロパティ CGoban:1.6.2 アプリケーション名とバージョン SZ 根プロパティ 19、9:10 ゲームボードのサイズ DT ゲーム情報 2020-09-21 対局日付 EV ゲーム情報 ABCトーナメント 大会名 HA ゲーム情報 2 置き石の数(囲碁専用プロパティ) KM ゲーム情報 5.5 コミ(囲碁専用プロパティ) PB ゲーム情報 田中 黒番のプレイヤー名 PW ゲーム情報 佐藤 白番のプレイヤー名 RE ゲーム情報 W+0.5 対局結果 RU ゲーム情報 Japanese 適用ルール TM ゲーム情報 3600 持ち時間 AB セットアップ cc 最初から置かれている黒石 AW セットアップ dd 最初から置かれている白石 PL セットアップ W 手番 B 着手プロパティ cc 黒番の着手 W 着手プロパティ dd 白番の着手 BM 着手プロパティ 悪手 IT 着手プロパティ 妙手 TE 着手プロパティ 手筋 C その他 これはコメントです。 コメント
脚注
関連項目 棋譜
外部リンク 公式サイト 棋譜再生・編集ソフト Kiin Editor - 日本棋院 Smart Game Format -