diff --git a/CHANGELOG.md b/CHANGELOG.md index fcbd0aa..188b7be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,11 +11,15 @@ * Currently `chesskit-engine` assumes `192x15_network` is available in your app's `Bundle.main`. * Network files can be downloaded from [lczero.org](https://lczero.org/play/bestnets/). * Any other files can be added via `.setoption(id:value:)` engine commands. + * Currently there are some performance issues using `lc0` in an app; this is being investigated but any contributions (via PRs or issues) are appreciated. #### Improvements * `Engine.start()` now takes a `completion` handler. * This is called once the engine has finished initializing. * Engine commands (i.e. setting options or requesting evaluations) should not be sent until this completion handler is called. +* `EngineMessenger` now sends commands to the engines via `stdin`, see [Issue #11](https://github.com/chesskit-app/chesskit-engine/issues/11). + * This will allow for much simpler upgrades to existing engines, as well as the inclusion of new engines in the future. + * Special thanks [@dehlen](https://github.com/dehlen). # ChessKitEngine 0.3.0 Released Wednesday, March 27, 2024. diff --git a/README.md b/README.md index fa32375..927383e 100644 --- a/README.md +++ b/README.md @@ -109,8 +109,9 @@ engine.loggingEnabled = true ## Neural Networks Both `Stockfish 16.1` and `LeelaChessZero 0.30` require neural network files to be provided to the engine for computation. +In order to keep the package size small and allow for the greatest level of flexibility, these neural network files are **not** bundled with the package. Therefore they must be added to the app (either in the bundle or manually by a user) and then provided to the engine at runtime. -They can be provided to the engine using the `.setoption(id:value:)` UCI commands provided by `chesskit-engine`. +They can be provided to the engine using the `.setoption(id:value:)` UCI commands included in `chesskit-engine`. For example: ``` swift @@ -130,6 +131,7 @@ The following details the recommended files for each engine and where to obtain * Other files from https://tests.stockfishchess.org can be used if desired. #### LeelaChessZero +⚠️ There are currently some performance issues with lc0 in `chesskit-engine` ([PR's are welcome!](https://github.com/chesskit-app/chesskit-engine/compare)). * `"WeightsFile"`: `192x15_network` ([download here](https://github.com/chesskit-app/chesskit-engine/tree/0f11891b3c053e12d04c2e9c9d294c4404b006c3/Tests/ChessKitEngineTests/EngineTests/Resources)) * Other files can be obtained [here](https://lczero.org/play/bestnets/) or [here](https://training.lczero.org/networks/). diff --git a/Sources/ChessKitEngineCore/Engines/lc0 b/Sources/ChessKitEngineCore/Engines/lc0 index 3adcaf3..cb3dbf6 160000 --- a/Sources/ChessKitEngineCore/Engines/lc0 +++ b/Sources/ChessKitEngineCore/Engines/lc0 @@ -1 +1 @@ -Subproject commit 3adcaf34fe16f830a87a47d944d7716106a3fde5 +Subproject commit cb3dbf6be39e102ea8712aeb24cd133aa359f5e9