Skip to content

Releases: XInTheDark/PVplayer

PVengine dev-20231014-b1daffbe

14 Oct 05:09
Compare
Choose a tag to compare
Pre-release
Less bonus and more penalty in calc_nodes

Also scale based on rootMovesSize.

PVengine v5.0.0

09 Oct 11:41
Compare
Choose a tag to compare

This PVengine release brings new enhancements and improvements of previous patches, as well as bug fixes and a newly-added CI.

What's Changed

  • Introduce GitHub CI: #19, #20, #21. This will help us greatly in our basic testing and quality control in the future.
  • Many timeman improvements and bug fixes (see changelog for details)
  • Fixes to nps calculation in search
  • Tune search parameter: a92f62b
  • No longer use git commit hash for engine name: 297e94b. This idea is good, but implementation details have not been worked out properly, so it may be re-added in the future.

Full Changelog: pvengine_v4.0.1...pvengine_v5.0.0

PVengine v4.0.1

15 Sep 05:03
b0f02e7
Compare
Choose a tag to compare

This is a large bug fix release for some major bugs in PVengine that were introduced in v4.0.0 or earlier.

What's Changed

  1. Fix position startpos moves <...> not being handled properly.
  2. Fix a sub-optimal best move being outputted if we are out of time.
  3. Fix illegal moves in PV.
  4. Fix pruned moves not being updated.
  5. Improve nps calculation.

Additionally, there will no longer be pre-built binaries in the releases, due to a lack of build machines for each platform. You can still build them yourself easily using the build scripts.

Full Changelog: pvengine_v4.0.0...pvengine_v4.0.1

PVengine v4.0.0

10 Sep 03:53
Compare
Choose a tag to compare

PVengine is now stronger and more stable than ever. Enjoy!

What's Changed

  • Improved nodes calculation algorithm: At lower depths, PVengine analysis is now more accurate.
  • Improved search: PVengine now reconsiders more lines, so it sees more tactics that other engines may be blind to.
    • New "Max Move Horizon" concept that focuses the search more: PR #10
    • More ideas to be implemented in the next release: #9
  • Full support for integration with all UCI engines: Engines like Lc0 can now be completely used in PVengine.
  • Fix analysis for checkmate and illegal positions.
  • Many bug fixes (options for movetime, depth, etc)

Note about binaries

Full Changelog: pvengine_v3.0.0...pvengine_v4.0.0

PVengine v3.0.0

02 Sep 14:33
Compare
Choose a tag to compare

This major release of PVengine is proudly on par with Stockfish in terms of analysis quality and gameplay.

What's Changed

  • Complete UCI support (#5, #6, etc.)
  • Much better time management system (many bug fixes + new features)
  • Much better search algorithm (performance enhancements, mate-finding improvements, reliability)
  • Parameter tweaks (e.g. 00c3f46)
  • Build faster executables (#4)
  • Code refactors for readability. (#7)
  • So many bug fixes!

In 180+1.8 matches against Stockfish 16, PVengine performed at roughly a 50% score, winning as many games as it loses. Of course, this strength is much expected since Stockfish is the complete basis for PVengine.

To be expected in the next release

  • Largely improved search, including support for MultiPV, which can potentially make PVengine slightly better than Stockfish.
  • Potentially new search mode(s), e.g. alpha-beta, MCTS?? (this might wait until several releases later because of its complexity)
  • Explore integrating other engines such as crystal, Lc0. (Currently development is purely based on Stockfish)

Note about binaries

There will be three options available for users to download:

  1. Source code (.zip), in which users can simply run the main python file, or compile into an executable themselves.
  2. PVengine_v3.0.0, which is the binary built by PyInstaller. This is easier to distribute, but is much slower to start, and slightly slower in actual performance.
  3. PVengine_v3.0.0_fast.zip, which is built by cx_freeze. After extracting the zip, you will see an executable and a lib folder. Simply run the executable. You will need to place the actual executable in the same directory as the lib folder. The executable does not function without the lib folder.

If the binary appears as not able to be executed, try running chmod +x <filename> to give it permission.
Lastly, if the last two options both fail to work, please manually run or compile from source code.


Full Changelog: pvengine_v2.0.0...pvengine_v3.0.0

PVengine v2.0.0

23 Aug 13:15
Compare
Choose a tag to compare

Welcome to the next generation of PVengine!

What's Changed

  • Proper UCI handling: PVengine now fully meets the UCI specifications, along with proper exit handling.
  • Major speedups: At least 20%-30% speedup with just non-functional changes.
  • Enhanced time management system.
  • Search Elo gainers and logic improvements.
  • Major re-organisation of files for much better clarity.
  • Bug fixes.

Full Changelog: pvengine_v1.1.0...pvengine_v2.0.0

PVengine v1.1.0

25 Jun 02:07
Compare
Choose a tag to compare

This version of PVengine brings many important bug fixes and performance improvements.

What's Changed

  • Add time management module, so the engine can now play in time-control based matches.
  • Bug fixes for UCI options
  • Bug fixes for search
  • Rewritten UCI: The interface can now handle both input and search at the same time due to the use of multi-threading.

Full Changelog: pvengine_v1.0.0...pvengine_v1.1.0

PVengine initial release

20 Jun 02:08
27a2c83
Compare
Choose a tag to compare

The first release of the revolutionary new PVengine!

Being an upgraded version of PVtrace, PVengine searches each move using a chess engine, then traces the PV line in every iteration for each move in order to provide an accurate evaluation of each move. It then chooses the move with the best PV evaluation.

More detailed information is available in the README, and the development history for the first release can be viewed in PR #1.

There's also an attached executable for PVengine v1.0.0, for use on Linux-based systems.

What's Changed

Full Changelog: v1.0.1...pvengine_v1.0.0

v1.0.1

09 Jun 09:06
Compare
Choose a tag to compare

This update brings some important changes and enhancements.

Performance changes:

  1. If no limits are set, the default is now 2 million nodes instead of 10 seconds. This should provide a much faster run on most machines while still keeping reasonable performance.
  2. Greatly improved TB lines quality: Much higher quality lines are now chosen when querying the online tablebase. This feature is still not perfect, so expect some more improvements in the next few releases. In particular, I'm finding ways to increase the speed of TB lookups.

Enhancements:

  1. More PGN functionality: You can now customize your PGN exports slightly. Expect more updates on this soon, since customization is still quite limited and basic.
  2. More user-friendly output: Output is now more concise and easier to understand.
  3. Many more options added in config.yml, including STOP_ON_DRAW and STOP_ON_EVAL which are eval-based adjudication features.
  4. A few bug fixes regarding configuration, PV output and TB lookup.

Full Changelog: v1.0.0...v1.0.1

v1.0.0

09 Jun 03:49
Compare
Choose a tag to compare

The first release of PVplayer! This is an original tool that works perfectly with chess engines like Stockfish. See the README for more information on how it works, usage and configuration.

Full Changelog: https://github.com/XInTheDark/PVplayer/commits/v1.0.0