SabakiHQ / LeelaSabaki

Leela (Zero) integration with Sabaki.
MIT License
153 stars 35 forks source link

Integrate into Sabaki #24

Closed hadim closed 5 years ago

hadim commented 5 years ago

While the engine manager in Sabaki is nice and allow flexibility in the use of different engines, it would be nice to have a default one directly integrated into Sabaki.

Maybe we could find a way to add new engines trough npm dependency. That would be an alternative to the current binary command line based engines.

The npm plugin would expose a JS class with known methods to be called during the use of the engine.

yishn commented 5 years ago

All popular Go engines that I know of are licensed under GPL, which makes it somewhat a legal greyzone to include them into an MIT licensed work such as Sabaki. Lizzie is licensed under GPL as well, so it's fine over there. Apart from any legal reasons, I also do not want to be compelled to release a new version of Sabaki every time the integrated engine releases a new version.

Adding engines via a dependency manager is not a bad idea, but most users (especially non-developers) do not have npm, let alone Node.js.

hadim commented 5 years ago

Sorry I wasn't clear enough. I was thinking integrating LeelaSabaki and not LeelaZero into Sabaki and then prompt the user to the the path to leela zero. That would make it easier.

People would not need npm since it would be in the Sabaki package.

Npm is only used during development.

yishn commented 5 years ago

Oh, in that case: LeelaSabaki will be obsolete in the upcoming version of Sabaki, because of the integrated analysis feature that uses the GTP analyze command. Currently only Leela Zero Next supports it.

hadim commented 5 years ago

Perfect then.

hadim commented 5 years ago

What do you think about auto-downloading the best available binary of Leela (if available)? They do that in Lizzie and it's a great feature.

https://github.com/featurecat/lizzie/blob/a82c8ec08eef6c587276f6e1b7d8da16ee89c8e7/src/main/java/featurecat/lizzie/analysis/Leelaz.java#L145

hadim commented 5 years ago

In the analysis branch of Sabaki of course.

yishn commented 5 years ago

You mean the network file? That's just too Leela Zero specific, so no.