SGF file format FF[5] last updated: 1999-03-17

New and deleted properties

Please note that values given for keys (PI, OT, etc.) are just for illustration and can/should be discussed. Should they be verbose (e.g. "referee" instead of "RF")?

Properties no longer part of FF5

These are just suggestions!

New properties

Note: OT is not really new, but completely redefined.
Property:	UN
Propvalue:	number (range: number >= 1)
Propertytype:	move
Function:	Undo a number of nodes. The number is given in the
		property value. Undoing has the same effect as if the
		undone nodes would have never been executed. It is similar
		to the user stepping back in the SGF tree.
		See examples for further explanation.
		B, W, and UN properties must not be mixed within a node.


Property:	PI
Propvalue:	list of ( composition of simpletext ":" simpletext )
Propertytype:	game-info
Function:	Provides information about other persons (or
		organizations) involved in the game. The first value is
		used as key. Following keys are recommended:
		"Color"  ... player of color (e.g. black, white). This
			     information is usually stored into PB, PW.
			     In team games IP should be used to record
			     names of each player in the team.
			     Multi-player games can list the players here.
		"Colora" ... assistant to player color, e.g. person who
			     enters the move into a client program during an
			     internet game.
		"RF"     ... chief referee
		"RFa"    ... assistant referee
		"US"     ... person who records the game moves (also: US[])
		"TK"     ... person who keeps track of the players' time
		"AN"     ... person who analyzes the game (also: AN[])
		"CO"     ... person who wrote the comments (e.g. a journalist)
		"SP"     ... sponsor
		Examples:
		IP[B:Aoki Kikuyo, 6 dan][B:Kato Masao, 9 dan]
		  [W:Yashiro Kumiko, 1 dan][W:Komatsu Hideki, 9 dan]
		  [AN:Rin Kaiho, 9 dan][CO:Taniguchi Makio (Kido)]
		  [RF:Ma Xiaochun, Mingren][RFa:Nie Weiping][SP:Samsung]


Property:	OT
Propvalue:	list of ( composition of simpletext ":" ext_color ":" real )
Propertytype:	game-info
Function:	Describes the method used for overtime (byo-yomi) in
			a machine readable way. The simpletext value is used
			as key, the ext_color value contains for which player
			(color) this setting is valid, and the real value
			contains the setting itself.
			Following keys are allowed:
			"TM" ... basic thinking time - value is in seconds.
				 No default value.
			"OP" ... overtime period (aka byo-yomi) - value is
				 in seconds. No default value.
			"OM" ... moves per overtime - value is number
				 of moves. Default value: 1
			"NO" ... number of overtime periods (i.e. how many
				 periods are added before a time-out).
				 Value is number of periods, with following
				 special values: 0 ... no overtime period
						-1 ... unlimited periods
				 Default value: -1
			"OG" ... granularity of extended time - value is
				 in seconds. This means that the time
				 recorded is calculated as follows:
				 time_rec = INT(time_used / ogran) * ogran
				 INT means that only the integer part of the
				 division is taken.  Default value: 1.0
			"TG" ... granularity for basic time
				 Default value: 1.0
			Examples:
			OT[TM:A:10800][OP:A:60][OM:A:1][NO:A:1][OG:A:60]
			  ... standard international pro game
			OT[TM:A:300][OP:A:600][OM:A:25]
			  ... go server 5/10 game
			OT[TM:A:28800][OP:A:600][OM:A:1][NO:A:1]
			  [OG:A:60][TG:A:60] ... Kisei match
			OT[TM:A:2700][NO:A:0] ... Amsterdam Obayashi Cup