智能游戏格式
智能游戏格式(Smart Game Format,简称SGF)是一种用于存储棋盘游戏记录的计算机文件格式。围棋是最常见的用这种格式记录的游戏,并且是默认的。SGF最初是由Anders Kierulf为他的SmartGO程序创建的,当时具有不同的名称。该格式的当前版本是4。
扩展名 |
.sgf |
---|---|
开发者 | Anders Kierulf (1987, FF1), Martin Mueller (1993, FF3), Arno Hollosi (1997, FF4) |
首次发布 | 1987 |
最新版本 | 4 1997 |
格式类型 | mark up text |
作为容器 | Go (game) record |
自由格式? | yes |
网站 | www |
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 | 23 | 塔王棋 | 33 |
五子棋或连珠 | 4 | 哲球棋 | 14 | 圈套棋 | 24 | Sahara | 34 |
直棋 | 5 | Quadrature | 15 | 雪地棋 | 25 | Byte | 35 |
双陆棋 | 6 | 新西兰圈棋 | 16 | 套筒棋 | 26 | 聚焦棋 | 36 |
中国象棋 | 7 | 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 有排名字段,但无法表示正在使用的排名系统。
- 便携式游戏符号- 记录国际象棋游戏的格式
- 便携式草稿符号
参考
- ^ Official Guide. Red-bean.com. 6 August 2006 [12 February 2016]. (原始内容存档于2020-11-16).
- ^ Variation Guide. Red-bean.com. 7 January 1999 [12 February 2016]. (原始内容存档于2020-10-20).
- ^ SGF Properties (FF[4]). 2006-06-25 [2023-06-07]. (原始内容存档于2023-04-08).
外部链接
- 官方网站
- Go Problems (页面存档备份,存于互联网档案馆)