Friday, August 15, 2025

Season 28 premier division, after RR4

Standings after RR4

Stockfish and Integral continue to lead, both had 4 game pair wins and two losses in the second DRR. Stockfish lost to Leela and to Integral, yet its results against lower ranking engines is better. Integral lost to Leela and Obsidian. Leela is in 3rd place after 3 game pair wins and no loss. It won against Stockfish and Integral, but only had one more win against the other engines.

KomodoDragon had a terrible DRR with 6 game pair losses, it dropped to last place. Berserk had only one game pair loss, it has a 1.5 points gap to Ethereal in 7th place.

Interesting games

game 59, Stockfish - Ethereal: The engines blocked the center, there was one pawn exchange on the queen side. The engines exchanged a pair of knights on move 33, evals slowly increased though the engines appeared to be shuffling. On move 57 Stockfish exchanged pawns on the king side, then it captured a pawn and created connected passers on the queen side. Ethereal exchanged pieces and gave a bishop for the white passers, reducing to a RB vs R position. Stockfish pushed two passers forward, Ethereal lost material and was mated.

game 61, Berserk - Obsidian: There was one pawn exchange in the center, the engines arranged their pawn lines and shuffled with evals increasing slowly. The first pieces were exchanged on move 31, a second pawn exchange opened two files. The engines exchanged all knights, both engines created a passer in the center and Berserk captured a pawn. Berserk created a second passer and captured a second pawn, it pushed its passers to the 6th rank. Obsidian tried to block, in a series of exchanges it lost all pieces and Berserk was left with a queen, mate followed.

game 62, Ethereal - KomodoDragon: The engines gradually exchanged pieces and pawns including queens, evals increased slowly. On move 53 the game reached a RRB vs RRB position, a few moves later Ethereal exchanged a pair of rooks, captured a pawn and created a passer in the center. The white king moved forward and Ethereal captured two more pawns. Ethereal gave a rook for a bishop, queened a passer and mated.

game 63, Integral - Stockfish: see featured game below.

game 65, PlentyChess - Berserk: PlentyChess pushed pawns on the king side and castled long. Berserk tried to attack on the queen side, in a series of exchanges PlentyChess gave the queen for two bishops. Berserk then gave a rook for a knight, the black king was under threat after PlentyChess opened the h file. PlentyChess created a passer on the queen side, it gave material and queened. The game reached a QB vs Q ending with black two pawns up. Berserk had a passer on the 2nd rank, PlentyChess managed to prevent a queening while also pushing its own passer slowly. The engines exchanged queens, both queened and then exchanged queens again. In the end PlentyChess mated with a bishop and a pawn.

game 68, Obsidian - Ethereal: The engines exchanged pawns on the king side, Obsidian walked its king to the queen side. The black king had no pawn support, more pieces were exchanged until only QN vs QB remained. Obsidian captured a pawn, it pushed a passer slowly forward. After exchanging queens Ethereal couldn't stop a queening followed by mate.

game 69, Berserk - Ethereal: Berserk was up a pawn early. After some shuffling and pawn moves there was a series of exchanges that led to a R vs BN imbalance. The engines cleared the queen side pawns and continued to exchange pieces until reaching an opposite color bishop ending. Berserk was two pawns up, Ethereal captured two pawns but by then Berserk had advanced connected passers. Berserk captured the last black pawns, queened passers and mated.

game 71, Leela - KomodoDragon: There were many early exchanges including queens, Leela kept its king in the center. The game reached a RRB vs RRB position, Leela captured a pawn and pushed a pawn to e6. KomodoDragon avoided capturing the pawn and hid its king behind it. KomodoDragon regained the pawn, it tried to keep the board blocked but Leela gave a rook for a bishop and moved a rook to the 7th rank. Leela captured a pawn and created another passer on the 6th rank, KomodoDragon lost material and was mated.

game 73, Stockfish - Berserk: There were a few exchanges after the start, the white queen was out on the king side. Berserk preferred to walk its king to the queen side for safety. All pieces moved to the queen side, Berserk captured a pawn and Stockfish trapped a rook in the center. Berserk lost the rook for a knight and evals started to increase in a QRR vs QRN position. Stockfish threatened the black king while pushing pawns, it captured a pawn and created a passer on the king side. Stockfish opened the center and exchanged a pair of rooks, at the right time it exchanged all remaining pieces and queened the passer. The black pawns were too slow, Stockfish queened again and mated.

game 79, PlentyChess - Obsidian: The engines castled in opposite directions, opened the e file and gradually exchanged pieces. The game reached a QRB vs QRN position, PlentyChess had a passer in the center and it also captured a pawn. Obsidian blocked the passer, for a while the engines seemed to be shuffling. Obsidian gave a pawn to increase the activity of its queen, then captured a pawn back. PlentyChess reduced to a B vs N ending, Obsidian lost its knight and both engines queened a passer. After exchanging queens PlentyChess queened again to win.

game 80, Stockfish - KomodoDragon: KomodoDragon gave a rook for a bishop early. Stockfish pushed pawns on the king side, it opened the h file and captured a pawn, the black king ran to the center for safety. KomodoDragon traded two knights for a rook and pawn, the game reached a QRB vs QR position. Stockfish tried to exchange pieces and KomodoDragon avoided the exchanges, after 30 moves Stockfish exchanged queens. Stockfish captured a pawn and created a passer, KomodoDragon lost its rook for the passer and was mated.

Standings after RR3: Stockfish +7, Integral +5, Leela +3, PlentyChess +1, Obsidian 0, Berserk -4, KomodoDragon -5, Ethereal -7. Stockfish is in the lead, despite losing to Integral. Stockfish won 3 games as white and drew as white against Leela. Integral is in second place, apart from the surprising win against Stockfish it drew as white against Leela and Obsidian. Leela is still in third place after drawing 3 times against lower ranked engines and only winning once. At the bottom KomodoDragon had 3 losses without a win, it is now in 7th place behind Berserk which had a good RR with two wins and two losses.

game 86, Integral - PlentyChess: The engines opened a file on the queen side, Integral kept its king in the center. The engines exchanged all bishops and a pair of rooks, evals started to increase. The white king walked to the king side, the engines reduced to a double knight ending. The white knights had more space to maneuver, after 20 moves Integral captured a pawn and created a passer on the queen side. Integral gave a knight for two pawns, PlentyChess captured the passer but now Integral had 3 more. The white king moved forward, PlentyChess lost a knight for a passer and gave up the other knight with mate following.

game 88, Obsidian - KomodoDragon: The engines opened a file on the queen side, Obsidian moved the queen forward and grabbed a pawn. KomodoDragon had a bishop pair advantage, after some shuffling the major pieces concentrated on the queen side. After a knight for bishop exchange KomodoDragon captured a pawn and created a passer. Obsidian had more attackers than KomodoDragon's defenders, Obsidian captured the passer and reduced to a QN vs QB position. KomodoDragon had a weak pawn that its bishop could not defend, Obsidian was patient and only after a few pawn trades and 20 moves it captured the pawn. Obsidian pushed a passer forward, KomodoDragon blocked but its king was trapped and mated.

game 89, Obsidian - Berserk: There was one pawn exchange after the start, Obsidian pushed pawns on the queen side. On move 27 the engines exchanged a pair of bishops, after some shuffling there was a series of exchanges that reduced to a RNN vs RBN position. After exchanging a pair of knights Obsidian captured a pawn and created an advanced passer on the queen side. Berserk couldn't avoid a queening followed by mate. There were two white wins in this game pair.

game 93, Berserk - PlentyChess: The engines opened the center and started to exchange pieces. Berserk captured a rook for a bishop and pawn, the game reached a QRB vs QBN position. Berserk pushed a passer, then gave the rook for a bishop. It then gave the queen for a knight and queened the passer, resulting in a QB vs Q ending. PlentyChess captured pawns, Berserk pushed one last pawn slowly forward. PlentyChess delayed with checks as much as it could, eventually Berserk queened and mated. There were two white wins in this game pair.

game 94, Leela - Stockfish: The engines opened the center and exchanged pieces and pawns, queens were exchanged and the black king moved without castling. Leela captured a pawn, the game reached a BB vs BN position on move 26, white a pawn up with doubled pawns. Leela improved very slowly, using its bishop pair advantage. After 25 moves Leela created a passer and got rid of the doubled pawns. After 20 more moves the passer started to advance, then Leela captured another pawn and created a second passer. Stockfish couldn't stop both passers, it exchanged all pieces, Leela queened and mated.

game 95, Integral - KomodoDragon: There was one minor piece exchange after the start, both engines castled long. After a period of mostly shuffling the engines opened the king side and started to exchange pieces. Integral gave a bishop, then captured the queen for a rook to get a Q vs RB ending. Integral used attacks on the black king, it captured a pawn and created a passer. KomodoDragon blocked the passer on the 7th rank, it lost material and was mated.

game 97, Ethereal - Berserk: Ethereal was up a pawn early, the engines exchanged pieces and pawns and Ethereal created a passer on the queen side. The game reached a RB vs RN position, Ethereal played patiently and didn't push the passer forward. The black king moved to the queen side, Ethereal captured a second pawn and created a passer on the king side. Berserk captured the queen side passer but lost all its pawns, it lost its pieces for the remaining white pawns and was mated. There were two white wins in this game pair.

game 98, Obsidian - Integral: There was one pair of bishops exchanged after the start, the black queen moved forward on the king side. After a pawn exchange Obsidian created a passer in the center and the queens were exchanged. The engines blocked the queen side and shuffled for a while, Obsidian walked its king to the queen side and doubled rooks on the g file. The engines opened the king side and reduced to a RNN vs RBN position, Integral lost the rook for a passer, Obsidian trapped and captured the bishop. Obsidian queened a passer to win.

game 100, Stockfish - PlentyChess: There were a few exchanges after the start, the engines shuffled for a while without moving pawns. Stockfish slowly pushed pawns on the king side, evals increased a little. Stockfish created a passer in the center, then gave two pawns and evals jumped. PlentyChess gave a rook and pushed connected passers on the king side, Stockfish gave the rook back for two black passers. In a QRB vs QRB position Stockfish had a passer on the 7th rank, it forced a queen exchange and confined the black king to the h file. PlentyChess exchanged rooks, when the white king moved forward PlentyChess lost the bishop for a passer. Stockfish queened another passer to win.

game 102, PlentyChess - KomodoDragon: There were a few exchanges after the start, PlentyChess had more space. In a series of exchanges the engines opened the center and exchanged queens, PlentyChess captured a pawn on the queen side. PlentyChess gave a pawn creating a passer on the queen side for itself and for KomodoDragon. In a series of exchanges the engines reduced to a double rook ending, KomodoDragon was a pawn up but PlentyChess had an advanced passer. PlentyChess lost the passer but captured two pawns on the king side, KomodoDragon lost material and was mated.

game 104, Integral - Ethereal: Integral pushed pawns on the king side, Ethereal exchanged queens and the g file opened. Integral captured a pawn, the engines continued to exchange pieces until only B vs N were left. Integral traded pawns, the white king moved forward to support a passer and Ethereal couldn't stop a queening and mate. 

game 107, Obsidian - PlentyChess: There were no exchanges after the start, the engines castled in opposite directions. Obsidian pushed pawns on the king side until they met the black pawns and blocked the king side. PlentyChess opened the center, the engines exchanged pieces and reduced to a QRN vs QRN position. Obsidian captured a pawn and created a passer on the queen side, it pushed the passer forward slowly. PlentyChess managed to capture the passer but Obsidian captured a pawn on the king side and created a passer there. PlentyChess lost the queen for this passer, mate followed. There were two white wins in this game pair. 

game 111, PlentyChess - Ethereal: There were no exchanges after the start, the engines blocked the center. Ethereal captured a pawn but evals increased steadily. PlentyChess pushed pawns on the king side, it created a passer with a pawn exchange. Another pawn exchange opened the b file, PlentyChess moved a rook forward and the black major pieces were on the other side. Ethereal gave a pawn and tried to hide its king behind it, PlentyChess moved its queen forward on the queen side. PlentyChess exchanged pieces to relieve the pressure on the back ranks, the queens were exchanged and Ethereal lost minor pieces. PlentyChess moved its second rook forward and forced mate.

game 112, Leela - Integral: The center was blocked, there were a few exchanges after the start including queens. The first pawn exchange was on move 31, Leela pushed pawns on the king side and opened the h file, the engines exchanged a pair of rooks. Leela then shifted to the queen side, it captured a pawn and reduced to a RNN vs RBN position. Leela gave back the pawn and created a passer on the queen side. After exchanging knights Leela had passers on the king side as well, Integral couldn't stop them all it lost the rook and was mated. 

Featured game: Integral - Stockfish
game 63

The engines opened the center, Stockfish castled long and Integral kept its king in the center. Evals increased gradually, Integral opened the h file and moved its king to the king side. The black pawns were mostly undeveloped in the center and king side, on move 29 Stockfish pushed the e pawn to add some space for its pieces. This created a passer in the center for Stockfish, while also creating a pawn majority on the king side for Integral.

Stockfish kept a rook on the king side to watch the white pawns. Integral exchanged a pair of pawns on the queen side and the black queen had to keep the black king safe. After patient preparation Integral managed to capture a pawn and create a passer in the center. Then it captured the black passer and reduced to a QRR vs QRR position, with two more passers on the king side. 

Integral threatened the black king, Stockfish captured one of the passers and Integral forced a queen exchange. Stockfish lost a rook for a passer, Integral queened another and mated.


Saturday, August 9, 2025

Season 28 premier division, after RR2

Standings after RR2

Stockfish is in the lead with 5 game pair wins without loss. The surprise is that Integral is in second place with 4 game pair wins and no loss. Leela is only in 3rd place with 3 game pair wins and an unexpected game pair loss to Obsidian. At the bottom of the table Berserk and Ethereal with 4 and 5 game pair losses and no game pair wins.

It is still early, but if Leela fails to qualify for the superfinal this could be a major upset in TCEC. The last time Leela missed a superfinal was in season 22, and before that it was season 16. Adding to the surprise is that this is the first TCEC season for Integral. 

Interesting games

game 1, Leela - Berserk: There was one minor piece exchange after the start, Leela had a space advantage and evals increased. Bersesrk gave a pawn and opened the queen side, Leela created a passer after a rook exchange. In a long shuffle the white king walked to the queen side, then the engines locked the center and king side. Berserk gave a knight for two pawns, Leela moved a rook forward and captured pawns. The game reached a RB vs R position, Leela pushed connected passers to win.

game 3, Stockfish - Ethereal: The engines exchanged pieces slowly and Stockfish's eval increased. The game reached a QN vs QB position, Stockfish threatened the black king and Ethereal exchanged queens. Stockfish created a passer on the queen side and Ethereal pushed a passer in the center. The white passer had pawn support, Stockfish managed to capture the black passer. After Stockfish captured another pawn Ethereal lost the bishop for another passer, Stockfish queened and mated.

game 4, KomodoDragon - Obsidian: The engines exchanged all knights and KomodoDragon had a passer in the center. After a while the engines opened a file on the queen side and exchanged a pair of rooks. The engines traded pawns and KomodoDragon captured two on the queen side. A series of exchanges reduced to a RB vs RB position with white 3 pawns up, Obsidian lost more material and was mated.

game 6, Ethereal - KomodoDragon: The center was blocked, the engines opened a file on the queen side and exchanged queens. KomodoDragon pushed pawns on the king side, most pawns there were exchanged, Ethereal was a pawn up with a passer. After some shuffling Ethereal gave a rook for a knight and captured two more pawns, reducing to a BBN vs RBB position. KomodoDraogon lost a bishop for a passer, more pawns were captured until there was only one white pawn left. KomodoDragon lost material for the last pawn, the game ended in a double bishop mate.

game 9, PlentyChess - Berserk: Berserk castled long, the engines exchanged minor pieces on the king side and Berserk had a triple g pawn. PlentyChess opened the queen side, the black king ran to the center. The game reached a RN vs RB position, the black bishop was trapped and Berserk gave the rook for a knight and pawn to release it. The white king moved forward, PlentyChess created a passer and queened to win.

game 12, Obsidian - Ethereal: There were no exchanges after the start, the center and queen side were blocked. The engines shuffled and pushed pawns on the king side, then opened the h file and exchanged minor pieces. Obsidian captured a pawn, all major pieces were exchanged and only BN vs BN were left. Obsidian had two passers, Ethereal managed to capture one but Obsidian captured two pawns and created another passer. Ethereal couldn't avoid a queening and mate.

game 13, Berserk - Ethereal: The center was blocked, the engines exchanged minor pieces and opened the e file, then opened a file on the queen side. Berserk moved a rook forward and trapped the black king. Ethereal gave a rook for a knight and reducd to a RR vs RB position, Berserk moved the second rook forward and pinned the black bishop. Ethereal delayed with checks but was mated on the back ranks. 

game 14, Integral - Obsidian: The center was blocked, the engines opened a file on the queen side and exchanged all rooks. The engines shuffled for a while and blocked the king side, then reduced to a BN vs BN position. Integral had a passer on the queen side and it captured a pawn. It gave the passer and captured two pawns on the king side. Integral traded pawns and created two passers, Obsidian lost the bishop for one. Integral queened another passer and won.

game 17, Stockfish - Berserk: Berserk castled long, Stockfish exchanged pawns on the queen side and moved its major pieces there and Berserk did the same. After a long wait Stockfish gave a rook and knight for the black queen. The game reached a Q vs RB position, Stockfish pushed a pawn forward and Berserk gave the bishop for it. Stockfish captured pawns and then reduced to a winning king and pawns ending.

game 18, KomodoDragon - PlentyChess: The engines exchanged all bishops, then started a very long shuffle that was extended by pawn moves. After move 110 the engines exchanged pawns and a pair of knights, evals started to increase after KomodoDragon opened the queen side and threatened the black king. In a QRN vs QRN position PlentyChess tried to counter attack with its queen, KomodoDragon created passers in the center and the black defense collapsed. PlentyChess lost material and KomodoDragon reduced to a tablebase win.

game 19, Obsidian - Leela: See featured game below. 

game 22, Leela - Ethereal: The engines blocked the center, there were no exchanges after the start. After a while there were a few pawn exchanges as well as a minor piece exchange, the h file opened. Leela gave a pawn and opened the e file, the engines exchanged a pair of rooks. Leela attacked through the h file, the black king ran to the queen side and the game reached a QRB vs QRB position. Leela regained the pawn and created a passer, then it gave a pawn and shifted to attack the queen side. The queens were exchanged and Leela captured two pawns. Leela pushed the passer and promoted to a knight, expecting Ethereal to give a piece for it but Ethereal decided it can face an extra knight. Leela moved its pieces forward, the black king was trapped and eventually mated.

game 24, Stockfish - KomodoDragon: After a pawn exchange in the center KomodoDragon pushed pawns on the queen side. Stockfish captured a pawn, then trapped a knight on the king side. KomodoDragon traded the knight and a bishop for a rook. Stockfish captured pawns while KomodoDragon attacked the white king through the center. After a series of exchanges the game reached a RBN vs RB position with black two pawns up. Stockfish captured black pawns until none were left, it trapped the black king on the back rank and mated.

Standings after RR1: Stockfish +3, Leela Integral +1, KomodoDragon PlentyChess Obsidian 0, Berserk -2, Ethereal -3. Stockfish leads the table, with five engines chasing. Only Stockfish and Integral are without loss.

game 32, Obsidian - KomodoDragon: The engines opened the center, Obsidian gave a bishop but the black king was stuck in the center and KomodoDragon's king side pieces were not developed. Obsidian captured 3 pawns while KomodoDragon developed pieces, then a series of exchanges reduced to a RR  vs RBN position. The engines traded pawns and Obsidian had a passer on both sides of the board. It pushed both passers slowly, eventually KomodoDragon lost a bishop to capture them. The black king was trapped, KomodoDragon lost more material and was mated. There were two white wins in this game pair.

game 34, KomodoDragon - Ethereal: KomodoDragon gave a knight for two pawns and created connected passers on the queen side. Ethereal captured a pawn back, but KomodoDragon placed a rook on the 7th rank and pushed the passers forward. Ethereal lost a rook for one passer, the engines reduced to a RB vs BB position. For the second passer Ethereal lost a bishop, KomodoDragon chased the black king and mated. There were two white wins in this game pair.

game 39, Integral - KomodoDragon: The engines formed a blocked line of pawns across the board, where only the h pawns had a chance of exchange. The was a long shuffle, most pieces were concentrated on the king side. On move 74 Integral's eval jumped, it sacrificed a knight and a bishop for two pawns and created connected passers on the queen side. KomodoDragon had 3 pieces that couldn't get out of the king side corner. Integral exchanged queens, KomodoDragon lost a knight and a rook for two passers. In a RRN vs RBN position the black king was trapped and eventually mated on the back rank. 

game 41, Ethereal - Berserk: There were a few pawn exchanges after the start, Ethereal had a space advantage. The black king was threatened on the long diagonal, Berserk exchanged most minor pieces and its last bishop was restricted. Ethereal opened the h file, in a series of exchanges it captured two pawns and reduced to a RN vs RB position. Ethereal pushed passers forward, queened and mated. There were two white wins in this game pair.

game 43, KomodoDragon - Leela: The center was blocked, Leela had a space advantage. Leela pushed pawns on the queen side, KomodoDragon exchanged a pair of pawns to free space on the king side. KomodoDragon created a passer in the center, Leela pushed pawns on the king side. The white king felt threatened and it walked to the queen side. Leela doubled queen and bishop on a long diagonal and the g pawn became a passer on g6. Leela captured a pawn in a series of minor piece exchanges, it connected a second passer on the king side. KomodoDragon gave material to stop one passer, reducing to a QBN vs QRB position. Leela captured two more pawns, the white queen was forced to block a passer. This left the white king vulnerable, Leela attacked and mated.

game 44, Stockfish - PlentyChess: The center was blocked, Stockfish castled long and PlentyChess kept its king in the center. PlentyChess captured a pawn on the queen side and tried to attack the white king but was not strong enough. Stockfish created a passer in the center, then shifted its pieces to the king side. Stockfish gave a rook for a bishop and pawns to open the king side and expose the black king. Stockfish connected a second passer, PlentyChess managed to capture both passers but it lost material and the game reached a QBN vs QN position. Stockfish pushed passers forward, queened and mated.

game 48, Integral - Ethereal: The center was blocked, Ethereal castled long and Integral kept its king in the center. All pawns were on the board, the engines exchanged a pair of knights. Integral pushed pawns on the king side, the first pawn exchange was on the queen side and the a file opened. Integral attacked the black king and the engines exchanged queens, a pawn exchange on the king side created a white passer. Integral gave a rook for a bishop, the game reached a BB vs RB position. Ethereal gave two pawns to create a passer on the queen side, Integral lost a bishop for it but was still 4 pawns up. Ethereal lost all its pieces and managed to stop all pawns except one, Integral queened and won.

game 49, Integral - Berserk: There were no exchanges after the start, the engines blocked the center and played behind their pawn lines. On move 63 Berserk gave a pawn and another pawn exchange opened the king side. The black king walked to the queen side and the engines moved their major pieces trying to decide where to attack. Evals started increase after move 98, Integral opened two files and created a passer on the king side. Berserk gave a rook for a knight and two pawns to capture the passer, reducing to a QRR vs QRN position. Berserk pushed a passer to e3, the white king walked to the queen side for safety. Then in a series of exchanges the game reached a RR vs R position with black 2 pawns up, Integral exchanged rooks and won.

game 51, Obsidian - PlentyChess: Obsidian opened the b file, exchanged a pair of rooks and controlled the file with another rook. Obsidian placed a bishop on the long diagonal to threaten the black king. When the long diagonal opened the engines exchanged bishops, the white queen moved to the diagonal. The engines exchanged queens and the game reached a RB vs RN position. Obsidian captured a pawn and created a passer, then captured a second pawn. PlentyChess couldn't stop the passer, Obsidian queened and mated.

game 54, Stockfish - Obsidian: The queens were off early and the black king moved without castling. The engines exchanged pieces and pawns, the game reached a same color bishops ending on move 28. Material was equal but there was one isolated black pawn visible to the bishops. It took Stockfish 24 moves to set up the board to force the black bishop away and capture the isolated pawn. Stockfish captured a second pawn and created a passer on the king side, it took longer to crack the queen side pawns. Eventually Stockfish exchanged bishops, queened passers and mated.

game 55, PlentyChess - Ethereal: The engines opened the queen side and gradually exchanged pieces and pawns. On move 44 PlentyChess gave a rook for a bishop and created a passer on the queen side. Ethereal later gave back the material to capture the passer, the game reached a RB vs RN position with white a pawn up. PlentyChess' eval started to increase, it pushed the black king away from the pawns on the king side and exchanged rooks. The white king moved forward and the black king scrambled back, Ethereal noticed it was in trouble many moves too late. PlentyChess drove the knight away, the black king had to keep an eye on the pawns and PlentyChess managed to trap and capture the knight. Then PlentyChess queened a pawn and mated. 

Featured game: Obsidian - Leela
game 19

Leela kept its king in the center, it couldn't develop its king side pieces. The engines pushed pawns on the queen side, Obsidian captured a pawn and created a passer. Leela managed to regain the pawn and it also created a passer, evals started to increase. Obsidian captured a pawn and threatened the black king from the king side. Then it shifted back to the queen side,  it captured the black passer and was a pawn up. Leela created another passer, its eval already over 2.5. 

The black king tried to find safety on the king side. Obsidian moved a rook forward on the king side and pushed pawns there. Leela tried to avoid pawn exchanges but eventually it lost two more pawns and the black king was exposed. 

Obsidian pushed pawns and Leela gave a knight to stop them, Leela lost more material and mate followed. 


Monday, August 4, 2025

Season 28 league 1 statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins 


Final draw rate was 64.0%. 

Game termination

The three most common game termination causes were:
50.4% - TCEC draw rule
36.0% - Mate
11.0% - 3-Fold repetition

There were no crashes in the stage.

Moves per game

Median= 76.5
Average= 82.3

There were 73 games longer than 100 moves, the longest was 279 moves (Caissa - RubiChess, game 86, draw). 

Time per game (hours)

Median= 1:03
Average= 1:01

Openings

There were variable length book openings in this stage. The first letter of the ECO codes was distributed as follows: 

The engines had almost no freedom to choose the opening variant, all of the game pairs repeated the same ECO code and the opening variant twice.

Reverse pairs, wins

Reverse pairs, same moves

Pairs of reverse games diverged quickly, 31.8% diverged immediately out of book, 54.5% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 37 plys (Viridithas - Stormphrax, games 142 and 208, Sicilian closed variation, two draws. In fact these two games were identical up to a few transpositions, the draw rule ended game 208 a few moves earlier than game 142.) 



Sunday, August 3, 2025

Season 28 league 1

Final Standings

Integral and PlentyChess advance to the premier division. After twso RRs Integral and PlentyChess had a small lead over Caissa and Reckless. In the third RR Integral opened a small gap ahead of PlentyChess and kept it until the end to win the league. In the 4th RR PlentyChess also left Caissa and Reckless behind, but in the last rounds Reckless got closer until it was only 0.5 points behind. In the end PlentyChess managed to hold on to 2nd place. Integral had 12 game pair wins and one loss to Ceres. PlentyChess had 11 game pair wins and 3 losses, it beat Reckless twice and lost to Caissa twice.

Integral and PlentyChess both started the season in the entrance league, and they made it to the premier division. For Integral this is the first TCEC season, for PlentyChess it is the second one. Reckless is also a new engine for TCEC, it started this season in league 2 and was very close to advancing to the premier division as well. 

Integral and PlentyChess will play in the premier division together with Stockfish, Leela, Berserk, Obsidian, KomodoDragon and Ethereal.

Interesting games

game 10, Viridithas - Stormphrax: Virisithas had a bishop pair advantage, it moved a rook to the 7th rank and the engines traded pawns on the queen side. The engines cleared the queen side and exchanged pieces, Viridithas captured a piece and the game reached a QB vs Q ending. It took Viridithas 20 moves to exchange queens, then it captured pawns, queened passers and won.

game 16, PlentyChess - Viridithas: PlentyChess had a bishop pair advantage, evals increased though the engines seemed to be mostly shuffling. PlentyChess opened a file on the queen side and then exchanged queens. The engines reduced to a RBB vs RNN position, PlentyChess captured a pawn and created a passer. After exchanging a pair of minor pieces PlentyChess captured two more pawns, then queened passers to win.

game 20, RubiChess - Caissa: There were many exchanges after the start, the engines opened the center and exchanged queens. The game reached a RB vs RN position with white a pawn up. After exchanging rooks the engines shuffled for a while, RubiChess gave back the pawn to create a passer. Caissa captured the passer, RubiChess went a pawn up again and created two more passers. Caissa lost the knight for one passer, RubiChess queened the other and mated.

game 30, Ceres - RubiChess: There were almost no exchanges after the start, all knights were gone. Evals jumped after move 33, Ceres gave a pawn on the king side, then captured a rook for a bishop and created a passer. RubiChess tried to attack through the open g file, Ceres gave the passer and exchanged queens. In a RRB vs RBB position Ceres pushed a pawn to h6 and created two more passers. RubiChess couldn't avoid a queening and mate.

game 31, Integral - RubiChess: RubiChess blundered in a QRB vs QBB position, it ignored the danger to its king. Integral used this to capture pawns and reduce to a queen ending 3 pawns up. Integral pushed its passers and queened to win.

game 42, RubiChess - Viridithas: RubiChess captured a pawn early, it had a doubled pawn and Viridithas controlled an open file. The engines exchanged pawns and pieces slowly, the game reached a RBN vs RBB position. RubiChess gave a bishop to create a passer which cost Viridithas a rook. RubiChess gave a rook for a bishop and created an unstoppable passer, followed by mate.

game 44, Reckless - RubiChess: There were a few exchanges after the start and the engines shuffled. RubiChess gave a knight for 3 pawns and it had two connected passers. All rooks were exchanged, evals were stable for a long time. After move 80 evals started to increase, Reckless captured one passer and reduced to a QBN vs QB position. Reckless used the exposed black king to capture all the remaining black pawns, then exchanged pieces and won with its last pawn. 

game 55, Integral - Reckless: Reckless gave a knight for 3 pawns, in a RBN vs RB position the last white pawn became a dangerous passer and Reckless gave the bishop to stop it. After exchanging rooks Integral captured all the black pawns and the game reached a bishop and knight ending on move 85. Incredibly, Integral did not find the win even with tablebase support, on move 113 it became too late and on move 122 Integral finished the game with stalemate. Must be some annoying bug, happened because this season there is no tablebase adjudication.

game 62, Caissa - PlentyChess: The engines castled in opposite directions, Caissa pushed pawns on the king side and PlentyChess placed major pieces on the a file. In a series of exchanges the engines reduced to a RBN vs RBN position. Caissa captured pawns anc created two passers, PlentyChess had one passer but it was not enough. PlentyChess lost more material, Caissa queened and mated.

Standings after RR1: PlentyChess +3, Caissa Reckless +2, Integral Stormphrax +1, Ceres Viridithas 0, Seer RubiChess -1, Revenge rofChade -2, Stoofvlees -3. There are 5 engines with positive scores after one RR. Integral and Reckless are without loss, the other 3 leading engines have one loss each. The gaps are still small and the reverse games can change the rankings. Integral gave away a tablebase win against Reckless, unexpected bug.

game 70, RubiChess - Stormphrax: The game reached a RB vs RB position with white a pawn up. Evals were stable for a long time, the engines cleared the queen side pawns and shuffled for a while. Evals increased after RubiChess gave a pawn and pushed a passer to the 7th rank. Eventually Stormphrax lost the rook for the passer, and mate followed.

game 72, Caissa - Seer: The game reached a RB vs RB position, the engines shuffled for a long time. Evals increased after move 133, the engines exchanged rooks and reduced to a same color bishop ending. Seer had two isolated pawns and the black king was too far to protect them. Caissa managed to capture all the black pawns, then queened a passer to win.

game 74, Seer - Ceres: There were many exchanges on the queen side after the start, the game reached a RRB vs RRN position with white a pawn up and the queen side pawns cleared. Seer created a passer and exchanged a pair of rooks. Seer pushed pawns slowly and carefully, after 30 moves the engines exchanged minors and the white passer was on the 7th rank. Ceres captured the passer and Seer created another, after exchanging rooks Ceres couldn't stop the queening and mate followed.

game 85, Ceres - Integral: There were almost no exchanges after the start, Ceres had a space advantage. A series of exchanges opened the center, Ceres pushed a pawn to h6 and evals started to increase. The engines reduced to a RN vs RN position and Ceres pinned the black knight on the back rank. The white king moved forward, Integral captured pawns but lost the knight. Ceres queened a passer, then gave up material but eventually mated.

game 88, PlentyChess - Reckless: There were a few pawn exchanges after the start, the engines opened the e file. Evals increased slowly, after move 42 the engines exchanged pieces, the queen side opened and PlentyChess was up a rook for a knight and pawn. The game reached a QRB vs QBN position, PlentyChess captured a pawn and Reckless exchanged queens. Reckless tried to avoid more exchanges but PlentyChess captured the bishop, it then queened a passer and mated.

game 94, Reckless - Seer: Reckless gave a pawn to open the d file, then regained the pawn in a series of exchanges. It created a passer on the queen side, Seer gave a rook for a bishop to capture the passer and the game reached a RR vs RB position. The engines cleared the queen side pawns and exchanged a pair of rooks. The white king moved forward, Reckles created a passer and pushed it forward to win.

game 98, Ceres - Viridithas: Ceres had a bishop pair advantage, it gave a pawn and opened the center. After exchanging queens the engines concentrated their pieces in the center, eventually Ceres captured a rook for a bishop and the game reached a RR vs RN position. Ceres made slow progress, after 35 moves it reduced to a 7-man position with only one white pawn left. It took another 40 moves to complete the win.

game 103, Integral - Stormphrax: There were almost no exchanges after the start, evals were stable for a long time. After move 45 evals started to increase, Integral captured a pawn and created a passer on the queen side. Integral pushed the passer to the 6th rank, then it captured another pawn and created a passer on the king side. Stormphrax captured the queen side passer but now the black king was threatened. Stormphrax lost material and was mated.

game 120, Reckless - Viridithas: The engines slowly exchanged pieces and pawns, evals were stable for a long time. On move 58 the game reached a RBN vs RBN position, both engines had a passer on the queen side. Evals started to increase when Reckless created a passer on the king side. The engines reduced to a B vs N ending, Reckless captured a pawn and pushed one passer to the 7th rank. Viridithas captured this passer but lost its remaining pawns, Reckless trapped the black king and mated.

game 128, PlentyChess - Caissa: Evals increased as the engines exchanged pieces and pawns, the game reached a king and pawns ending on move 51, a 6-man tablebase win for white. PlentyChess was two pawns up with a doubled pawn, both engines pushed passers forward and both queened. PlentyChess gave one pawn and slowly pushed the other, Caissa delayed as much as possible. On move 102 the passer finally promoted, but Caissa placed its king in a corner where a queening would force a draw. PlentyChess chose to promote to a knight, but that was an immediate draw after exchanging queens. Another tablebase implementation bug, this time by PlentyChess. 

Standings after RR2: PlentyChess Integral +5, Caissa +4, Reckless +3, Ceres Stormphrax Viridithas +1, RubiChess 0, Seer -1, Revenge -5, Stoofvlees rofChade -7. Integral had a good RR2 and it now shares first place with PlentyChess. Caissa and Reckless are close behind, and 3 more engines have positive scores at the half. The 4 leaders all have one game pair loss. In this RR PlentyChess gave away a tablebase win against Caissa.

game 135, rofChade - Viridithas: rofChade captured a pawn and exchanged queens. It had two passers, Viridithas gave a bishop to stop one and the engines reduced to a RBN vs RN position. The engines exchanged rooks and an 8-man position remained. rofChade captured a pawn and used its tablebase support to complete the win in 40 more moves.

game 136, Stormphrax - RubiChess: RubiChess gave a knight for two pawns and then pushed a passer but it was not strong enough. The engines exchanged pieces and reduced to a bishop vs pawns ending. The white bishop blocked black passers, Stormphrax queened a passer of its own to win.

game 137, PlentyChess - Ceres: PlentyChess captured a pawn and exposed the black king. The engines exchanged pawns and both created a passer on the queen side, PlentyChess captured a second pawn and its passer was more advanced. PlentyChess pushed the passer to the 7th rank and gave a rook for a knight, then it queened twice and mated.

game 139, Integral - Caissa: There were many exchanges after the start, the game reached a RB vs RB position with white a pawn up. Integral created a passer on the king side, Caissa tried to delay  bu blocking it with its king. Integral captured another pawn, after a while it gave the pawn back and created another passer. This time Caissa lost the bishop, Integral reduced to a tablebase win and converted it in 30 moves.

game 148, PlentyChess - Viridithas: PlentyChess kept its king in the center and doubled queen and rook on the h file. It gave a knight for a pawn to weaken the black pawn support on the king side, in a series of exchanges the engines reduced to a rook ending. PlentyChess was two pawns up with connected passers, Viridithas captured one pawn back but couldn't avoid a queening and mate. 

game 150, Caissa - Ceres: There were many exchanges after the start, the game reached a rook ending with no pawns on the king side and white a pawn up. Caissa created a passer in the center, for a long while the engines mostly shuffled. After 50 moves Caissa started to push the passer slowly, after another 30 moves Ceres lost the rook for the passer and mate followed.

game 165, Reckless - Caissa: Reckless captured an early pawn and created a passer on the queen side. Caissa gave a rook for a knight to capture the passer and the game reached a RRB vs RNN position. In a series of exchanges the engines cleared the king side pawns and reduced to a 6-man R vs N ending. It took Reckless 35 move to complete the win.

game 180, Stormphrax - PlentyChess: The engines opened the c file, they exchanged a few pieces including queens. Stormphrax created a passer in a pawn exchange, the engines shuffled for a while while evals increased. The game reached a RRB vs RRB position, the black bishop moved forward and was trapped and captured. Stormphrax exchanged pieces, then gave back the bishop, queened twice and mated.

game 181, PlentyChess - Integral: The engines slowly exchanged pieces and pawns, evals were mostly stable and slightly increasing. On move 73 PlentyChess captured a pawn, a few moves later the engines reduced to a RB vs RN position. Integral tried to block the white passer, it took PlentyChess 35 moves to push it to the 7th rank. PlentyChess captured a second pawn and then reduced to a winning rook ending. 

game 187, Integral - Reckless: There were no exchanges after the start and evals were stable. On move 45 Reckless gave a pawn and the engines started to exchange pieces and pawns. Reckless tried to expose the white king and attack but was not strong enough. The game reached a QBN vs QR position and Integral had a passer. However, Integral attacked the black king instead, when all the white pieces moved forward Reckless was forced to lose material and was mated.

game 194, Caissa - PlentyChess: The engines exchanged all knights, Caissa captured a pawn and then all major pieces were exchanged. The game reached a same color bishop ending, Caissa shuffled for a long time but after 30 moves it managed to capture more black pawns. Eventually PlentyChess lost the bishop for a passer, Caissa queened another passer to win.

Standings after RR3: Integral +8, PlentyChess +6, Reckless Caissa +5, Stormphrax +4, Ceres +1, Seer RubiChess -1, Viridithas -2, Revenge rofChade -8, Stoofvlees -9. Integral is in the lead with a good RR3 including wins against Reckless and Caissa, and with a loss to PlentyChess. PlentyChess lost twice and drew 3 times as white, it is still in second place but there are 3 engines still close behind. At the bottom of the table there are 3 engines which will surely relegate, and 3 more which are trying to avoid the remaining relegation spot.

game 209, rofChade - Reckless: All pawns were on the board untile move 27, after a few exchanges rofChade captured a pawn. After some shuffling rofChade captured a second pawn and the game reached a QRN vs QRN position. forChade slowly pushed a passer to the 7th rank, in a series of exchanges the engines reduced to a rook ending. Reckless captured the passer but rofChade had two more, it queened and won.

game 216, Ceres - Caissa: The engines exchanged queens early, more pieces were exchanged and the game reached a RB vs RN position. The white pieces were better placed, Ceres moved a rook forward, gave two pawns created an advanced passer. Caissa lost the rook for the passer, all pawns were gone and Ceres converted the tablebase win.

game 220, PlentyChess - Reckless: The engines exchanged pieces and the game reached a BN vs BB position. PlentyChess was a pawn up with a passer on the queen side, it pushed the passer to the 7th rank but the white bishop didn't control the promotion square. The engines shuffled for a long time, eventually Reckless captured the passer but PlentyChess captured the last black pawn. There were two white pawns, it took PlentyChess 25 more moves to start to push them safely. Reckless couldn't stop a queening and mate.

Standings with 5 rounds to go: Integral +10, PlentyChess +9, Reckless +5, Caissa +4, Stormphrax +3, Ceres +1, Seer RubiChess 0, Viridithas -2, rofChade -8, Revenge Stoofvlees -11. Integral continues to lead with PlentyChess close behind. The gap to 3rd place Reckless seems to be sufficient to secure the first two places. PlentyChess also beat Reckless in this RR. At the bottom Viridithas is alone in the 4th relegation spot, but it can still close the small gap to Seer and RubiChess in 5 rounds. 

In round 40 Reckless drew as white against Ceres, Viridithas and RubiChess also drew their game. In round 41 PlentyChess drew as white against Stormphrax and Seer drew as white against rofChade. 

game 247, Integral - PlentyChess: The engines slowly exchanged pieces and pawns, evals were mostly stable. On move 39 PlentyChess gave a pawn, opening a file in the center but giving Integral a passer. After a series of exchanges the engines reduced to a rook ending, PlentyChess captured the passer but Integral was still a pawn up. Integral created another passer, the white king moved forward and PlentyChess lost its rook for the passer, followed by mate.

In round 42 PlentyChess lost to Integral while Reckless beat Viridithas, reducing the gap between then to 1 point with 2 rounds to go. Seer also lost as black, its gap to Viridithas also remained 1 point.

game 253, Reckless - Integral: There were a few minor piece exchanges after the start. After move 30 Integral gave a pawn and opened the center, the white king was exposed and Integral attacked the back rank. Reckless exchanged queens and the game reached a RBN vs RBN position. Reckless created an advanced passer and eventually Integral lost a knight for it. The engines captured all pawns and Reckless won the 7-man position in 45 moves. 

In round 43 Reckless beat Integral and reduced the gap to PlentyChess to 0.5 points. Viridithas beat Stoofvlees and also reduced the gap to Seer to 0.5 points. In round 44 PlentyChess drew as white against Caissa, Reckless drew as black, so PlentyChess finished in 2nd place. Seer lost to Integral and Viridithas drew, their scores were tied in the end. In a special 2-game tiebreak match Viridithas beat Seer, so Seer finished in the 4th relegation spot.


Wednesday, July 23, 2025

Season 28 league 2 statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins

Final draw rate was 60.6%. 

Game termination

The three most common game termination causes were:
48.9% - TCEC draw rule
37.9% - Mate
9.1% - 3-Fold repetition

There were 4 crashes in the stage, Ginkgo twice and Stormphrax twice.

Moves per game

Median= 76.5
Average= 83.2

There were 62 games longer than 100 moves, the longest was 277 moves (Ginkgo - Uralochka, game 154, draw). 

Time per game (hours)

Median= 1:05
Average= 1:03

Openings

There were variable length book openings in this stage. The first letter of the ECO codes was distributed as follows: 

The engines had very little freedom to choose the opening variant, all but one of the game pairs repeated the same ECO code and the opening variant twice. In all of the game pairs the first letter of the ECO code was repeated.

Reverse pairs, wins

Reverse pairs, same moves

Pairs of reverse games diverged less quickly than usual, 18.9% diverged immediately out of book, 42.4% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 20 plys (Stormphrax - PlentyChess, games 151 and 217, Nimzo-Indian classical, San Remo variation, two draws) 


Tuesday, July 22, 2025

Season 28 league 2

Final standings

Reckless, PlentyChess, Integral and Stormphrax advance to league 1. Integral and PlentyChess started in the entrance league this season, Integral and Reckless are new to TCEC. Integral, PlentyChess and Reckless led from the start, with Stormphrax close behind. After RR1 Booot, Uralochka and Horsie were also close to the leaders, only Booot remained in the race after RR2. After RR3 Stormphrax and Booot couldn't keep up with the three leaders, and in the last RR Booot dropped from the race as well.

Reckless and PlentyChess finished the league with 13 game pair wins and no losses, each with two game losses. Somehow Ginkgo gave both a free win by crashing. Integral also finished with only 2 game losses, it won 11 game pairs and lost one to Reckless. Stormphrax also crashed twice, but only as it was about to be mated so there was no unwanted effect on the scores.

The four qualifiers will play in league 1 together with:
played in the premier division in season 27: Caissa, Seer
played in league 1 in season 27: Ceres, RubiChess, rofChade, Viridithas, Stoofvlees, Revenge

Interesting games

game 3, Booot - Starzix: Booot had a bishop pair, a passer in the center and control of an open file on the queen side. The game reached a QRB vs QRN position with white a pawn up, Booot gave the pawn back, pushed the passer and exchanged queens. Starzix captured the passer but lost all its pawns, Booot won the rook ending. 

game 11, Ginkgo - Booot: Both engines had a passer on the queen side in a closed position. Ginkgo moved its king to the queen side and blocked the black passer. After some shuffling Ginkgo pushed pawns and opened the king side. The black king ran to the center, Ginkgo gave a rook for a knight and captured pawns to create more passers. The game reached a RB vs RR position with 5 white pawns, Booot couldn't avoid a queening and mate.

game 18, Integral - PlentyChess: Integral captured a pawn and after some preparation created a passer on the queen side. The game reached a RBN vs RBN position and Integral captured another pawn. After exchanging minor pieces Integral pushed passers forward to win. 

game 34, Reckless - Horsie: Reckless was a pawn up early, it gave the pawn back but the black king was stuck in the center and Horsie had a trapped rook. By the time Horsie freed its rook Reckless opened the king side and threatened the black king. In a QRN vs QRN position Reckless captured a pawn, then reduced to a 7-man queen ending, it took more than 50 moves to mate.

game 47, Booot - Horsie: Horsie grabbed a pawn on the king side, Booot captured one on the queen side and created a passer. The engines opened the center and Horsie created a passer there, the game reached a QRN vs QRB position and Booot connected a second passer on the queen side. Horsie delayed with checks but eveentually lost material to stop the white passers, Booot won a 7-man QN vs Q ending in over 50 moves. 

game 55, Stormphrax - Ginkgo: The game reached a RB vs RB position with white a pawn up. For a long time it seemed the position was drawn, even after Stormphrax created a passer. However Ginkgo' s defense failed in time trouble, Stormphrax pushed the passer and Ginkgo lost a rook followed by mate. 

Standings after RR1: Integral PlentyChess Reckless +3, Uralochka Horsie Stormphrax +2, Booot +1, Velvet -2, Ginkgo Arasan Igel -3, Starzix -5. There are 7 engines with a positive score, 4 of them are without loss - Integral, Reckless, Uralochka and Stormphrax. It is still early for predictions, the picture will be clearer after the reverse games are played. The first several Ginkgo games were replayed because the wrong version was used, it still crashed in one game this RR. 

game 71, PlentyChess - Uralochka: The game reached a BN vs BN position that looked drawn. PlentyChess created a passer in the center and captured a pawn. After exchanging knights evals increased, PlentyChess exchanged pawns, Uralochka avoided a 7-man position by giving a pawn. PlentyChess queened a passer to win.

game 72, Integral - Horsie: Horsie had a passer on the queen side, Integral threatened to open the queen side and also threatened the black king on the king side. Horsie gave a knight for a pawn, this also created a passer for Integral. Integral gave a rook for a bishop and captured the black passer, it pushed its own passer forward. The black queen moved to capture the passer, Integral gave a bishop on the king side and mated.

game 84, PlentyChess - Integral: There was a series of exchanges after the start, then evals increased very slowly. After move 46 PlentyChess opened the king side and reduced to a RBN vs RBN position. The black pawns were weak and PlentyChess captured three pawns. It queened a passer to win.

game 91, Stormphrax - Booot: The engines castled in opposite directions and pushed pawns facing the opponent's king. Stormphrax locked the queen side pawns and opened the f file. It captured a pawn and created connected passers on the king side. After over 30 moves of exchanging pieces slowly the game reached a RB vs RB position with white a pawn up, Booot could not avoid a queening and mate.

game 93, Reckless - Uralochka: Uralochka captured an early pawn but was slow developing its pieces and its king was stuck in the center. Reckless moved a rook forward, regained the pawn and created a passer in the center. Uralochka lost some material to capture the passer, the game reached a RR vs RN position. It took some time for Reckless to capture pawns and create passers, Uralochka gave up and was mated.

game 94, Ginkgo - Horsie: Horsie was a pawn up but its king moved without castling, Ginkgo gave a knight for a pawn and exposed the black king. Horsie gave a rook for a bishop but was under a lot of pressure. Ginkgo doubled rooks on the 6th rank, after a series of exchanges the game reached a queen ending with white two pawns up. The endgame was slow, it took Ginkgo more than 70 moves to mate.

game 101, Uralochka - Velvet: Velvet was a pawn up from the start, the engines exchanged pieces and Uralochka traded two rooks for the black queen. Uralochka captured a pawn and reduced to a RR vs Q ending, this was probably a mistake as evals jumped. Velvet exchanged pawns, then it trapped the white king with its rooks and forced Uralochka to trade its queen for a rook, with mate following.

game 105, Velvet - Horsie: Evals slowly increased with all pieces on the board, Velvet captured a pawn on the king side and Horsie opened the queen side. This led to a series of exchanges that reduced to a RB vs RN position with white two pawns up. Velvet gave a pawn back and created a passer, then it created a second passer, queened and mated.

game 121, Ginkgo - Stormphrax: Ginkgo had a passer in the center and it pushed pawns on the queen side. The queen side opened, Stormphrax block a file with a knight. Stormphrax tried to keep the king side closed and lost a pawn. After a series of exchanges Ginkgo gave a rook for two knights and captured most of the black pawns. Ginkgo pushed passers and gained more material, Stormphrax crashed before mate.

game 127, Stormphrax - Horsie: All pieces were on the board and evals slowly increased. Stormphrax captured a pawn and opened the king side, then it shifted to the queen side and opened files there as well. After some preparation Stormphrax captured another pawn and created a passer on the queen side. Horsie lost more material, the game reached a QR vs QN position with white 3 pawns up. Horsie blocked the white passer but couldn't avoid mate.

Standings after RR2: PlentyChess Integral Reckless +6, Stormphrax +5, Booot +3, Uralochka 0, Ginkgo Horsie -2, Velvet -3, Starzix -5, Igel -6, Arasan -8. At the halfway point there are 5 engines with a positive score. Uralochka and Horsie had a weak RR2 and their ranking dropped. Only Reckless is without loss. Integral, PlentyChess and Stormphrax have not lost a game pair.

game 133, Reckless - Stormphrax: Reckless had a space advantage in a closed position, Stormphrax moved its queen forward and captured a pawn. Reckless trapped the black queen and captured it for two minors. Reckless gave a rook for a knight and threatened mate, Stormphrax gave back the material to save its king. The engines reduced to a Q vs BN ending, Stormphrax crashed in a 7-man lost position.

game 143, Ginkgo - Booot: Booot had a passer in the center but its king was a little exposed. It gave a knight for a pawn to protect its king and attacked the white king through the open h file. Ginkgo kept its king safe, it opened the queen side and the white queen moved forward. The engines exchanged pieces and Ginkgo captured two pawns, then reduced to a winning king and pawns ending.

game 159, Uralochka - Reckless: The engines exchanged pieces and pawns and the game reached a RN vs RN position with white a pawn up. The black pawns were isolated, after a while Uralochka captured all of them and was 3 pawns up. Reckless couldn't stop the white pawns, Uralochka queened all three and mated.

game 173, PlentyChess - Ginkgo: PlentyChess had a blocked passer on the king side in a closed position, for a very long time the engines shuffled. Something went wrong for Ginkgo in time trouble, after move 105 evals started to increase slowly. In a series of exchanges on move 139 PlentyChess reduced to a RN vs RR position, both engines queened and the game went into a tablebase queen ending which PlentyChess won after 45 more moves. 

game 177, Reckless - PlentyChess: PlentyChess moved its king without castling, it tried to find safety on the queen side and evals slowly increased. Reckless captured a pawn, after some preparation it moved a rook forward and captured a second pawn. The engines reduced to a queen ending, Reckless exchanged queens and then queened a passer to win.

game 181, Uralochka - Stormphrax: There were no exchanges after the start and Uralochka had a space advantage. Evals started to increase after Uralochka opened the center, it threatened the black king using long diagonals. Stormphrax was forced to give material to let its king escape, this only delayed the mate.

game 183, Integral - Booot: Integral gave a pawn and pushed its center pawns forward, Booot gave a bishop for the two white pawns. The engines slowly exchanged pieces until only QB vs Q remained. Integral captured a pawn and exchanged queens, the white bishop controlled Booot's pawns and Integral moved its king forward to capture the pawns and win.

game 195, PlentyChess - Igel: The center was closed with open files on both sides. The engines shuffled for a long time, in time pressure after move 85 evals started to increase. The game reached a queen ending with white a pawn up, both engines had a passer. PlentyChess managed to capture black pawns, then pushed passers to win.

Standings after RR3: Reckless +11, PlentyChess +10, Integral +9, Stormphrax +5, Booot +2, Uralochka 0, Horsie -1, Ginkgo -2, Starzix -5, Velvet -7, Igel -10, Arasan -12. After RR3 there are 3 leaders with Stormphrax a bit behind in 4th place. Booot is still in the race but it is 3 wins behind Stormphrax. Reckless lost its first game of the league against Uralochka. 

game 223, Stormphrax - Booot: Evals slowly increased in a closed position, all knights were gone and Stormphrax had a passer in the center. Stormphrax opened a file on the queen side and moved its major pieces there. The game reached a QRB vs QRB position and Stormphrax captured a pawn. In a series of exchanges Booot lost a piece and the engines reduced to a RB vs R ending. Booot lost more material, Stormphrax queened a passer and mated.

Standings with 5 rounds to go: Reckless PlentyChess +12, Integral +11, Stormphrax +7, Booot +2, Ginkgo 0, Uralochka -2, Horsie -3, Starzix -5, Velvet Igel -11, Arasan -12. At this point the three leaders have a 4 win gap to 4th place, all three will qualify but their relative standings may still change. Booot is out of the qualification race, especially after losing to Stormphrax.

game 238, Reckless - Integral: Reckless gave two pawns and exposed the black king, it then captured pawns and the game reached a QNN vs QBN position with white a pawn up. The white knights could protect each other, Reckless used the exposed black king for extra moves. After 30 moves the engines exchanged a pair of knights, 20 moves more and Reckless was 3 pawns up. Reckless exchanged queens and pushed its passers to win.

game 243, PlentyChess - Reckless: PlentyChess was a pawn up, Reckless castled long and opened the king side. PlentyChess kept its king safe and opened the queen side, the game reached a RRB vs RRN position. PlentyChess exchanged a pair of rooks and captued two more pawns, Reckless lost more material and was mated.


Sunday, July 6, 2025

Season 28 entrance league statistics

A summary statistics table of previous stages and seasons.  

Draw rate, wins

Final draw rate was 55%. 

Game termination

The three most common game termination causes were:
45% - mate
41.3% - TCEC draw rule
10.4% - 3-Fold repetition

There were no crashes in the stage. This season tablebase positions do not terminate the game.

Moves per game

Median= 78
Average= 82.0

There were 51 games longer than 100 moves, the longest was 284 moves (Stash - PlentyChess, game 176, draw). The change in game termination criteria caused games to be longer than before.

Time per game (hours)

Median= 1:05
Average= 1:03

Openings

There were variable length book openings in this stage. The first letter of the ECO codes was distributed as follows: 

The engines had almost no freedom to choose the opening variant, all of the game pairs but one repeated the ECO code and the opening variant twice.

Reverse pairs, wins

Reverse pairs, same moves

Pairs of reverse games diverged quickly, 30.8% diverged immediately out of book, 68.3% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 18 plys (Renegade - Arasan, games 15 and 135, QGD Slav, Steiner variation, two draws)