2

I am currently trying to code a training tool and am a bit confused by what Stockfish returns.

Before doing d2d4 it states that this move will have a 56 centipawn advantage for White - which is what I would expect.

But, after I make the move and it evaluates Black's next best move, it even favors Black.

Update 3: Turned out to be a twofold problem. I misunderstood that point value swapps depending on the side (see accepted answer) and the js version seems to run buggy, the webassembly version behaves differently

Continuing original question

Tell Stockfish: setoption name MultiPV value 2 stockfishIntegration.js:22:10
Tell Stockfish: position fen rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 stockfishIntegration.js:22:10
Tell Stockfish: go depth 15 stockfishIntegration.js:22:10
Stockfish says: info depth 1 seldepth 1 multipv 1 score cp 112 nodes 39 nps 39000 tbhits 0 time 1 pv e2e4 StockfishParser.js:10:12
Stockfish says: info depth 1 seldepth 1 multipv 2 score cp 112 nodes 39 nps 39000 tbhits 0 time 1 pv d2d4 StockfishParser.js:10:12
Stockfish says: info depth 2 seldepth 2 multipv 1 score cp 109 nodes 96 nps 96000 tbhits 0 time 1 pv e2e4 b7b6 StockfishParser.js:10:12
Stockfish says: info depth 2 seldepth 2 multipv 2 score cp 101 nodes 96 nps 96000 tbhits 0 time 1 pv e2e3 c7c6 StockfishParser.js:10:12
Stockfish says: info depth 3 seldepth 3 multipv 1 score cp 155 nodes 227 nps 113500 tbhits 0 time 2 pv e2e3 c7c6 d2d4 StockfishParser.js:10:12
Stockfish says: info depth 3 seldepth 3 multipv 2 score cp 141 nodes 227 nps 113500 tbhits 0 time 2 pv d2d4 d7d6 e2e4 StockfishParser.js:10:12
Stockfish says: info depth 4 seldepth 4 multipv 1 score cp 130 nodes 498 nps 124500 tbhits 0 time 4 pv d2d4 e7e6 e2e4 b7b6 StockfishParser.js:10:12
Stockfish says: info depth 4 seldepth 4 multipv 2 score cp 83 nodes 498 nps 124500 tbhits 0 time 4 pv e2e3 e7e6 d2d4 c7c5 StockfishParser.js:10:12
Stockfish says: info depth 5 seldepth 5 multipv 1 score cp 91 nodes 1493 nps 124416 tbhits 0 time 12 pv d2d4 d7d5 c1g5 g8f6 e2e3 StockfishParser.js:10:12
Stockfish says: info depth 5 seldepth 5 multipv 2 score cp 69 nodes 1493 nps 124416 tbhits 0 time 12 pv g1f3 d7d5 d2d4 e7e6 e2e3 StockfishParser.js:10:12
Stockfish says: info depth 6 seldepth 6 multipv 1 score cp 47 nodes 3450 nps 138000 tbhits 0 time 25 pv d2d4 d7d5 g1f3 e7e6 e2e3 g8f6 StockfishParser.js:10:12
Stockfish says: info depth 6 seldepth 6 multipv 2 score cp 45 nodes 3450 nps 138000 tbhits 0 time 25 pv e2e3 e7e6 d2d4 d7d5 g1f3 b8c6 StockfishParser.js:10:12
Stockfish says: info depth 7 seldepth 7 multipv 1 score cp 65 nodes 5361 nps 148916 tbhits 0 time 36 pv d2d4 d7d5 c1f4 b8c6 g1f3 e7e6 e2e3 StockfishParser.js:10:12
Stockfish says: info depth 7 seldepth 7 multipv 2 score cp 56 nodes 5361 nps 148916 tbhits 0 time 36 pv e2e3 d7d5 g1f3 b8c6 d2d4 e7e6 c1d2 StockfishParser.js:10:12
Stockfish says: info depth 8 seldepth 8 multipv 1 score cp 55 nodes 16225 nps 195481 tbhits 0 time 83 pv c2c4 d7d5 d2d4 g8f6 e2e3 b8c6 b1c3 e7e6 StockfishParser.js:10:12
Stockfish says: info depth 8 seldepth 8 multipv 2 score cp 49 nodes 16225 nps 195481 tbhits 0 time 83 pv d2d4 e7e6 b1c3 f8b4 e2e4 d7d5 e4e5 b8c6 StockfishParser.js:10:12
Stockfish says: info depth 9 seldepth 13 multipv 1 score cp 96 nodes 35799 nps 213089 tbhits 0 time 168 pv d2d4 d7d5 b1c3 g8f6 g1f3 e7e6 c1g5 b8c6 e2e3 StockfishParser.js:10:12
Stockfish says: info depth 9 seldepth 10 multipv 2 score cp 90 nodes 35799 nps 213089 tbhits 0 time 168 pv b1c3 d7d5 d2d4 g8f6 g1f3 e7e6 f3e5 b8c6 c1g5 StockfishParser.js:10:12
Stockfish says: info depth 10 seldepth 14 multipv 1 score cp 69 nodes 86669 nps 228678 tbhits 0 time 379 pv g1f3 d7d5 e2e3 e7e6 f1e2 g8f6 d2d4 c7c5 e1g1 b8c6 b1c3 StockfishParser.js:10:12
Stockfish says: info depth 10 seldepth 13 multipv 2 score cp 61 nodes 86669 nps 228678 tbhits 0 time 379 pv d2d4 d7d5 c1f4 e7e6 c2c3 c7c5 e2e4 b8c6 d4c5 d5e4 d1d8 c6d8 StockfishParser.js:10:12
Stockfish says: info depth 11 seldepth 17 multipv 1 score cp 95 nodes 137593 nps 234001 tbhits 0 time 588 pv e2e4 d7d5 e4d5 c7c6 d2d4 c6d5 b1c3 e7e6 g1f3 b8d7 f3e5 d7e5 d4e5 StockfishParser.js:10:12
Stockfish says: info depth 11 seldepth 13 multipv 2 score cp 44 nodes 137593 nps 234001 tbhits 0 time 588 pv d2d4 d7d5 c1f4 e7e6 c2c3 c7c5 e2e4 b8c6 d4c5 f8c5 e4e5 StockfishParser.js:10:12
Stockfish says: info depth 12 seldepth 19 multipv 1 score cp 89 nodes 210484 nps 229035 tbhits 0 time 919 pv e2e4 e7e5 g1f3 g8f6 d2d4 d7d5 f3e5 d5e4 f1c4 f6d5 e1g1 c7c6 StockfishParser.js:10:12
Stockfish says: info depth 12 seldepth 14 multipv 2 score cp 51 nodes 210484 nps 229035 tbhits 0 time 919 pv d2d4 d7d5 c1f4 e7e6 e2e3 g8f6 b1c3 f8d6 f4d6 c7d6 g1f3 e8g8 StockfishParser.js:10:12
Stockfish says: info depth 13 seldepth 20 multipv 1 score cp 81 nodes 338986 nps 226292 hashfull 141 tbhits 0 time 1498 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 d7d5 f1b5 c8d7 b1c3 d5e4 b5c6 d7c6 d4c6 StockfishParser.js:10:12
Stockfish says: info depth 13 seldepth 16 multipv 2 score cp 50 nodes 338986 nps 226292 hashfull 141 tbhits 0 time 1498 pv d2d4 d7d5 e2e3 e7e6 g1f3 g8f6 f1d3 b8c6 e1g1 f8d6 c1d2 e8g8 b1c3 c6b4 c3b5 StockfishParser.js:10:12
Stockfish says: info depth 14 seldepth 19 multipv 1 score cp 69 nodes 724748 nps 221906 hashfull 303 tbhits 0 time 3266 pv d2d4 d7d5 e2e3 e7e6 g1f3 g8f6 c2c4 c7c5 b1c3 f8d6 c4d5 e6d5 d4c5 d6c5 f1e2 e8g8 e1g1 StockfishParser.js:10:12
Stockfish says: info depth 14 seldepth 24 multipv 2 score cp 54 nodes 724748 nps 221906 hashfull 303 tbhits 0 time 3266 pv e2e4 e7e5 b1c3 g8f6 g1f3 b8c6 f1c4 f8e7 c3d5 e8g8 d5f6 e7f6 d2d3 d7d6 e1g1 c8e6 c4d5 e6d5 StockfishParser.js:10:12
Stockfish says: info depth 15 seldepth 23 multipv 1 score cp 76 nodes 812038 nps 222964 hashfull 337 tbhits 0 time 3642 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 g8f6 d4c6 d7c6 d1d8 e8d8 b1c3 f8b4 c1g5 h7h6 g5f6 g7f6 e1c1 d8e7 g2g3 StockfishParser.js:10:12
Stockfish says: info depth 14 seldepth 23 multipv 2 score cp 69 nodes 812038 nps 222964 hashfull 337 tbhits 0 time 3642 pv d2d4 g8f6 StockfishParser.js:10:12
Stockfish says: info depth 15 seldepth 23 multipv 1 score cp 76 nodes 838223 nps 223585 hashfull 343 tbhits 0 time 3749 pv e2e4 e7e5 g1f3 b8c6 d2d4 e5d4 f3d4 g8f6 d4c6 d7c6 d1d8 e8d8 b1c3 f8b4 c1g5 h7h6 g5f6 g7f6 e1c1 d8e7 g2g3 StockfishParser.js:10:12
Stockfish says: info depth 15 seldepth 16 multipv 2 score cp 59 nodes 838223 nps 223585 hashfull 343 tbhits 0 time 3749 pv d2d4 g8f6 e2e3 e7e6 g1f3 d7d5 c2c4 c7c5 b1c3 b8c6 c4d5 f6d5 e3e4 d5c3 b2c3 c5d4 StockfishParser.js:10:12
Stockfish says: bestmove e2e4 ponder e7e5 StockfishParser.js:10:12
Evaluated Moves:  
[
  {
    "depth": 15,
    "multipv": 1,
    "move": "e2e4",
    "score": 76
  },
  {
    "depth": 15,
    "multipv": 2,
    "move": "d2d4",
    "score": 59
  }
]

Best Move:  e2e4 StockfishParser.js:86:12
Best move player can do:  Object { depth: 15, multipv: 1, move: "e2e4", score: 76 } stockfishIntegration.js:76:12

Here he says best move is e2e4 with score 76. but d2d4 still gets 59

Now I give him the FEN for the d2d4 move and let him evaluate blacks best move.

Tell Stockfish: position fen rnbqkbnr/pppppppp/8/8/3P4/8/PPP1PPPP/RNBQKBNR b KQkq d3 0 1 stockfishIntegration.js:22:10
Tell Stockfish: go depth 14 stockfishIntegration.js:22:10
Stockfish says: info depth 1 seldepth 1 multipv 1 score cp -59 nodes 43 nps 43000 tbhits 0 time 1 pv g8f6 StockfishParser.js:10:12
Stockfish says: info depth 1 seldepth 1 multipv 2 score cp -62 nodes 43 nps 43000 tbhits 0 time 1 pv d7d5 StockfishParser.js:10:12
Stockfish says: info depth 2 seldepth 2 multipv 1 score cp -59 nodes 97 nps 97000 tbhits 0 time 1 pv g8f6 e2e3 StockfishParser.js:10:12
Stockfish says: info depth 2 seldepth 2 multipv 2 score cp -59 nodes 97 nps 97000 tbhits 0 time 1 pv d7d5 e2e3 e7e6 c2c4 g8f6 g1f3 StockfishParser.js:10:12
Stockfish says: info depth 3 seldepth 3 multipv 1 score cp -59 nodes 156 nps 78000 tbhits 0 time 2 pv g8f6 e2e3 e7e6 StockfishParser.js:10:12
Stockfish says: info depth 3 seldepth 3 multipv 2 score cp -59 nodes 156 nps 78000 tbhits 0 time 2 pv d7d5 e2e3 e7e6 StockfishParser.js:10:12
Stockfish says: info depth 4 seldepth 4 multipv 1 score cp -59 nodes 236 nps 118000 tbhits 0 time 2 pv g8f6 e2e3 e7e6 g1f3 StockfishParser.js:10:12
Stockfish says: info depth 4 seldepth 4 multipv 2 score cp -59 nodes 236 nps 118000 tbhits 0 time 2 pv d7d5 e2e3 e7e6 c2c4 g8f6 StockfishParser.js:10:12
Stockfish says: info depth 5 seldepth 5 multipv 1 score cp -59 nodes 357 nps 59500 tbhits 0 time 6 pv g8f6 e2e3 e7e6 g1f3 d7d5 StockfishParser.js:10:12
Stockfish says: info depth 5 seldepth 5 multipv 2 score cp -59 nodes 357 nps 59500 tbhits 0 time 6 pv d7d5 e2e3 e7e6 c2c4 g8f6 StockfishParser.js:10:12
Stockfish says: info depth 6 seldepth 6 multipv 1 score cp -59 nodes 548 nps 49818 tbhits 0 time 11 pv g8f6 e2e3 e7e6 g1f3 d7d5 c2c4 StockfishParser.js:10:12
Stockfish says: info depth 6 seldepth 6 multipv 2 score cp -59 nodes 548 nps 49818 tbhits 0 time 11 pv d7d5 e2e3 e7e6 c2c4 g8f6 g1f3 StockfishParser.js:10:12
Stockfish says: info depth 7 seldepth 7 multipv 1 score cp -59 nodes 826 nps 51625 tbhits 0 time 16 pv g8f6 e2e3 e7e6 g1f3 d7d5 c2c4 c7c5 StockfishParser.js:10:12
Stockfish says: info depth 7 seldepth 7 multipv 2 score cp -59 nodes 826 nps 51625 tbhits 0 time 16 pv d7d5 e2e3 e7e6 c2c4 g8f6 g1f3 c7c5 StockfishParser.js:10:12
Stockfish says: info depth 8 seldepth 8 multipv 1 score cp -59 nodes 1181 nps 56238 tbhits 0 time 21 pv g8f6 e2e3 e7e6 g1f3 d7d5 c2c4 c7c5 b1c3 StockfishParser.js:10:12
Stockfish says: info depth 8 seldepth 8 multipv 2 score cp -59 nodes 1181 nps 56238 tbhits 0 time 21 pv d7d5 e2e3 e7e6 c2c4 g8f6 g1f3 c7c5 b1c3 StockfishParser.js:10:12
Stockfish says: info depth 9 seldepth 9 multipv 1 score cp -59 nodes 1704 nps 65538 tbhits 0 time 26 pv g8f6 e2e3 e7e6 g1f3 d7d5 c2c4 c7c5 b1c3 b8c6 StockfishParser.js:10:12
Stockfish says: info depth 9 seldepth 9 multipv 2 score cp -59 nodes 1704 nps 65538 tbhits 0 time 26 pv d7d5 e2e3 e7e6 c2c4 g8f6 g1f3 c7c5 b1c3 b8c6 StockfishParser.js:10:12
Stockfish says: info depth 10 seldepth 10 multipv 1 score cp -59 nodes 3047 nps 89617 tbhits 0 time 34 pv g8f6 e2e3 e7e6 g1f3 d7d5 c2c4 c7c5 b1c3 b8c6 c4d5 StockfishParser.js:10:12
Stockfish says: info depth 10 seldepth 10 multipv 2 score cp -62 nodes 3047 nps 89617 tbhits 0 time 34 pv d7d5 e2e3 e7e6 c2c4 g8f6 g1f3 c7c5 b1c3 b8d7 c4d5 e6d5 StockfishParser.js:10:12
Stockfish says: info depth 11 seldepth 11 multipv 1 score cp -59 nodes 4447 nps 108463 tbhits 0 time 41 pv g8f6 e2e3 e7e6 g1f3 d7d5 c2c4 c7c5 b1c3 b8c6 c4d5 f6d5 StockfishParser.js:10:12
Stockfish says: info depth 11 seldepth 11 multipv 2 score cp -59 nodes 4447 nps 108463 tbhits 0 time 41 pv d7d5 e2e3 e7e6 c2c4 g8f6 g1f3 c7c5 b1c3 b8c6 c4d5 f6d5 StockfishParser.js:10:12
Stockfish says: info depth 12 seldepth 20 multipv 1 score cp -43 nodes 24933 nps 209521 tbhits 0 time 119 pv d7d5 e2e3 e7e6 c2c4 b8d7 g1f3 b7b6 c4d5 e6d5 f1e2 c8b7 e1g1 c7c5 StockfishParser.js:10:12
Stockfish says: info depth 12 seldepth 15 multipv 2 score cp -51 nodes 24933 nps 209521 tbhits 0 time 119 pv g8f6 e2e3 e7e6 g1f3 d7d5 c2c4 c7c5 b1c3 b8c6 c4d5 f6d5 e3e4 d5c3 b2c3 d8c7 StockfishParser.js:10:12
Stockfish says: info depth 13 seldepth 21 multipv 1 score cp -39 nodes 68517 nps 227631 tbhits 0 time 301 pv d7d5 e2e3 e7e6 g1f3 g8f6 f1e2 f8d6 c2c4 c7c5 e1g1 e8g8 b1c3 b8c6 d4c5 StockfishParser.js:10:12
Stockfish says: info depth 13 seldepth 18 multipv 2 score cp -45 nodes 68517 nps 227631 tbhits 0 time 301 pv g8f6 e2e3 e7e6 g1f3 d7d5 c2c4 c7c5 b1c3 b8c6 f1d3 f8d6 d4c5 d6c5 e1g1 d5c4 d3c4 e8g8 StockfishParser.js:10:12
Stockfish says: info depth 14 seldepth 21 multipv 1 score cp -16 nodes 208642 nps 240648 tbhits 0 time 867 pv g8f6 e2e3 e7e6 g1f3 d7d5 c2c4 c7c5 b1c3 b8c6 c4d5 f6d5 f1b5 c5d4 f3d4 c8d7 e1g1 f8d6 c3d5 e6d5 StockfishParser.js:10:12
Stockfish says: info depth 14 seldepth 20 multipv 2 score cp -25 nodes 208642 nps 240648 tbhits 0 time 867 pv d7d5 e2e3 e7e6 g1f3 g8f6 c2c4 c7c5 b1c3 b8c6 c4d5 e6d5 f1b5 a7a6 b5c6 b7c6 e1g1 c5d4 f3d4 StockfishParser.js:10:12
Stockfish says: bestmove g8f6 ponder e2e3 StockfishParser.js:10:12

Best Move:  g8f6 StockfishParser.js:86:12

Score after d2d4: -16

Through all depths it favors Black. How can that be? I use the stockfish.js version from Lichess.

UPDATE: @ferdy points out, that the score is flopped if black is evaluated. And it makes a bit more sense. But still I find the results strange.

  1. When evaluating white, it was 100+ for the first few depths and ended at 59 at depth 15. But for black it was below 100 right from the start and ended at a very low 16cp for depth 14.

  2. It gets even weird if I start evaluatong the d2d4 position right away without evaluating the start position beforehand to make sure that caching isn't the reason (I still would wonder about the result even taking caching into account).

08:06:10.239 Tell Stockfish: uci stockfishIntegration.js:27:10
08:06:10.731 Stockfish says: Stockfish 2018-07-25 64 POPCNT Multi-Variant by D. Dugovic, F. Fichter et al. StockfishParser.js:11:12
08:06:10.796 Stockfish says: id name Stockfish 2018-07-25 64 POPCNT Multi-Variant StockfishParser.js:11:12
08:06:10.796 Stockfish says: id author D. Dugovic, F. Fichter et al. StockfishParser.js:11:12
08:06:10.797 Stockfish says: StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name Debug Log File type string default StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name Contempt type spin default 21 min -100 max 100 StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name Analysis Contempt type combo default Both var Both var Off var White var Black StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name Threads type spin default 1 min 1 max 1 StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name Hash type spin default 16 min 16 max 16 StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name Clear Hash type button StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name Ponder type check default false StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name MultiPV type spin default 1 min 1 max 500 StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name Skill Level type spin default 20 min 0 max 20 StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name Move Overhead type spin default 30 min 0 max 5000 StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name Minimum Thinking Time type spin default 20 min 0 max 5000 StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name Slow Mover type spin default 84 min 10 max 1000 StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name nodestime type spin default 0 min 0 max 10000 StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name UCI_Chess960 type check default false StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name UCI_Variant type combo default chess var chess var giveaway var atomic var crazyhouse var horde var kingofthehill var racingkings var 3check StockfishParser.js:11:12
08:06:10.797 Stockfish says: option name UCI_AnalyseMode type check default false StockfishParser.js:11:12
08:06:10.797 Stockfish says: uciok StockfishParser.js:11:12

08:06:10.241 Tell Stockfish: setoption name MultiPV value 1 stockfishIntegration.js:27:10
08:06:10.241 Tell Stockfish: position fen rnbqkbnr/pppppppp/8/8/3P4/8/PPP1PPPP/RNBQKBNR b KQkq d3 0 1 stockfishIntegration.js:27:10
08:06:10.241 Tell Stockfish: go depth 14 stockfishIntegration.js:27:10
08:06:10.798 Stockfish says: info depth 1 seldepth 1 multipv 1 score cp 12 nodes 20 nps 10000 tbhits 0 time 2 pv d7d5 StockfishParser.js:11:12
08:06:10.798 Stockfish says: info depth 2 seldepth 2 multipv 1 score cp 21 nodes 47 nps 23500 tbhits 0 time 2 pv d7d5 a2a3 StockfishParser.js:11:12
08:06:10.799 Stockfish says: info depth 3 seldepth 3 multipv 1 score cp 12 nodes 152 nps 50666 tbhits 0 time 3 pv e7e6 e2e3 d7d5 StockfishParser.js:11:12
08:06:10.800 Stockfish says: info depth 4 seldepth 4 multipv 1 score cp 1 nodes 330 nps 82500 tbhits 0 time 4 pv e7e6 e2e3 d7d5 c2c3 StockfishParser.js:11:12
08:06:10.806 Stockfish says: info depth 5 seldepth 5 multipv 1 score cp -25 nodes 831 nps 75545 tbhits 0 time 11 pv e7e6 e2e3 d7d5 c2c3 d8d7 StockfishParser.js:11:12
08:06:10.816 Stockfish says: info depth 6 seldepth 7 multipv 1 score cp -7 nodes 1951 nps 97550 tbhits 0 time 20 pv d7d5 e2e3 c8f5 h2h3 e7e6 c1d2 StockfishParser.js:11:12
08:06:10.825 Stockfish says: info depth 7 seldepth 7 multipv 1 score cp 12 nodes 3184 nps 109793 tbhits 0 time 29 pv d7d5 e2e3 c8f5 b1d2 e7e6 c2c4 b8d7 c4d5 StockfishParser.js:11:12
08:06:10.845 Stockfish says: info depth 8 seldepth 8 multipv 1 score cp -10 nodes 7190 nps 146734 tbhits 0 time 49 pv d7d5 e2e3 c8f5 c2c4 e7e6 c4c5 c7c6 b1d2 StockfishParser.js:11:12
08:06:10.898 Stockfish says: info depth 9 seldepth 11 multipv 1 score cp -12 nodes 19495 nps 191127 tbhits 0 time 102 pv d7d5 c2c4 e7e6 e2e3 c7c5 b1c3 c5d4 e3d4 b8c6 StockfishParser.js:11:12
08:06:11.013 Stockfish says: info depth 10 seldepth 14 multipv 1 score cp -17 nodes 46297 nps 213350 tbhits 0 time 217 pv d7d5 c2c4 e7e6 e2e3 c7c5 d4c5 f8c5 c4d5 d8d5 f1b5 b8c6 d1d5 e6d5 StockfishParser.js:11:12
08:06:11.273 Stockfish says: info depth 11 seldepth 17 multipv 1 score cp 6 nodes 108856 nps 227732 tbhits 0 time 478 pv d7d5 c2c4 g8f6 b1c3 c7c6 e2e3 e7e6 c1d2 b8d7 g1f3 f6e4 c3e4 d5e4 StockfishParser.js:11:12
08:06:11.630 Stockfish says: info depth 12 seldepth 16 multipv 1 score cp -3 nodes 191087 nps 229121 tbhits 0 time 834 pv g8f6 b1c3 d7d5 c1f4 a7a6 g1f3 e7e6 e2e3 f8b4 f1e2 b4c3 b2c3 e8g8 StockfishParser.js:11:12
08:06:12.235 Stockfish says: info depth 13 seldepth 18 multipv 1 score cp -17 nodes 323218 nps 224456 hashfull 130 tbhits 0 time 1440 pv g8f6 b1c3 d7d5 c1f4 a7a6 e2e3 e7e6 f1d3 c7c5 g1f3 b8c6 e1g1 h7h6 d4c5 f8c5 a2a3 StockfishParser.js:11:12
08:06:12.831 Stockfish says: info depth 14 seldepth 21 multipv 1 score cp -9 nodes 453263 nps 222733 hashfull 194 tbhits 0 time 2035 pv g8f6 e2e3 e7e6 g1f3 f8e7 f1d3 c7c5 c1d2 d7d5 d4c5 e8g8 e1g1 b8c6 d2c3 StockfishParser.js:11:12
08:06:12.839 Stockfish says: bestmove g8f6 ponder e2e3

Now he reaches only 9 centipawns advantage for white, and the evaluation at various depth is all over the place

Update 2: Depth 25, not any better:

08:16:53.386 Stockfish says: Stockfish 2018-07-25 64 POPCNT Multi-Variant by D. Dugovic, F. Fichter et al. StockfishParser.js:11:12
08:16:53.441 Stockfish says: id name Stockfish 2018-07-25 64 POPCNT Multi-Variant StockfishParser.js:11:12
08:16:53.442 Stockfish says: id author D. Dugovic, F. Fichter et al. StockfishParser.js:11:12
08:16:53.442 Stockfish says: StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name Debug Log File type string default StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name Contempt type spin default 21 min -100 max 100 StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name Analysis Contempt type combo default Both var Both var Off var White var Black StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name Threads type spin default 1 min 1 max 1 StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name Hash type spin default 16 min 16 max 16 StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name Clear Hash type button StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name Ponder type check default false StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name MultiPV type spin default 1 min 1 max 500 StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name Skill Level type spin default 20 min 0 max 20 StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name Move Overhead type spin default 30 min 0 max 5000 StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name Minimum Thinking Time type spin default 20 min 0 max 5000 StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name Slow Mover type spin default 84 min 10 max 1000 StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name nodestime type spin default 0 min 0 max 10000 StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name UCI_Chess960 type check default false StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name UCI_Variant type combo default chess var chess var giveaway var atomic var crazyhouse var horde var kingofthehill var racingkings var 3check StockfishParser.js:11:12
08:16:53.442 Stockfish says: option name UCI_AnalyseMode type check default false StockfishParser.js:11:12
08:16:53.442 Stockfish says: uciok StockfishParser.js:11:12
08:16:53.443 Stockfish says: info depth 1 seldepth 1 multipv 1 score cp 12 nodes 20 nps 20000 tbhits 0 time 1 pv d7d5 StockfishParser.js:11:12
08:16:53.443 Stockfish says: info depth 2 seldepth 2 multipv 1 score cp 21 nodes 47 nps 23500 tbhits 0 time 2 pv d7d5 a2a3 StockfishParser.js:11:12
08:16:53.444 Stockfish says: info depth 3 seldepth 3 multipv 1 score cp 12 nodes 152 nps 76000 tbhits 0 time 2 pv e7e6 e2e3 d7d5 StockfishParser.js:11:12
08:16:53.445 Stockfish says: info depth 4 seldepth 4 multipv 1 score cp 1 nodes 330 nps 110000 tbhits 0 time 3 pv e7e6 e2e3 d7d5 c2c3 StockfishParser.js:11:12
08:16:53.451 Stockfish says: info depth 5 seldepth 5 multipv 1 score cp -25 nodes 831 nps 92333 tbhits 0 time 9 pv e7e6 e2e3 d7d5 c2c3 d8d7 StockfishParser.js:11:12
08:16:53.460 Stockfish says: info depth 6 seldepth 7 multipv 1 score cp -7 nodes 1951 nps 108388 tbhits 0 time 18 pv d7d5 e2e3 c8f5 h2h3 e7e6 c1d2 StockfishParser.js:11:12
08:16:53.469 Stockfish says: info depth 7 seldepth 7 multipv 1 score cp 12 nodes 3184 nps 113714 tbhits 0 time 28 pv d7d5 e2e3 c8f5 b1d2 e7e6 c2c4 b8d7 c4d5 StockfishParser.js:11:12
08:16:53.489 Stockfish says: info depth 8 seldepth 8 multipv 1 score cp -10 nodes 7190 nps 152978 tbhits 0 time 47 pv d7d5 e2e3 c8f5 c2c4 e7e6 c4c5 c7c6 b1d2 StockfishParser.js:11:12
08:16:53.543 Stockfish says: info depth 9 seldepth 11 multipv 1 score cp -12 nodes 19495 nps 193019 tbhits 0 time 101 pv d7d5 c2c4 e7e6 e2e3 c7c5 b1c3 c5d4 e3d4 b8c6 StockfishParser.js:11:12
08:16:53.659 Stockfish says: info depth 10 seldepth 14 multipv 1 score cp -17 nodes 46297 nps 212371 tbhits 0 time 218 pv d7d5 c2c4 e7e6 e2e3 c7c5 d4c5 f8c5 c4d5 d8d5 f1b5 b8c6 d1d5 e6d5 StockfishParser.js:11:12
08:16:53.922 Stockfish says: info depth 11 seldepth 17 multipv 1 score cp 6 nodes 108856 nps 226783 tbhits 0 time 480 pv d7d5 c2c4 g8f6 b1c3 c7c6 e2e3 e7e6 c1d2 b8d7 g1f3 f6e4 c3e4 d5e4 StockfishParser.js:11:12
08:16:54.281 Stockfish says: info depth 12 seldepth 16 multipv 1 score cp -3 nodes 191087 nps 227755 tbhits 0 time 839 pv g8f6 b1c3 d7d5 c1f4 a7a6 g1f3 e7e6 e2e3 f8b4 f1e2 b4c3 b2c3 e8g8 StockfishParser.js:11:12
08:16:54.880 Stockfish says: info depth 13 seldepth 18 multipv 1 score cp -17 nodes 323218 nps 224612 hashfull 130 tbhits 0 time 1439 pv g8f6 b1c3 d7d5 c1f4 a7a6 e2e3 e7e6 f1d3 c7c5 g1f3 b8c6 e1g1 h7h6 d4c5 f8c5 a2a3 StockfishParser.js:11:12
08:16:55.460 Stockfish says: info depth 14 seldepth 21 multipv 1 score cp -9 nodes 453263 nps 224610 hashfull 194 tbhits 0 time 2018 pv g8f6 e2e3 e7e6 g1f3 f8e7 f1d3 c7c5 c1d2 d7d5 d4c5 e8g8 e1g1 b8c6 d2c3 StockfishParser.js:11:12
08:16:56.157 Stockfish says: info depth 15 seldepth 19 multipv 1 score cp -4 nodes 615064 nps 226459 hashfull 269 tbhits 0 time 2716 pv d7d5 c2c4 e7e6 g1f3 c7c5 e2e3 f8e7 d4c5 e7c5 c1d2 b8c6 c4d5 e6d5 b1c3 g8f6 StockfishParser.js:11:12
08:16:56.585 Stockfish says: info depth 16 seldepth 20 multipv 1 score cp -12 upperbound nodes 713047 nps 226796 hashfull 311 tbhits 0 time 3144 pv d7d5 c2c4 StockfishParser.js:11:12
08:16:57.134 Stockfish says: info depth 16 seldepth 20 multipv 1 score cp -4 lowerbound nodes 834941 nps 226087 hashfull 362 tbhits 0 time 3693 pv d7d5 StockfishParser.js:11:12
08:16:57.281 Stockfish says: info depth 16 seldepth 20 multipv 1 score cp -7 nodes 868397 nps 226203 hashfull 372 tbhits 0 time 3839 pv d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 c1d2 e8g8 e2e3 c7c6 h2h3 b8d7 c4d5 e6d5 f1e2 StockfishParser.js:11:12
08:16:58.247 Stockfish says: info depth 17 seldepth 20 multipv 1 score cp -14 upperbound nodes 1082271 nps 225285 hashfull 454 tbhits 0 time 4804 pv d7d5 c2c4 StockfishParser.js:11:12
08:16:59.252 Stockfish says: info depth 17 seldepth 24 multipv 1 score cp -22 upperbound nodes 1300745 nps 223841 hashfull 532 tbhits 0 time 5811 pv d7d5 c2c4 StockfishParser.js:11:12
08:16:59.901 Stockfish says: info depth 17 seldepth 26 multipv 1 score cp -14 lowerbound nodes 1441970 nps 223249 hashfull 583 tbhits 0 time 6459 pv d7d5 StockfishParser.js:11:12
08:17:00.320 Stockfish says: info depth 17 seldepth 26 multipv 1 score cp -14 nodes 1540149 nps 223923 hashfull 615 tbhits 0 time 6878 pv d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 c1d2 e8g8 e2e3 c7c5 a2a3 b4c3 d2c3 c5d4 e3d4 d8c7 StockfishParser.js:11:12
08:17:01.146 Stockfish says: info depth 18 seldepth 23 multipv 1 score cp -6 lowerbound nodes 1723744 nps 223775 hashfull 674 tbhits 0 time 7703 pv d7d5 StockfishParser.js:11:12
08:17:02.764 Stockfish says: info depth 18 seldepth 27 multipv 1 score cp -21 upperbound nodes 2087673 nps 223951 hashfull 765 tbhits 0 time 9322 pv d7d5 c2c4 StockfishParser.js:11:12
08:17:03.843 Stockfish says: info depth 18 seldepth 32 multipv 1 score cp -10 lowerbound nodes 2322356 nps 223260 hashfull 816 tbhits 0 time 10402 pv d7d5 StockfishParser.js:11:12
08:17:04.197 Stockfish says: info depth 18 seldepth 32 multipv 1 score cp -18 nodes 2400901 nps 223215 hashfull 831 tbhits 0 time 10756 pv d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 e2e3 e8g8 c1d2 b7b6 c4d5 b4c3 d2c3 d8d5 f1d3 b8d7 e1g1 c8b7 a1b1 StockfishParser.js:11:12
08:17:05.861 Stockfish says: info depth 19 seldepth 24 multipv 1 score cp -12 nodes 2761268 nps 222342 hashfull 881 tbhits 0 time 12419 pv d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 c1d2 e8g8 e2e3 b7b6 a2a3 b4c3 d2c3 c8b7 f1d3 f6e4 e1g1 d5c4 d3c4 b8d7 c4d3 e4c3 b2c3 c7c5 StockfishParser.js:11:12
08:17:09.494 Stockfish says: info depth 20 seldepth 32 multipv 1 score cp -16 nodes 3534849 nps 220212 hashfull 954 tbhits 0 time 16052 pv d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 c1d2 e8g8 e2e3 b7b6 f1e2 d5c4 e1g1 c8b7 f3e5 b8d7 e5c4 b4c3 d2c3 f6e4 e2d3 e4c3 StockfishParser.js:11:12
08:17:11.770 Stockfish says: info depth 21 seldepth 27 multipv 1 score cp -8 lowerbound nodes 4030454 nps 219906 hashfull 972 tbhits 0 time 18328 pv d7d5 StockfishParser.js:11:12
08:17:13.641 Stockfish says: info depth 21 seldepth 27 multipv 1 score cp -15 nodes 4428020 nps 219219 hashfull 978 tbhits 0 time 20199 pv d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 e2e3 e8g8 f1d3 c7c5 e1g1 b8c6 a2a3 b4c3 b2c3 b7b6 f3e5 c6e5 d4e5 f6e4 c4d5 e6d5 StockfishParser.js:11:12
08:17:16.329 Stockfish says: info depth 22 seldepth 26 multipv 1 score cp -7 lowerbound nodes 5002505 nps 218574 hashfull 988 tbhits 0 time 22887 pv d7d5 StockfishParser.js:11:12
08:17:21.069 Stockfish says: info depth 22 seldepth 28 multipv 1 score cp 0 lowerbound nodes 5972553 nps 216185 hashfull 998 tbhits 0 time 27627 pv d7d5 StockfishParser.js:11:12
08:17:27.891 Stockfish says: info depth 22 seldepth 30 multipv 1 score cp -10 nodes 7411843 nps 215147 hashfull 999 tbhits 0 time 34450 pv d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 e2e3 e8g8 c1d2 b7b6 c4d5 b4c3 d2c3 d8d5 f1d3 b8d7 e1g1 c8b7 b2b3 c7c5 d3c4 d5c6 d4c5 d7c5 StockfishParser.js:11:12
08:17:35.212 Stockfish says: info depth 23 seldepth 33 multipv 1 score cp -2 lowerbound nodes 8950454 nps 214279 hashfull 999 tbhits 0 time 41770 pv d7d5 StockfishParser.js:11:12
08:17:38.858 Stockfish says: info depth 23 seldepth 33 multipv 1 score cp -7 nodes 9735420 nps 214361 hashfull 999 tbhits 0 time 45416 pv d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 e2e3 e8g8 c1d2 b7b6 c4d5 e6d5 f1d3 b8d7 e1g1 c8b7 a1c1 c7c5 d1c2 b4c3 d2c3 f6e4 d4c5 d7c5 f1d1 StockfishParser.js:11:12
08:17:52.724 Stockfish says: info depth 24 seldepth 30 multipv 1 score cp -7 nodes 12599788 nps 212536 hashfull 999 tbhits 0 time 59283 pv d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 e2e3 e8g8 c1d2 b7b6 c4d5 e6d5 f1d3 b8d7 e1g1 c8b7 a1c1 c7c5 a2a3 b4a5 d1c2 a5c3 d2c3 f6e4 d4c5 b6c5 StockfishParser.js:11:12
08:18:08.498 Stockfish says: info depth 25 seldepth 31 multipv 1 score cp -7 nodes 15886035 nps 211652 hashfull 999 tbhits 0 time 75057 pv d7d5 c2c4 e7e6 g1f3 g8f6 b1c3 f8b4 e2e3 e8g8 c1d2 b7b6 f1e2 d5c4 e2c4 c8b7 e1g1 b4d6 f1e1 c7c5 d4c5 d6c5 a1c1 f6e4 c3e4 b7e4 StockfishParser.js:11:12
08:18:08.507 Stockfish says: bestmove d7d5 ponder c2c4

1 Answer 1

6

Stockfish is an engine that follows the UCI protocol. In this protocol, the score shown is from the side point of view (SPOV) and not white point of view (WPOV).

When you push d2d4, the side to move is now black. With negative score that means black is at a disadvantage meaning white is still ahead.

SPOV (Side Point Of View)

  • Positive score favors the side to move
  • Negative score favors the side not to move.
4
  • Ok, I thaught so much, but the standard does not say this, it only says: "This is the score from the engine's point of view in centipawns." But this still leaves me wondered about the very different points at the various depth compared to whites perspective which starts at 100+ for the first 4 levels and ends at 59 at level 15. While after moving it is always below 100 and ends with only 16 on level 14
    – Torge
    Jan 22 at 6:37
  • That is the output of the Stockfish that you use. In Stockfish 16 on desktop, the output is different. Don't bother making conclusions on lower depths or below 1 second thinking time, they are mostly unreliable, except if it uses NNUE. As the engine's thinking time get higher the accuracy gets higher as well. Are you familiar with the engine you use? What Stockfish version it is based? Does it use NNUE? Could you show its options.
    – ferdy
    Jan 22 at 8:09
  • Thanks for your effort. You can find the options at the top of the output on my updates. Even at depth 25, it is not improving. It's just so weird that it works totally fine when evaluation on whites turn, so I have to assume now that that version is buggy. I'll test with the desktop version myself... PS: it's this version github.com/lichess-org/stockfish.js
    – Torge
    Jan 22 at 16:50
  • NVM, I managed to enable wasm support (web assembly) and now it works as it should, guess the pure javascript version has bugs that no-one discovered. Thanks for pointing out the points swap
    – Torge
    Jan 22 at 17:07

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.