polyclash: 첫 번째 대국 프로그램
우리는 간단한 구면 바둑 프로그램인 polyclash를 개발했습니다. 여기에서는 polyclash의 개요와 사용 방법을 간단히 소개합니다.
이전 아이디어를 바탕으로, 우리는 간단한 구면 바둑 프로그램인 polyclash를 개발했습니다. 여기에서는 polyclash의 개요와 사용 방법을 간단히 소개합니다.
polyclash는 구면 바둑의 참고 구현으로, Python 언어를 기반으로 개발되었으며, 코드는 오픈 소스입니다. polyclash는 client와 server 두 개의 프로그램으로 구성되어 있으며, 로컬 대국, LAN 대국, 인터넷 대국을 지원합니다. 누구나 자신의 server를 설치하고 운영할 수 있으며, 서버에 연결하기만 하면 대국이 가능합니다. 로컬 대국을 위해 매우 간단한 AI 대국자도 포함되어 있습니다. 인터넷 서버 설정에 대해서는 이번 글에서는 다루지 않으며, 사용 방법만 안내합니다.
설치 및 시작
프로그램은 Python 언어로 개발되었기 때문에, Python 3.10 이상의 실행 환경이 필요합니다. 설치는 매우 간단하며, 아래 명령을 실행하면 됩니다.
pip install polyclash
이를 통해 polyclash-client
와 polyclash-server
라는 두 개의 로컬 명령어가 설치됩니다.
아래 명령어를 실행하여 클라이언트를 시작할 수 있습니다.
polyclash-client
아래 명령어를 실행하여 서버를 시작할 수 있습니다.
polyclash-server
게임 인터페이스
전체 게임 인터페이스는 4개의 부분으로 나뉩니다.
- 대국 영역: 대국 영역은 바둑판이 있는 곳입니다. 마우스를 사용해 구면의 특정 영역으로 회전시킨 후, 바둑판의 그리드 포인트를 클릭하여 돌을 놓을 수 있습니다.
- 개요 영역: 전 세계의 4개의 대륙과 해양 영역에 대한 개요를 제공하며, 흑돌과 백돌의 전반적인 분포를 볼 수 있습니다.
- 상태 표시 영역: 현재 흑의 차례인지 백의 차례인지 표시하며, 흑과 백 각각의 점유 영역을 제공합니다.
- 좌표 축: 구면 회전 중 방향을 나타냅니다.
대국
게임의 기본 설정은 로컬에서의 인간 대 AI 대국이지만, AI의 설계가 단순하여 강력한 대결감은 없습니다.
메뉴의 로컬 모드에서는 로컬에서 인간 간의 대국도 가능하지만, 버전 업데이트 과정에서 발생한 버그로 인해 이 기능은 현재 제한되어 있습니다.
여기에서는 네트워크 대국에 대해 중점적으로 소개합니다.
첫 번째 단계는 메뉴의 "네트워크 모드"에서 "생성" 항목을 선택하여 대국을 시작하는 것입니다.
두 번째 단계: 대화 상자에 네트워크 서버 주소를 입력합니다. 예시 서버로 “https://sphericalgo.org”를 사용할 수 있습니다.
세 번째 단계: 서버 URL “GOSERVER/sphgo/”를 엽니다. 예시 서버의 경우, “https://sphericalgo.org/sphgo/”를 엽니다. 이 페이지에서 서버 토큰을 얻을 수 있습니다.
네 번째 단계: 대화 상자에 서버 토큰을 입력하고 "Connect"를 클릭합니다. 서버에서 흑, 백, 관전자의 비밀번호가 할당된 대국 방을 받을 수 있으며, 채팅 도구를 통해 흑과 백의 비밀번호를 각각의 대국자에게 전달합니다.
다섯 번째 단계: 메뉴의 "네트워크 모드"에서 "참가" 항목을 클릭하여 게임에 참가합니다. 참가 과정에서 흑과 백은 각자의 비밀번호를 입력한 후, "Ready"를 클릭합니다. 양측이 모두 준비되면 자동으로 게임이 시작됩니다.
비록 다섯 단계로 구성되어 있어 약간 복잡해 보일 수 있지만, 여러 서버를 선택할 수 있는 상황을 지원해야 하므로, 우리가 생각할 수 있는 가장 간단한 처리 방식입니다.