Smart Game Format

ウィキペディアから、無料の百科事典

Smart Game Format(SGF)はボードゲームの棋譜保存に使われるコンピュータファイルフォーマットであり、オープン・コンテント・ライセンス(英語版)で提供されている[1]。1987年に第1版(FF[1])が提案され、1999年の第4版(FF[4])が最新版である。SGFフォーマットが最も一般に普及しているゲームは囲碁であるが、複数のボードゲームに対応している。

沿革

SGFは、Smart Go Boardの作者としても知られるAnders Kierulfにより1987年に提案された[2]。このときはコンピュータ囲碁における標準としての提案だったが、広く受け入れられなかったため、1990年に発表された自身の博士論文でSmart Go Board用のファイルフォーマットとして仕様書を付録に入れた[2][3]。この1987年/1990年版が第1版(FF[1])であり、FF[1]では対応するボードゲームが囲碁、リバーシ、チェス、ナイン・メンズ・モリスの4種類だった[4]。

1993年にマルティン・ミュラー(Martin Müller)がSGFの仕様を整理して第3版(FF[3])を発表し[1]、対応するゲームがFF[1]で対応していた4種類に五目並べ、連珠、シャンチー、将棋を加えた7種類(仕様では五目並べと連珠が同一として扱われている)[5]。その後、1997年にアルノ・ホロシ(Arno Hollosi)が第3版から新機能を追加した第4版(FF[4])を発表した[1]。

1999年に第5版(FF[5])制定に向けた議論が開始されたが、正式発表には至っていない[6]。また、2002年にXMLを採用するXGFフォーマット(XML Game Format)が提案されたが[7]、やはり広く採用されていない。

対応ボードゲーム

SGFファイルのGMプロパティはゲーム種類を示しており、FF[4]では1から40までの40種が定義されている[8]。

SGFが対応している主要なボードゲームには以下のものがある。

SGFが対応している主要なボードゲーム[8]
GMプロパティボードゲーム注釈
1囲碁
2リバーシ
3チェスPortable Game Notation形式が一般的。
4五目並べ、連珠五目並べと連珠は同一扱い
5ナイン・メンズ・モリス
6バックギャモン
7シャンチー
8将棋
11ヘックス
12闘獣棋
17タントリックス
21ツイクスト

仕様

データ形式

SGFはテキストベースのデータ形式を採用し、ゲーム情報の保存に木構造表現を使用するが、この木構造では単純な変化を追加することができる[9]。この木構造ではセミコロン(;)で親ノードと子ノードを区切り、半角丸括弧((と))で兄弟ノードのグループを表記する[9]。また、ノードにはプロパティ名[プロパティ値]という形でプロパティが指定される[9]。

プロパティ

プロパティ名は大文字アルファベットでのみ定義されており、ノードにおける指定では順不同で指定できる[9]。プロパティは根(SGFバージョン(FF)、ゲーム種類(GM)など根ノードでのみ指定できる)、ゲーム情報(黒番と白番のプレイヤー名(PB, PW)、コミ(KM)など一局ごとの情報)、セットアップ(最初から置かれている黒石と白石(AB, AW)など、最初の局面を示す情報)、着手(黒番の着手(B)、白番の着手(W)など)、その他(コメント(C)、悪手(BM)など)に大別される[8][9]。

主要なプロパティ[8]
プロパティ名種類プロパティ値の例説明
FF根プロパティ4SGFのバージョン
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その他これはコメントです。コメント

脚注

  1. 1 2 3 Hollosi, Arno (12 September 1999). "SGF User Guide Version 1.2" (英語). 2020年9月21日閲覧。
  2. 1 2 Ormerod, David (1 May 2011). "An interview with Anders Kierulf of SmartGo" (英語). Go Game Guru. 2016年12月24日時点のオリジナルよりアーカイブ。2020年9月21日閲覧。
  3. ↑ Keirulf, Anders (1990). Smart Game Board: a Workbench for Game-Playing Programs, with Go and Othello as Case Studies (Thesis) (英語). Zürich: ETH Zürich. doi:10.3929/ethz-a-000578364。
  4. ↑ Kierulf, Anders (30 January 1995) [1990]. Müller, Martin (ed.). "File Format FF[1]" (英語). 2020年9月21日閲覧。
  5. ↑ Müller, Martin (1 March 1995). "Smart Game File Format FF[3]" (英語). 2020年9月21日閲覧。
  6. ↑ "SGF FF[5] - Discussion" (英語). 19 March 1999. 2020年9月21日閲覧。
  7. ↑ Hollosi, Arno (7 April 2002). "XGF - An XML Game Format" (英語). 2020年9月21日閲覧。
  8. 1 2 3 4 "SGF Properties (FF[4])" (英語). 25 June 2006. 2020年9月21日閲覧。
  9. 1 2 3 4 5 "SGF file format FF[4]" (英語). 6 August 2006. 2020年9月21日閲覧。

関連項目

外部リンク