私はC ++ https://github.com/RomainGoussault/Deepovでチェスエンジンを書いています。
そこにはいくつかのインターフェイスプロトコル(UCI、Winboardプロトコルなど)があり、どちらを実装するかわかりません。次のいずれかをお願いします。
- エンジンがオンライントーナメントをプレイできるようにします
- Linux、Windows、iOS用のGUIがいくつかあります
- ある種のドキュメントがあります
ありがとう
私はC ++ https://github.com/RomainGoussault/Deepovでチェスエンジンを書いています。
そこにはいくつかのインターフェイスプロトコル(UCI、Winboardプロトコルなど)があり、どちらを実装するかわかりません。次のいずれかをお願いします。
ありがとう
回答:
UCIとWinboardの2つのプロトコルしかありません。Winboardは古いプロトコルであり、現在は実際には使用されていません。Craftyは、Winboardプロトコルを現在もサポートしている唯一の主要なエンジンですが、エンジンが非常に古いためです。UCIは、シュレッダーによって開発された新しいプロトコルであり、Windows、Mac、Linux、Android、iOSなど、あらゆる場所で使用されています。UCIは、検討する必要がある唯一のプロトコルです。
Winboardは、プロトコルがよりクリーンなUCIよりも複雑であるため、時代遅れになっています。Winboardは規定のプロトコルです。つまり、エンジンの状態は以前の反復に依存しますが、UCIは現在のFENまたはムーブリストを提供するだけでよいので、扱いが簡単です。
iOSでGUIまたはエンジンを個別のアプリとして作成することはできないと思います。iOSでは、セキュリティ設定の一環として、1つのアプリが別のアプリを呼び出すことはできません。エンジンの作成者は、App Storeでのリリースの承認をAppleに申請する前に、GUIを記述して、それをエンジンと統合する必要があります。これはWindows RTにも当てはまる場合があります。AndroidにはGUIとエンジンがあります。
UCIおよびCECP(Chess Engine Communication Protocol、つまりwinboard / xboard)とは別に、Chessbaseには独自の独自プロトコルがあります。強力なエンジンの多くはUCIを使用していますが、初心者のプログラマーはCECPをかなり一般的に使用しています。
ほとんどのGUIサポートエンジンはUCIまたはWinboardのいずれかであり、UCIは最近では標準的で人気のあるものになっています。ただし、通常、エンジンを任意のGUI(WindowsまたはLinux)に簡単にプラグインできるようにする場合は、これらのGUIプログラムで参照できる「exe」または実行可能ファイルが必要です。Javaを使用してエンジンを構築している場合、これをGUIで使用する実行可能ファイルに変換する方法がわかりません。同じことは、オンライントーナメントをプレイできることにも当てはまります。エンジンにWebサービスのようなインターフェイスを提供することを計画している場合でも、エンジンのコンテストに参加することはできないと思います。