いまどきの将棋AIでは、GUIと思考エンジンとは分離している。GUI部分は、いままで将棋所、ShogiGUIが二大巨頭であり、これ以外の無償で使えるGUIソフトウェアには使い勝手の良いものがなかった。
GUIと思考エンジンとはUSIプロトコルと呼ばれる標準入出力を介するプロトコルでやりとりを行う。このUSIプロトコルには色々設計上まずい点があり、思考エンジン側を作るに際して、それを拡張して改善したいのだが、USIプロトコルを勝手に拡張したところで将棋所やShogiGUIが対応してくれなければそれまでだし、将棋所とShogiGUIはソースコードが公開されているわけでもないので思考エンジン開発者は手も足も出ないという閉塞的な状況であった。そのような状況が将棋所公開以降現在に至るまで(17年間)続いていたわけである。
私はこのような状況を嘆き憂いて、やねうら王チャンネルにこれを問題提起する動画をアップしたことがある。
【将棋ソフト】USIプロトコルはなぜ拡張できないのか【将棋用GUI】
https://www.youtube.com/watch?v=oWVXlKAVkZ0
そして、ついにこの動画に触発されて(?)、将棋AI用のGUIをオープンソースで作ってやろうという開発者が現れた。それがSunfish将棋の開発者の久保さんである。
久保さんは、Electron(JavaScript、HTML、CSSを使用してクロスプラットフォームデスクトップアプリを作成できるフレームワーク)を用いて「Electron将棋」を作り、MIT Licenseで公開されたのだ。
Electron将棋
https://sunfish-shogi.github.io/electron-shogi/
久保さん自身、Sunfish将棋という将棋AIを開発しているだけのことはあって、エンジン側の都合も熟知されているので、エンジン側から見ても非常に望ましい設計になっている。
また、Electron将棋は画面デザインも優れている。ここに詳しくは書けないが、久保さんは動画関係のお仕事を専門とされているので、そのデザインセンスは光るものがある。(このデザインセンスの良さを観て察して欲しい)
しかも将棋AIの対局場であるfloodgateでの通信対局にも対応している。(将棋所は対応しているが、ShogiGUIは対応していない。)
floodgateでの通信対局に対応していて何が嬉しいかと言うと、floodgateはCSAプロトコルという対局用のプロトコルで対局を行うのだが、将棋AIの大会であるWCSC(世界コンピュータ将棋選手権)や電竜戦でも対局にはCSAプロトコルを用いるので、つまりは、Electron将棋で将棋AIの対局に参加できるということだ。
先月に開催されたWCSC34(第34回世界コンピュータ将棋選手権)でも、Electron将棋で参加する開発者が多数見受けられた。例えば、水匠の開発者であるたややんさんの水匠視点配信でもElectron将棋が動いていることが確認できるし、配信後にたややんさんは「Electron将棋のおかげで映像クオリティの高い配信ができた」と語っていた。
【世界コンピュータ将棋選手権・水匠視点】WCSC34一次予選、突破目指して頑張ります!【将棋AI水匠/たややん】
https://www.youtube.com/watch?v=66cwmmA3hrc
さて、話を少し戻って、Electron将棋はElectronというフレームワークを用いて書かれているので、クロスプラットフォームに対応している。Windowsのみならず、Linux、macOSでも動作するのである。これはLinuxやMacユーザーにとって福音と言えるだろう。
しかし、やねうら王プロジェクトではmacOS用のやねうら王/ふかうら王の実行ファイルを配布していないので、正直、Macユーザーでも初心者には導入をお勧めできる状況ではない。
つまり、私は散々騒ぎ立てて(?)、macOSで動くGUIを作ってもらった(?)のに、それに対応する思考エンジンが配布されていないがためにmacOSでは将棋AIが使えないわけだ。これでは「macOSで将棋AIが動かないのは、だいたいやねさんのせい」と非難されかねない。
そこで、先月、「macOSに対応したやねうら王/ふかうら王の実行ファイルを用意せねば!」と思い一念発起したわけである。(明日の記事につづく)
戦型や囲いがウォーズみたいに出てくれたら面白かった