스마트 게임 포맷
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
스마트 게임 포맷(SGF)은 다양한 보드 게임의 정보를 저장하기 위해 개발된 텍스트 기반의 파일 형식이다. 1987년 안더스 키에룰프에 의해 처음 제안되었으며, 이후 여러 차례 사양 개정을 거쳐 FF[4]가 널리 사용되고 있다. SGF 파일은 속성 및 속성 값 쌍으로 구성되며, 흑돌 추가, 백돌 추가, 주석, 게임 결과 등 다양한 정보를 포함한다. 현재 바둑, 체스, 오목 등 40여 가지의 게임을 지원하며, 게임 종류는 GM 속성으로 구분된다.
더 읽어볼만한 페이지
2. 역사
SGF의 첫 번째 버전인 FF[1]은 1987년 안더스 키에룰프(Anders Kierulf영어)에 의해 구상되었으며, 그의 박사 학위 논문 부록 A에 해당한다.[5] 1993년 마르틴 뮐러(Martin Müllerde)가 SGF 사양을 정리하여 제3판(FF[3])을 발표했다.[12] 현재 SGF 버전은 아르노 홀로시(Arno Holloside)의 FF[4]이며, 대부분의 최신 SGF 리더에서 지원된다. FF[2]는 공개된 적이 없으며, 이 형식은 오픈 콘텐츠 라이선스에 따라 게시되었다.
SGF 파일은 각 게임의 특징을 설명하는 속성 및 속성 값 쌍으로 구성된다.[1] 이러한 속성에는 게임 정보, 플레이어 정보, 규칙 등이 포함된다.
1987년 SGF는 Smart Go Board영어의 저자이기도 한 안더스 키에룰프에 의해 제안되었다.[8] 당시 컴퓨터 바둑의 표준으로 제안되었지만 널리 받아들여지지 않아, 1990년 발표된 그의 박사 학위 논문에 Smart Go Board영어용 파일 형식 사양서를 부록으로 넣었다.[8][9] 이 1987년/1990년판이 제1판(FF[1])이며, 바둑, 오셀로, 체스, 나인 멘 모리스의 4종류 게임을 지원했다.[10]
1993년 마르틴 뮐러는 SGF 사양을 정리하여 제3판(FF[3])을 발표했고,[12] 오목, 렌주, 샹치, 쇼기를 더한 7종류의 게임을 지원했다(사양에서는 오목과 렌주가 동일하게 취급됨).[11] 1997년 아르노 홀로시는 제3판에 새로운 기능을 추가한 제4판(FF[4])을 발표했다.[12]
1999년 제5판(FF[5]) 제정을 위한 논의가 시작되었지만 정식 발표되지는 못했다.[13] 2002년 XML을 채택하는 XGF 포맷(XML Game Format영어)이 제안되었으나,[14] 역시 널리 채택되지 않았다.
3. 구조 및 형식
SGF는 텍스트 기반의 데이터 형식을 채택하고, 게임 정보 저장에 트리 구조 표현을 사용한다.[16] 이 트리 구조에서는 세미콜론(;)으로 부모 노드와 자식 노드를 구분하고, 반각 괄호((과 ))로 형제 노드의 그룹을 표기한다.[16] 또한, 노드에는 `속성명[속성값]`의 형태로 속성이 지정된다.[16]
변형은 괄호 안에 중첩되며, 일반적으로 문자가 할당된다. 첫 번째 분기(변형 A)가 주요 분기이다.[2] 이 표기법은 뉴윅 형식에서 비롯되었다.
SGF에서 사용되는 태그의 내용에 대해서는 엄격한 검사가 이루어지지 않으므로, 예를 들어 결과 태그에 어떤 텍스트든 넣을 수 있다.
3. 1. 데이터 형식
SGF는 텍스트 기반의 데이터 형식을 채택하며, 게임 정보의 저장에 트리 구조 표현을 사용한다.[16] 이 트리 구조에서는 세미콜론(;)으로 부모 노드와 자식 노드를 구분하고, 반각 괄호(())로 형제 노드의 그룹을 표기한다.[16] 각 노드는 `속성명[속성값]`의 형태로 속성을 지정할 수 있다.[16]
SGF 파일은 각 게임의 특징을 설명하는 속성 및 속성 값 쌍으로 구성된다.[1] 속성명은 대문자 알파벳으로만 정의되어 있으며, 노드에서 지정할 때는 순서에 관계없이 지정할 수 있다.[16] 속성은 루트(SGF 버전(FF), 게임 종류(GM) 등 루트 노드에서만 지정 가능), 게임 정보(흑번과 백번 플레이어 명(PB, PW), 덤(KM) 등 한 국면당 정보), 셋업(처음부터 놓인 흑돌과 백돌(AB, AW) 등, 첫 국면을 나타내는 정보), 착수(흑번의 착수(B), 백번의 착수(W) 등), 기타(코멘트(C), 악수(BM) 등)로 크게 분류된다.[15][16]
다음은 SGF 파일에서 사용되는 속성들의 일부이다.[1]
3. 2. 속성 (Properties)
SGF 파일은 각 게임의 특징을 설명하는 속성 및 속성 값 쌍으로 구성된다.[1] 속성명은 대문자 알파벳으로만 정의되며, 노드에서 지정할 때는 순서에 관계없이 지정할 수 있다.[16]속성은 크게 루트, 게임 정보, 셋업, 착수, 기타로 분류된다.[15][16]
- 루트 속성: SGF 버전(FF), 게임 종류(GM), 문자 세트(CA), 애플리케이션(AP), 게임 보드 크기(SZ) 등 루트 노드에서만 지정 가능한 속성이다.[15][16]
- 게임 정보 속성: 대국 날짜(DT), 대회명(EV), 접바둑돌 수(HA), 덤(KM), 흑/백 플레이어 명(PB/PW), 대국 결과(RE), 적용 규칙(RU), 제한 시간(TM) 등 한 국면당 정보이다.[15][16]
- 셋업 속성: 처음부터 놓인 흑/백돌(AB/AW), 순서(PL) 등 첫 국면을 나타내는 정보이다.[15][16]
- 착수 속성: 흑/백의 착수(B/W), 악수(BM), 묘수(IT), 수(TE) 등이다.[15][16]
- 기타 속성: 코멘트(C) 등이다.[15][16]
3. 3. 좌표 체계
SGF에서 점과 착수의 좌표는 두 개의 문자로 표현된다. 첫 번째 문자는 열(왼쪽에서 오른쪽)을 나타내고, 두 번째 문자는 행(위에서 아래)을 나타낸다.[1] 예를 들어, 바둑판의 왼쪽 상단 모서리는 "aa"로 표시된다.[1]이는 "A"-"T"( "i" 제외) 및 숫자 1-19로 움직임(과 점)을 표시하는 전통을 의도적으로 깨뜨린 것이다. 단순함과 간결성을 위해 "a"-"s" 범위의 소문자 두 개를 대신 사용했다.[1]
보드의 원점인 왼쪽 상단 모서리는 대부분의 최신 컴퓨터가 텍스트와 그래픽 통합을 단순화하기 위해 화면 좌표를 나타내는 방식에 해당한다.[1]
4. 지원 게임
SGF는 다양한 보드게임을 지원하며, 각 게임은 GM 속성으로 구분된다. FF[4]에서는 40가지 게임이 정의되어 있다.[15]
SGF는 1987년 Smart Go Board영어의 저자인 안데르스 키에룰프(Anders Kierulf)에 의해 처음 제안되었다.[8] 당시에는 컴퓨터 바둑 표준으로 제안되었으나 널리 받아들여지지 않았다. 1990년 키에룰프는 자신의 박사 학위 논문에 Smart Go Board영어용 파일 형식으로 SGF 사양서를 부록으로 추가했다.[8][9] 이 1987년/1990년 판이 제1판(FF[1])이며, 바둑, 오델로, 체스, 나인 멘 모리스 4종류를 지원했다.[10]
1993년 마르틴 뮐러(Martin Müllerde)는 SGF 사양을 정리해 제3판(FF[3])을 발표했고,[12] 지원 게임은 FF[1]의 4종류에 오목, 렌주, 샹치, 쇼기를 더한 7종류가 되었다(사양에서는 오목과 렌주를 동일하게 취급).[11] 1997년 아르노 홀로시(Arno Holloside)는 제3판에 새로운 기능을 추가한 제4판(FF[4])을 발표했다.[12]
1999년 제5판(FF[5]) 제정을 위한 논의가 시작되었으나 정식 발표되지는 않았다.[13] 2002년 XML을 채택한 XGF 포맷(XML Game Format영어)이 제안되었으나,[14] 역시 널리 채택되지 않았다.
4. 1. 주요 지원 게임
아마존스, 아택스, 백개먼, 블로커스,[4] 바이트, 체이스, 체스, 드본, 엑시트, 포커스, 게스, 지프, 바둑, 고블렛, 오목+렌주, 헥스, 하이브, 흐네파타플, 정글, 크로프키, 쿠바, 라인스 오브 액션, 뉴트론, 나인 멘 모리스, 옥티, 철학자의 축구, 플래토, 푼트, 쿼드러처, 리버시 (오셀로), 사하라, 쇼기, 탐스크, 탠트릭스, 트락스, 트리플, 텀블링 다운, 트윅스트, 샹치, 인쉬, 제르츠가 현재 지원되는 게임이다.[3] 공식적으로 지원되지는 않지만, sgf 형식은 메리디안스에도 사용된다.SGF 파일의 GM 속성은 게임 종류를 나타내며, FF[4]에서는 1부터 40까지 40가지가 정의되어 있다.[15]
5. 한계
FF표준영어에는 대규모 게임 컬렉션에 적용하는 것을 불가능하게 하거나, 적어도 비합리적으로 만드는 몇 가지 문제가 있다. 자세한 내용은 참고 문헌을 참조한다.[7]
원하는 많은 속성을 나타내는 표준 지정이 없다는 사실은 실제로 제한 사항은 아니다. 이 시스템은 확장 가능하며, 새로운 레이블을 만들 수 있고, 이미 그렇게 되었다. 시간이 지나면 새로운 레이블 중 인기 있는 레이블이 표준이 된다.
참조
[1]
웹사이트
SGF file format FF[4]
https://red-bean.com[...]
red-bean.com
2006-08-06
[2]
웹사이트
SGF - Variations
https://red-bean.com[...]
red-bean.com
1999-01-07
[3]
웹사이트
The SGF format
https://homepages.cw[...]
[4]
웹사이트
Pentobi/Libpentobi_base/Pentobi-SGF.md at main · enz/Pentobi
https://github.com/e[...]
[5]
웹사이트
Definition of the Smart Game Format
https://britgo.org/t[...]
British Go Association
2023-06-02
[6]
웹사이트
The SGF Format
http://homepages.cwi[...]
[7]
웹사이트
Notes on the SGF format
https://homepages.cw[...]
[8]
웹사이트
An interview with Anders Kierulf of SmartGo
https://gogameguru.c[...]
Go Game Guru
2020-09-21
[9]
논문
Smart Game Board: a Workbench for Game-Playing Programs, with Go and Othello as Case Studies
ETH Zürich
1990
[10]
웹사이트
File Format FF[1]
https://www.red-bean[...]
2020-09-21
[11]
웹사이트
Smart Game File Format FF[3]
https://www.red-bean[...]
2020-09-21
[12]
웹사이트
SGF User Guide Version 1.2
https://www.red-bean[...]
2020-09-21
[13]
웹사이트
SGF FF[5] - Discussion
https://www.red-bean[...]
2020-09-21
[14]
웹사이트
XGF - An XML Game Format
https://www.red-bean[...]
2020-09-21
[15]
웹사이트
SGF Properties (FF[4])
https://www.red-bean[...]
2020-09-21
[16]
웹사이트
SGF file format FF[4]
https://www.red-bean[...]
2020-09-21
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com