polyclash:最初の対局プログラム
私たちは、シンプルな球面囲碁プログラム「polyclash」を開発しました。ここでは、polyclashの概要と使用方法を簡単に紹介します。
前述のアイデアに基づき、シンプルな球面囲碁プログラム「polyclash」を開発しました。ここでは、polyclashの概要と使用方法を簡単に紹介します。
polyclashは球面囲碁の参考実装で、Python言語を使用して開発されており、コードはオープンソースです。polyclashにはclientとserverの2つのプログラムが含まれ、ローカル対局、LAN対局、インターネット対局をサポートしています。誰でも自分のserverを立ち上げて運用でき、サーバーに接続するだけで対局ができます。ローカル対局には、非常に単純なAI対戦相手も導入されています。インターネットサーバーのセットアップについてはここでは触れず、使用方法のみをお伝えします。
インストールと起動
プログラムはPython言語で開発されているため、Python 3.10以上の実行環境が必要です。インストールは非常に簡単で、以下のコマンドを実行するだけです。
pip install polyclash
これにより、polyclash-client
とpolyclash-server
の2つのローカルコマンドがインストールされます。
以下のコマンドでクライアントを起動できます。
polyclash-client
以下のコマンドでサーバーを起動できます。
polyclash-server
ゲームインターフェース
ゲームのインターフェースは4つの部分に分かれています。
- 対局エリア:対局エリアは盤面が配置されている場所です。マウスで球面の特定の領域に回転させて移動し、盤上のグリッドポイントをクリックして石を置くことができます。
- 概要エリア:地球上の4つの大陸と海洋エリアの概要を提供し、黒石と白石の全体的な配置を確認できます。
- ステータスエリア:現在の手番が黒か白かを示し、両者の占有領域も表示します。
- 座標軸:球面回転時の方位を示します。
対局
ゲームのデフォルト設定はローカルの人間対AI対局ですが、AIの設計がシンプルなため、対戦の緊張感はあまりありません。
ローカルモードのメニューでは、ローカルの人間同士の対局も可能ですが、バージョンの進化に伴うバグにより、現在この機能は制限されています。
ここでは、ネットワーク対局について重点的に紹介します。
第一歩として、メニュー「ネットワークモード」の「作成」項目を選択し、対局を開始します。
第二歩:ダイアログボックスにネットワークサーバーのアドレスを入力します。参考サーバーとして “https://sphericalgo.org” を使用できます。
第三歩:サーバーのURL「GOSERVER/sphgo/」を開きます。例えば、参考サーバーの場合は「https://sphericalgo.org/sphgo/」を開きます。このページでサーバーのトークンを取得できます。
第四歩:ダイアログボックスにサーバートークンを入力し、「Connect」をクリックします。サーバーからは、対局部屋の黒側、白側、および観戦者のパスワードが割り当てられますので、チャットツールを使って黒側と白側のパスワードをそれぞれのプレイヤーに伝えます。
第五歩:メニュー「ネットワークモード」の「参加」項目を選択してゲームに参加します。参加中、黒側と白側はそれぞれのパスワードを入力し、「Ready」をクリックします。両者が準備完了すると、自動的にゲームが開始されます。
手順は5ステップあり、少し複雑に見えるかもしれませんが、複数のサーバーを選択できる状況をサポートするために、これが最もシンプルな処理方法と考えています。