gunyarakun / python-shogi

A pure Python shogi library with move generation and validation and handling of common formats.
GNU General Public License v3.0
182 stars 43 forks source link

Support USI protocol #11

Closed enriqueav closed 2 years ago

enriqueav commented 7 years ago

In the To Do list there is this item "Support USI protocol.". What needs to be implemented? I see the most important part is done: board.push_usi(string)

Unfortunately the english version of the USI description is down: http://www.glaurungchess.com/shogi/usi.html

Do you know by chance if there is a mirror in english? I could not find it.

gbtami commented 7 years ago

https://web.archive.org/web/20150326001450/http://www.glaurungchess.com/shogi/usi.html

enriqueav commented 7 years ago

@gbtami thank you!

gunyarakun commented 7 years ago

The main purpose of supporting USI protocol is to use Shogidokoro and ShogiGUI which is a Windows GUI application communicates in USI protocol. http://www.geocities.jp/shogidokoro/index.html (Shogidokoro, The page is written in Japanese) http://shogigui.siganus.com/ (ShogiGUI, The page is written in Japanese)

enriqueav commented 7 years ago

But most of the commands are related to a "thinking engine", right? I think we need to analyze which parts of USI make sense for a framework like this.

gunyarakun commented 7 years ago

Here are the commands supported in Shogidokoro written in Japanese. http://www.geocities.jp/shogidokoro/usi.html

python-shogi is a library for all the programmer who want to write Shogi-related softwares. I supported CSA protocol wrapper in shogi/CSA.py for floodgate. I suppose someone who want to write "thinking engine" may use USI protocol wrapper to communicate with such kind of Shogi UI softwares.

gbtami commented 7 years ago

@enriqueav https://github.com/johncheetham/gshogi seems to support USI. Maybe it can help to start with.

enriqueav commented 7 years ago

@gunyarakun @gbtami thanks, I will take a look at the CSA protocol (I'm not familiar with that) and your implementation, and I will also check what gshogi does...

SriMethan commented 2 years ago

@gunyarakun This should be closed since python shogi supports usi protocol

gunyarakun commented 2 years ago

@SriMethan Thank you!