Of course this should be subjected to some rules; something like "play any move that's not bellow 0,70 the best move", or something similar.

My idea is to use such an engine in order to play some unorthodox openings without needing an opening book.

For example, say I want to play some games as White trying 1.e4 e4 2.a3. I'm sure there are many good moves for black's second move, so I'd like the engine to "choose" from several of them, instead of always playing the best one.

Kudos if this behavior could be limited to a fixed number of moves -so you get some variety in the opening but you want it "full power" on middle and endgame.

5 Answers 5


In the GUI Nibbler you have a setting called "Temperature". The higher the temperature value, the more it allows the engine to play unexpected moves. You can also set temperature decay to X moves, so that after X moves it starts playing best moves again.

You can load any engine you want in Nibbler, but it is designed for NN engines, such as Lc0.

  • I found Nibbler a bit hard to configure, but luckily the Temperature option can be modified by adding a lc0.config file in the same folder where the lc0 executable is placed. I have no idea wether Temperature should be 1 or 100, but after making a couple tests it seems to do the trick. I guess some trial and error will be needed.
    – emdio
    May 5, 2021 at 20:28

There are few engines that are capable of such thing. One name that I can recall is the old Spark UCI engine by Allard Siemelink. Very aggressive engine with twistable attacking parameters.

It has a feature called MultiPVMargin which enables you to set certain number difference between the PV (Principle Variations) measured in centipawn.

For example if your best calculated variation in certain position is measured as +1 for white and you want the engine to play something less "valuable" than that, you can set the MultiPVMargin to a 100 so that the engine looks for a different variation within the 100 centipawn difference.

You can find older versions of the Spark engine that are available for free download. Hope this was the answer you were looking for!


Obviously, there is no such thing for you to download. If you want to happen, you need to do the works. It's not hard.

  1. Run engine analysis on multi-pv mode
  2. Check engine score for each line. Play the move according to your rules.

Stockfish actually has something like this ability implemented in its difficulty levels settings, which essentially considers the top few moves and randomly boosts move "scores" on its move candidate list when picking moves. See my answer on how Stockfish implements levels


I'm not sure what the question is.

https://www.youtube.com/watch?v=DpXy041BIlA is a video about 30 different AI styles.

Of course, like the early Chessmaster, you could limit the computer to only play within a certain range of evaluations. Instead of choosing from X number of moves, the engine could store a list of moves with their evaluation and prune this list down to only the move which scored within 100 points of the best move and randomly choose from this list.

You could force the computer to randomly select from the top 3 moves, probably with a cutoff, to make the openings more entertaining. You could add more flavor by having the computer switch to the best moves at certain moves/move ranges or after it falls below s certain evaluation. The possibilities are endless.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.