Введение

Формат файла для записи настольных игр, программное обеспечение для игры Го.

Smart Game Format (SGF) – это формат файла, используемый для хранения записей партий настольных игр. Игра Го наиболее часто представлена в этом формате и является форматом по умолчанию. SGF был первоначально создан Андерсом Кирульфом под другим названием для его программы SmartGO. Основное назначение SGF – хранение записей сыгранных партий и обеспечение возможностей для хранения аннотированных и проанализированных игр (например, разметка доски, варианты). Это текстовый формат, основанный на древовидной структуре. Большинство интернет-серверов и программного обеспечения для Го, начиная с 1990 года, поддерживают этот формат.

О формате

Файл SGF состоит из пар свойств и значений свойств, каждое из которых описывает характеристику игры. Ниже приведен частичный список свойств. ABAdd Black: координаты черных камней, которые должны быть размещены на доске до первого хода. AWAdd White: координаты белых камней, которые должны быть размещены на доске до первого хода. ANAnnotations: имя комментатора игры. APApplication: приложение, использованное для создания файла SGF (например, CGOban2). Ba: ход черных в координатах, указанных в значении свойства. BRBlack Rank: ранг черного игрока. BTBlack Team: название черной команды. CComment: комментарий. CPCopyright: информация об авторских правах. DTDate: дата игры. EVEvent: название события (например, 58-й матч за титул Хонъинбо). FFFile format: версия спецификации SGF, определяющая данный файл SGF. GMGame: тип игры, представленный этим файлом SGF. Значение свойства 1 соответствует игре Го. GNGame Name: название записи игры. HAHandicap: количество камней форы, данных черным. Размещение камней форы задается с помощью свойства AB. KMKomi: коми. ONOpening: информация об дебюте (Fuseki), редко используется в файлах. OTOvertime: система определения победителя в случае истечения времени. PBBlack Name: имя черного игрока. PCPlace: место проведения игры (например, Токио). PLPlayer: цвет игрока, начинающего партию. PWWhite Name: имя белого игрока. REResult: результат, обычно в формате "B+R" (черные победили по сдаче) или "B+3.5" (черные победили с преимуществом 3.5 очка). RORound: раунд (например, 5-я игра). RURules: набор правил (например, японские). SOSource: источник файла SGF. SZSize: размер доски, поддерживаются доски неквадратной формы. TMTime limit: лимит времени в секундах. USUser: имя создателя файла SGF. Wa: ход белых в координатах, указанных в значении свойства. WRWhite Rank: ранг белого игрока. WTWhite Team: название белой команды. Строгая проверка содержимого этих тегов не производится, поэтому в тег результата можно поместить любой текст, например. Вариации заключаются в квадратные скобки и обычно обозначаются буквами. Первая ветвь (вариация A) является основной ветвью. Эта нотация происходит из формата Newick.

Координационная система для точек и движений

Первая буква обозначает столбец (слева направо), вторая — строку (сверху вниз). Верхняя левая часть доски используется для досок меньшего размера, например, буквы "a" и "m" для доски 13x13. Автор намеренно отошел от традиции обозначения ходов (и точек) буквами "A", "T" (исключая "i") и цифрами от 1 до 19. Вместо этого, для простоты и компактности, использовались две строчные буквы в диапазоне от "a" до "s". Расположение верхнего левого угла в качестве начала координат доски соответствует тому, как большинство современных компьютеров представляют координаты экрана, что упрощает интеграцию текста и графики.

Поддерживаемые игры

В настоящее время поддерживаются игры: Амазонки, Атакс, Бэкгаммон, Блокус, Байт, Чейз, Шахматы, DVONN, Exxit, Фокус, Гесс, GIPF, Го, Гобблет, Гомоку+Рендзю, Гекс, Улей, Хнефатафл, Джунгли, Кропки, Куба, Линии действия, Нейтрон, Моррис (игра девять пешек), Окти, Футбол философов, Плато, PÜNCT, Квадратура, Реверси (Отелло), Сахара, Шоги, TAMSK, Тантрикс, Тракс, Триплз, Tumbling Down, TwixT, Сянцы, YINSH и ZÈRTZ. Хотя и не поддерживается официально, формат sgf также используется для Меридианов. Стандарт определяет дополнительные игровые свойства для Го, Бэкгаммона, Линий действия, Гекса, Амазонок, Окти, Гесса и TwixT.

Формат версии

Первая версия SGF, FF[1], была разработана Андерсом Кирульфом в 1987 году. Она является Приложением А к его докторской диссертации. FF[3] был написан Мартином Мюллером в 1993 году. Текущая версия SGF – FF[4] Арно Холлоши, и поддерживается большинством современных программ для чтения SGF. FF[2] так и не был опубликован. Формат был опубликован под лицензией Open Content License. Текущий статус разработки (2016) – "неактивный". FF[4] устарел, но пока не был заменен более новой версией. Подробное описание современного использования и некоторые рекомендации можно найти.

Ограничения

Стандарт FF[4] имеет ряд проблем, которые делают его внедрение для больших игровых коллекций невозможным или, по крайней мере, нецелесообразным. Подробности обсуждения – см. Отсутствие стандартных обозначений для многих свойств, которые хотелось бы представить, в сущности, не является ограничением. Система расширяема, можно придумывать новые метки, и это уже происходит. Со временем наиболее популярные из новых меток становятся общепринятыми.