智能游戏格式

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

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

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

关于格式 
一个 SGF 文件由属性和属性值的成对组成，每个属性和属性值描述游戏的一个特征。以下是一部分属性的列表。 

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

变体嵌套在括号中，通常也分配字母。第一个分支（变体 A）是主分支。 这种表示法源于Newick 格式。

点和移动的坐标系 
第一个字母代表列（从左到右），第二个字母代表行（从上到下）。棋盘的左上角用于小棋盘，例如用于13*13棋盘的字母"a"-"m"。

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

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

支持的游戏 
遊戲種類以編號表示，寫在屬性GM中，如圍棋為GM[1]。下表為SGF支持的遊戲與對應編號。

格式版本 
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 有排名字段，但无法表示正在使用的排名系统。

 便携式游戏符号- 记录国际象棋游戏的格式
 便携式草稿符号

参考

外部链接 

 
 Go Problems 

 SGF编辑 
 SGF 网络浏览器 
 SGF 工具（文件转换、语法检查器等。  ) 
 SGF 解析器 

围棋软件
文件格式