polyclash:最初の対局プログラム

私たちは、シンプルな球面囲碁プログラム「polyclash」を開発しました。ここでは、polyclashの概要と使用方法を簡単に紹介します。

前述のアイデアに基づき、シンプルな球面囲碁プログラム「polyclash」を開発しました。ここでは、polyclashの概要と使用方法を簡単に紹介します。

polyclashは球面囲碁の参考実装で、Python言語を使用して開発されており、コードはオープンソースです。polyclashにはclientとserverの2つのプログラムが含まれ、ローカル対局、LAN対局、インターネット対局をサポートしています。誰でも自分のserverを立ち上げて運用でき、サーバーに接続するだけで対局ができます。ローカル対局には、非常に単純なAI対戦相手も導入されています。インターネットサーバーのセットアップについてはここでは触れず、使用方法のみをお伝えします。

インストールと起動

プログラムはPython言語で開発されているため、Python 3.10以上の実行環境が必要です。インストールは非常に簡単で、以下のコマンドを実行するだけです。

pip install polyclash

これにより、polyclash-clientpolyclash-serverの2つのローカルコマンドがインストールされます。

以下のコマンドでクライアントを起動できます。

polyclash-client

以下のコマンドでサーバーを起動できます。

polyclash-server

ゲームインターフェース

ゲームのインターフェースは4つの部分に分かれています。

  • 対局エリア:対局エリアは盤面が配置されている場所です。マウスで球面の特定の領域に回転させて移動し、盤上のグリッドポイントをクリックして石を置くことができます。
  • 概要エリア:地球上の4つの大陸と海洋エリアの概要を提供し、黒石と白石の全体的な配置を確認できます。
  • ステータスエリア:現在の手番が黒か白かを示し、両者の占有領域も表示します。
  • 座標軸:球面回転時の方位を示します。

対局

ゲームのデフォルト設定はローカルの人間対AI対局ですが、AIの設計がシンプルなため、対戦の緊張感はあまりありません。

ローカルモードのメニューでは、ローカルの人間同士の対局も可能ですが、バージョンの進化に伴うバグにより、現在この機能は制限されています。

ここでは、ネットワーク対局について重点的に紹介します。

第一歩として、メニュー「ネットワークモード」の「作成」項目を選択し、対局を開始します。

第二歩:ダイアログボックスにネットワークサーバーのアドレスを入力します。参考サーバーとして “https://sphericalgo.org” を使用できます。

第三歩:サーバーのURL「GOSERVER/sphgo/」を開きます。例えば、参考サーバーの場合は「https://sphericalgo.org/sphgo/」を開きます。このページでサーバーのトークンを取得できます。

第四歩:ダイアログボックスにサーバートークンを入力し、「Connect」をクリックします。サーバーからは、対局部屋の黒側、白側、および観戦者のパスワードが割り当てられますので、チャットツールを使って黒側と白側のパスワードをそれぞれのプレイヤーに伝えます。

第五歩:メニュー「ネットワークモード」の「参加」項目を選択してゲームに参加します。参加中、黒側と白側はそれぞれのパスワードを入力し、「Ready」をクリックします。両者が準備完了すると、自動的にゲームが開始されます。

手順は5ステップあり、少し複雑に見えるかもしれませんが、複数のサーバーを選択できる状況をサポートするために、これが最もシンプルな処理方法と考えています。