智能游戏格式

棋盘游戏记谱文件格式

智能游戏格式(Smart Game Format,简称SGF)是一种用于存储棋盘游戏记录的计算机文件格式。围棋是最常见的用这种格式记录的游戏,并且是默认的。SGF最初是由Anders Kierulf为他的SmartGO程序创建的,当时具有不同的名称。该格式的当前版本是4。

Smart Game Format
扩展名
.sgf
开发者Anders Kierulf (1987, FF1), Martin Mueller (1993, FF3), Arno Hollosi (1997, FF4)
首次发布1987
最新版本
4
1997
格式类型mark up text
作为容器Go (game) record
自由格式yes
网站www.red-bean.com/sgf/

SGF的主要目的是存储已玩游戏的记录,并提供存储注释和分析游戏(例如棋盘标记,变化)的功能。它是纯文本,基于树形结构的格式。树型结构使添加变化变得简单。为了便于移植,它也是基于文本的,而不是二进制的。

以 SGF 格式存储的游戏可以轻松地通过电子邮件发送、发布或使用基于文本的工具进行处理。 1990 年以来的大多数互联网围棋服务器围棋软件都支持这种格式。

关于格式

一个 SGF 文件由属性和属性值的成对组成,每个属性和属性值描述游戏的一个特征。以下是一部分属性的列表。 [1]

AB 添加黑子:在第一步之前要放置在棋盘上的黑子位置
AW 添加白子:第一步之前要放置在棋盘上的白子的位置。
AN 注释:评论游戏的人的名字。
AP 应用程序:用于创建 SGF 文件的应用程序(例如CGOban2,. . . ).
B 黑方在属性值指定的位置下棋。
BR Black Rank:黑色玩家的等级。
BR 黑队:黑队的名称。
C 评论:评论。
CP 著作权所有:著作权信息。
DT 日期:比赛日期。
EV 事件:事件的名称(例如第 58 届Honinbō冠军赛)。
FF 文件格式:管理此 SGF 文件的 SGF 规范版本。
GM 游戏:此 SGF 文件代表的游戏类型。属性值为 1 表示 Go。
GN 游戏名称:游戏记录的名称。
HA 让子:给黑棋的让子数。使用 AB 属性设置障碍石的位置。
KM Komi:贴目
ON Opening:关于开局( 布局 )的信息,很少在任何文件中使用。
OT 加时:加时制度。
B Black Name:执黑棋手名字。
PC 地点:比赛进行的地点(例如:东京)。
PL 棋手所执棋子颜色。
PW 白子棋手名字。
RE Result:结果,通常格式为“B+R”(黑方胜退)或“B+3.5”(黑方胜3.5)。
RO Round回合:(如:第5场比赛)。
RU Rule规则:规则集(例如:日本规则)。
SO Source来源:SGF 文件的来源。
SZ Size尺寸:棋盘尺寸,支持非正方形板子。
TM Time limit时间限制:以秒为单位的时间限制。
US User用户:创建 SGF 文件的人的姓名。
W 白棋在属性值指定的位置下棋。
WR 白色等级:白色玩家的等级。
WT 白队:白队的名称。

没有严格检查这些标签的内容,因此可以将任何文本放入例如结果标签中。

变体嵌套在括号中,通常也分配字母。第一个分支(变体 A)是主分支。 [2]这种表示法源于Newick 格式。

点和移动的坐标系

第一个字母代表列(从左到右),第二个字母代表行(从上到下)。棋盘的左上角用于小棋盘,例如用于13*13棋盘的字母"a"-"m"。

作者故意打破了用字母“A”到“T”(不包括“I”)和数字1-19标记棋步(和点数)的传统。为了简便和紧凑起见,改用了范围在“a”到“s”的两个小写字母。

棋盘的左上角作为起点,对应于大多数现代计算机绘制屏幕坐标的方式,以简化文本和图形的集成。

支持的游戏

游戏种类以编号表示,写在属性GM中,如围棋为GM[1]。下表为SGF支持的游戏与对应编号。

游戏 编号[3] 游戏 编号 游戏 编号 游戏 编号
围棋 1 六贯棋 11 通桥棋 21 Tripples 31
黑白棋 2 斗兽棋 12 冰山棋 22 Chase 32
国际象棋 3 中子棋 13 Plateau英语Plateau (game) 23 塔王棋 33
五子棋连珠 4 哲球棋 14 圈套棋 24 Sahara 34
直棋 5 Quadrature 15 雪地棋 25 Byte 35
双陆棋 6 新西兰圈棋 16 套筒棋 26 聚焦棋 36
中国象棋 7 Tantrix英语Tantrix 17 昆虫棋 27 火山棋 37
日本将棋 8 亚马逊棋 18 造岛棋 28 沙漏棋 38
集结棋 9 八爪跳棋 19 板棋 29 星盘棋 39
同化棋 10 群相棋 20 Kuba 30 围点棋 40

格式版本

SGF的第一个版本FF [1]由Anders Kierulf在1987年构思。它是他的博士论文附录A[3]。FF[3]由Martin Müller于1993年编写。当前版本的SGF是Arno Hollosi的FF [4],并且受到大多数当前SGF阅读器的支持。FF [2]从未公开发布。该格式已根据开放内容许可证公开发布。当前开发状态(2016)为“非活动状态”。

限制

  • 语言:围棋在中国、日本和韩国被广泛使用,但 SGF 格式无法为文本指定不同的翻译。
  • 元数据:只能存在一组有限的、固定的元数据,例如,SGF 有排名字段,但无法表示正在使用的排名系统。

参考

  1. ^ Official Guide. Red-bean.com. 6 August 2006 [12 February 2016]. (原始内容存档于2020-11-16). 
  2. ^ Variation Guide. Red-bean.com. 7 January 1999 [12 February 2016]. (原始内容存档于2020-10-20). 
  3. ^ SGF Properties (FF[4]). 2006-06-25 [2023-06-07]. (原始内容存档于2023-04-08). 

外部链接