Monday, August 25, 2025

Season 28 premier division final results

Final Standings

Stockfish and Leela will play in the season 28 superfinal. Stockfish had 6 game pair wins with no loss in the last DRR, its best DRR of the division. Its full score for the division is 19/28 game pair wins and two losses, against Leela and Integral. Leela had 4 wins and one loss in the last DRR, similar to its results in the previous DRRs. Altogether Leela had 13 game pair wins and 2 losses, against Stockfish and against Obsidian. 

In the first two DRRs it seemed that Integral may cause an upset and qualify for the superfinal. However in DRR3 it had two losses with no win, and it dropped to 4th place. In DRR4 Integral returned to form with 4 wins and one loss, enough to get back to 3rd place but not to catch up with Leela. This is still impressive considering that this is the first TCEC season for Integral, it started season 28 in the entrance league. PlentyChess also started in the entrance league and managed to finish 5th in the premier division, better than Berserk that was 3rd last season. 

This season we also saw Ethereal and KomodoDragon relegating from the premier division. Both engines have participated in the premier division for almost all their TCEC career, for KomodoDragon this is from the beginning of TCEC (when it was just Komodo) and for Ethereal this is from season 11. KomodoDragon was even a TCEC champion several times and a superfinalist in several more. The developers of Ethereal and KomodoDragon were busy with other projects, and now there are enough new engines which have better results.

Interesting games

game 169, Leela - Berserk: Leela's eval jumped from the start, Leela castled long and the engines exchanged queens. The black king was stuck in the center, Leela traded two minor pieces for a rook and two pawns. Leela pushed pawns on the queen side where it had a pawn majority, the game reached a RN vs BBN position. Leela created two connected passers, then exchanged minor pieces and added a 3rd passer. Berserk couldn't stop the passers, Leela queened twice and mated.

game 171, Stockfish - Ethereal: The game repeated game 169 for 29 plys (each group of 4 games in this DRR have the same book), Stockfish traded a rook and two pawns for two minor pieces and evals were increasing. The game reached a RN vs BNN position, then Stockfish exchanged a pair of knights. A pawn trade gave each engine a passer on the king side, the white passer was faster and Ethereal lost a bishop to stop it. Stockfish captured the black passer, then captured a pawn and created connected passers on the queen side. Ethereal couldn't prevent the queenings followed by mate. 

game 173, Berserk - Obsidian: The center was blocked, Obsidian gave a pawn and opened the queen side. For a while the white king could not castle, Berserk blocked the interfering bishop and castled. Berserk captured a second pawn, nothing came out of the black attack on the queen side. Berserk protected its passer on the a file, then it gave back a pawn and created a second passer in the center. Berserk pushed the passers so both were protected by a knight, the engines exchanged queens and the game reached a RBN vs RBN position. Obsidian couldn't stop a queening, it lost material and was mated.

game 177, PlentyChess - Berserk: The book for this group of 4 games had a bias for black. Berserk pushed pawns on the queen side and opened files. All the queen side pawns were gone except one white passer. Berserk also exchanged pawns on the king side and it created a passer in the center. PlentyChess exchanged queens and captured a pawn, both kings were exposed but Berserk had strong bishops targeting the white king. Berserk pushed the passer to the 2nd rank, blocked by a rook. PlentyChess couldn't get rid of the black passer, Berserk reduced to a RBB vs RBN position. PlentyChess lost material, it managed to capture the passer but had no pieces left and was mated. 

game 179, KomodoDragon - Integral: KomodoDragon castled long and the queen side remained closed. The engines exchanged pieces gradually and evals were mostly stable. On move 42 the queens were exchanged, then the engines traded pawns and KomodoDragon created a passer on the queen side. Integral moved a rook forward, evals jumped when KomodoDragon exchanged a pair of rooks. Integral exchanged a pair of pawns and created a passer in the center with strong support. KomodoDragon pushed its passer forward but Integral blocked with a bishop. KomodoDragon gave a knight to capture the black passer, the game reached a RB vs RBB position and the black bishops were very active. Integral captured white pawns, KomodoDragon lost more material and mate followed.

game 181, Berserk - Ethereal: Ethereal pushed a pawn to a3, Berserk completed a diagonal pawn block from the center to b6. A few exchanges disrupted the diagonal pawn line, then Berserk captured the a3 pawn and exchanged a pair of rooks. The game reached a QRB vs QRN position, Berserk gave the pawn back to open the center, then it gave a rook for a knight and improved its pawn majority on the queen side. Berserk gave two pawns, this created many black passers but also two connected white passers. Berserk used the exposed black king to capture 3 pawns, Ethereal gave back the rook for a bishop but couldn't prevent queenings and mate.

game 182, Integral - Obsidian: Obsidian did not push the a pawn, the diagonal pawn lines were formed but Integral kept some tension wih the b pawn on b5. Eventually Integral exchanged the b pawn and the c pawn became a passer. Obsidian captured the passer and lost a pawn in the center, the engines continued to exchange pieces until the game reached a QRR vs QRR position. Material was equal but Obsidian had an isolated pawn in the center. Integral exchanged queens and then captured the black isolated pawn, creating connected passers in the center. The endgame was slow, first Integral captured another pawn and then it pushed the center passers very carefully. Obsidian tried to counter by giving a pawn and creating a passer on the queen side but it was not strong enough, Integral queened and mated.

game 183, Leela - KomodoDragon: Leela pushed the pawn to b6 to complete the queen side diagonal block. KomodoDragon blocked the center and the pieces slowly moved to the king side. After move 30 the engines exchanged pawns on the king side and opened the f file, then all rooks were exchanged. Leela prepared its pieces and on move 57 sacrificed a knight for a pawn on the queen side and created a passer. After exchanging queens Leela sacrificed a bishop for a pawn and connected a second passer. KomodoDragon stopped one passer but Leela queened, resulting in a Q vs BB ending. KomodoDragon lost material quickly, Leela promoted another pawn and won.

game 185, Stockfish - Berserk: Stockfish blocked the center, then a pawn exchange created a passer in the center. Stockfish had a space advantage, all pieces moved to the queen side and eventually the engines opened the b file. Berserk captured a pawn and created a passer on the queen side, all rooks were exchanged and the game reached a QBB vs QBN position. When Stockfish was ready it exchanged queens, regained the pawn and pushed the passer to the 7th rank. Stockfish exchanged a pair of bishops and connected a second passer. Berserk gave up, it gave a pawn and allowed a queening, followed by mate.

game 190, Leela - Ethereal: Leela moved its king forward and then opened the e file. The engines exchanged a pair of rooks, and both white knights for black bishops. After exchanging queens the game reached a RBB vs RNN position, the white king walked to the queen side and the bishop pair threatened the black king. Leela managed to capture two pawns, creating connected passers facing the black king. Leela pushed the passers, trapping the black king, Ethereal gave a knight for one. Ethereal lost more material but couldn't get its king out of danger, mate followed.

game 192, Stockfish - KomodoDragon: The engines traded the two white knights for the two black bishops, KomodoDragon moved its king forward without castling. A pawn exchange on the king side exposed the black king. Stockfish pushed two pawns on the queen side, it gave one and opened files for its major pieces. After a series of exchanges the game reached a QRB vs QRN position, Stockfish captured a pawn and exchanged queens. Stockifsh captured a second pawn, it had a passer on both sides of the board. The white king moved to the queen side to support a passer, Stockfish gave the rook for a knight and KomodoDragon couldn't stop a queening followed by mate.

game 193, KomodoDragon - Berserk: KomodoDragon pushed pawns on the king side and castled long. In a series of exchanges Berserk gave a rook for a knight and pawn and exposed the white king. KomodoDragon created a passer on e6, Berserk castled late to develop its king side rook. Another series of exchanges reduced to a RB vs BB position, black with two pawns up. The engines traded pawns, eventually KomodoDragon had one pawn left, a passer on the queen side. KomodoDragon managed to capture black pawns until Berserk had only one left as well. KomodoDragon played the 8-man ending patiently, Berserk pushed its passer to the 2nd rank but couldn't promote. KomodoDragon pushed its passer slowly, eventually Berserk lost its passer and also a bishop for the white passer, mate followed.

game 196, Integral - Leela: Integral pushed pawns on the king side and castled long, Leela placed a knight on e4 and Integral exchanged it for a bishop. The game reached a QRR vs QRR position, after trading pawns the queens were exchanged and Integral captured a pawn. Leela pushed a passer forward while Integral moved its rooks to the 7th rank. Integral exchanged a pair of rooks and captured the black passer, then it managed to capture another pawn. The engines reduced to a 6-man rook ending which Integral won after 50 more moves.

Standings after RR7: Stockfish +14, Leela +10, Integral +7, Obsidian +3, PlentyChess -4,  Berserk -6, KomodoDragon -10, Ethereal -14. Stockfish had 3 wins in RR7, it extended its lead a little. Leela in second place also had 3 wins but one loss to Obsidian. Obsidian lost twice and dropped to 4th place, Integral had 3 wins and it is back to 3rd place. Despite beating Leela, Integral has a very small chance of qualifying to the superfinal with only one RR to go. KomodoDragon is closer to relegation after 3 losses and one win, compared to Berserk's 3 losses and 3 wins.

game 201, Obsidian - Berserk: The center was blocked, there were no exchanges after the start. A pawn exchange opened the f file, the king side was blocked and Berserk also blocked the queen side. Obsidian castled an exposed king on move 32, the engines shuffled for a long time and evals started to increase. On move 59 the first minor pieces were exchanged, then in a series of exchanges the engines reduced to a QR vs QBN position, white two pawns up with connected passers in the center. Berserk gave the bishop for the two passers, Obsidian captured a pawn and created another passer. Berserk delayed with checks but eventually it gave the queen for the rook and the passer, Obsidian queened again and mated. There were two white wins in this game pair. 

game 202, KomodoDragon - Ethereal: The center was blocked, KomodoDragon pushed pawns on the king side, it captured a pawn and created a passer on the h file. The white king moved without castling, Ethereal moved two minor pieces forward that made it difficult for the white pieces on the queen side. KomodoDragon managed to get its queen side rook to the king side, it gave back the pawn and moved its knights forward on the king side. When it was ready KomodoDragon captured a pawn and opened the g file, the passer moved to the 7th file with the black king trapped behind it. Ethereal exchanged pieces and lost material for the passer, the game reached a RN vs R position. KomodoDragon captured all black pawns, queened a passer and mated.

game 203, Stockfish - Integral: The center was blocked, Stockfish pushed pawns on the king side and moved its king without castling. The engines exchanged a pair of pawns and minor pieces on the king side, Stockfish kept a pawn on h6. The engines mostly shuffled for a while, all pieces moved to the king side and evals increased. On move 42 Stockfish pushed the f pawn, Integral gave a rook for a bishop and captured the pawn. The engines reduced to a RN vs NN position, Integral was a pawn up with connected passers on the king side but Stockfish blocked them. Stockfish created a passer in the center, it gave the rook for the black knights, queened and mated.

game 206, Leela - Stockfish: see featured game below.

game 212, Stockfish - PlentyChess: The engines blocked the center and queen side with diagonal pawn lines. Stockfish castled long, after a while it captured a pawn on the queen side and exchanged a pair of pawns on the king side. On move 31 the first minor pieces were exchanged, the engines shuffled for a while and evals increased. On move 46 the engines opened the f file, another minor piece exchange created a passer for PlentyChess. Stockfish gave the pawn back, then in a series of exchanges the engines reduced to a QRB vs QRB position. PlentyChess tried to attack the white king, Stockfish captured 3 pawns and created connected passers on the queen side. PlentyChess lost more material and was mated.

With 3 rounds Stockfish has a 4 point lead over Leela, it will win the division. Integral is still 1.5 points behind Leela after both lost to Stockfish, Integral also only drew against PlentyChess as white. KomodoDragon is only 1 point behind Berserk, still unlikely it can catch up but not impossible.

game 214, PlentyChess - KomodoDragon: The engines blocked the center, PlentyChess gave a pawn and opened the b file, giving KomodoDragon doubled passers. PlentyChess pushed pawns on the king side and blocked it as well except for the h file. After move 38 PlentyChess exchanged pawns and a pair of bishops on the king side, then moved its rooks first to the h file and then back to the a file. PlentyChess captured one of the black a pawns, KomodoDragon exchanged a pair of rooks. The white king moved to the center, KomodoDragon tried to defend both sides of the board, eventually PlentyChess attacked on the queen side. KomodoDragon gave a rook for a knight and the queen side opened, the game reached a RB vs NN position. PlentyChess captured pawns, KomodoDragon lost material and mate followed. 

game 215, Leela - Obsidian: There were no exchanges after the start, the engines moved their pawns slowly. Obsidian pushed pawns on the queen side, Leela attacked the center from the king side and exchanged a pair of pawns. Another pawn exchange opened the b file, Obsidian moved a rook forward and Leela blocked its path back. After a pawn exchange on the king side Leela created a passer and Obsidian created connected passers. Obsidian gave the trapped rook for a bishop and exchanged queens, the game reached a RRB vs RBN position. Obsidian lost a knight and there was a race between the passers, Obsidian was too busy defending to push its passers forward. The black passers were on the 3rd rank but Leela queened and mated first.

game 216, Integral - Ethereal: There were no exchanges after the start, the engines moved their pawns slowly and blocked the center. The engines shuffled for a while, Ethereal moved its rooks to the queen side but didn't push pawns. Evals increased slowly, Integral pushed pawns on the king side, the engines exchanged a pair of knights but there were no pawn exchanges. On move 41 the engines opened the g file, Integral pushed a passer to h6 and captured a pawn. After a series of exchanges the game reached a QRB vs QRN position, Integral captured another pawn and exchanged rooks. Integral gave the bishop but the black king was trapped, Ethereal lost material, Integral queened and mated. 

game 217, Integral - Berserk: The engines traded two white knights for two black bishops. The black queen moved forward on the queen side and Berserk captured a pawn. Berserk avoided pawn exchanges to keep the board closed and the white bishops less effective. A series of exchanges started on move 34, Berserk gave a rook for a bishop and pawns, the game reached a RB vs NN position. The engines captured all pawns except two each on the king side, Integral chased the knights away and captured the remaining black pawns. Berserk lost more material, Integral queened a passer and mated.

One round left, the gap between Leela and Integral is one point, the same as the gap between Berserk and KomodoDragon. In the last round Leela plays Integral and Berserk plays KomodoDragon, theoretically both can tie the scores. However in both games the bias is for the engine in front, so practically there is no chance of a tie. 

game 224, Leela - Integral: Leela pushed pawns on the king side, but it was Integral that chose to castle long. Evals jumped immediately when Leela castled short, Leela moved its rooks to the queen side, gave a pawn and opened the b file. In a series of exchanges the engines reduced to a RRN vs RBN position, Integral captured pawns until there were none left. Leela captured the bishop and started to hunt the black king. Integral lost more material and was mated. There were two white wins in this game pair. 

Featured game: Leela - Stockfish
game 206

Stockfish pushed pawns on the queen side and opened the a file. Then it pushed pawns on the king side, the engines opened the g file, Stockfish was a pawn up with a passer. Stockfish also had a bishop pair advantage and (negative) evals increased. 

The engines played out a long PV agreement. The engines exchaged queens, Leela captured a pawn and created a passer on the king side too. The engines reduced to a RNN vs RBB position, Stockfish traded a bishop for a knight which Leela didn't expect, Leela's eval dropped below 1. Stockfish captured a pawn, its eval continued to increase.

The engines seemed to shuffle for a long time, Leela's eval stayed low while Stockfish's eval jumped. After 20 moves Leela's eval started to increase again, Stockfish managed to trap the white king on the back rank and Leela exchanged rooks. Stockfish captured a pawn and created a second passer that Leela couldn't stop, Stockfish queened and mated.


Wednesday, August 20, 2025

Season 28 premier division, after RR6

Standings after RR6

Stockfish extended its lead, it had 4 game pair wins in DRR3. Leela is now in second place after struggling in the first two DRRs. In this DRR Leela had 3 game pair wins without loss, including a win against Integral that was in second place after DRR2. Integral had a poor DRR with two game pair losses and no win, quite unexpected after its results in the previous rounds. As a result Integral dropped to 4th place, Obsidian is now in 3rd. Leela opened a small gap, but we may still see an upset in the superfinal qualification, depending on the results of the last DRR. 

Ethereal is alone at the bottom of the table after 3 game pair losses in the DRR. KomodoDragon was better than the previous DRR, it had two wins and two losses and got a bit closer to Berserk (one loss, no wins). 

Interesting games

game 113, Leela - Berserk: There was one minor piece exchange after the start, Leela's eval increased quickly and went over 3. The engines played behind their pawn lines, there was a long shuffle and the white king walked to the queen side. Leela's eval peaked close to 5 and slowly drifted down. On move 87 Leela moved a pawn and reset the 50 move counter, the engines exchanged a few pieces and pawns and evals increased again. Leela captured a pawn and opened the a file, Berserk placed its major pieces there and threatened the white king. Leela defended its king and exchanged all rooks, the game reached a QN vs QB position. Berserk sacrificed the bishop for a pawn to create a passer, Leela pushed a pawn on the queen side and exchanged queens. The white passer was faster, Leela queened and mated.

game 115, Stockfish - Ethereal: The center was blocked, after a few minor piece exchanges the engines opened the g file and exchanged a pair of rooks. Stockfish sacrificed a knight for two pawns and reduced to a QB vs QBN position. The white king walked to the queen side, Stockfish captured another pawn and created connected passers. After exchanging queens Ethereal tried to control the white passers, it gave a bishop for a pawn and delayed for a while. Stockfish gave back the bishop for a pawn, Ethereal captured the white passers but the white king moved forward and captured two pawns on the queen side. Ethereal lost the knight for a passer, Stockfish queened another to win.

game 120, Leela - PlentyChess: PlentyChess was up a pawn but its queen side pieces developed slowly. PlentyChess created a passer on the queen side and the engines exchanged queens. After exchanging minor pieces PlentyChess connected a second passer, also creating a passer in the center for Leela. The game reached a RRB vs RRN position, PlentyChess captured the white passer and Leela captured one of the black passers. The engines exchanged a pair of rooks and Leela captured a pawn, creating a passer on the queen side. Leela pushed the passer and captured more pawns, after exchanging rooks Leela queened the passer and mated.

game 124, Obsidian - Ethereal: There were no exchanges after the start, on move 27 the engines exchanged minor pieces and a few moves later queens were exchanged. The first pawn exchange was on move 35, Ethereal created a passer in the center. In a series of exchanges the engines reduced to a RRB vs RBN position, Obsidian had a passer on the king side but the black passer was on the 3rd rank. Ethereal created a second passer on the queen side, Obsidian captured it and exchanged a pair of rooks. Obsidian captured the black passer and Ethereal captured 2 pawns, leaving an 8-man position with one pawn for each engine. In the slow endgame the white king moved forward and Obsidian pushed the passer. Obsidian gave the rook for the bishop, queened the passer and mated.

game 126, Integral - Obsidian: The center was blocked, Integral pushed pawns on the king side and castled its king, Obsidian pushed pawns on the queen side and kept its king in the center. The engines opened the b file and Obsidian moved a rook forward. The engines exchanged a pair of rooks and Obsidian moved the queen forward. Integral opened the g file and the engines exchanged queens, Integral moved its pieces to the king side and forced the black king to move away. In a series of exchanges Obsidian lost a minor piece and the game reached a RBN vs RB position. Integral captured the black pawns, Obsidian lost more material and was mated.

game 130, KomodoDragon - PlentyChess: The center was blocked, KomodoDragon pushed pawns on the queen side and formed a pawn diagonal line. The black light square bishop could not move and it blocked the rook development. PlentyChess pushed pawns on the king side, the white king walked to the queen side. The engines opened the g file and PlentyChess moved pieces forward on the king side. KomodoDragon traded its queen for a rook and a knight, then moved its pieces to the opening on the king side. PlentyChess managed to exchange its trapped bishop, but its other bishop blocked the rook. PlentyChess exchanged the second bishop and freed its rook, but KomodoDragon captured pawns on the queen side and created passers. PlentyChess lost the rook for a passer, lost the knight for another and mate followed.

game 131, Obsidian - Leela: The engines exchanged a pair of pawns on the queen side, Obsidian closed the pawn line with a bishop. After some shuffling a knight replaced the bishop, the engines exchanged a pair of knights. Leela attacked the center with another pawn exchange, evals started to increase slowly. On move 43 the engines started to play out a long PV agreement, Obsidian gave a rook for a bishop and the engines reduced to a QRB vs QRR position. Obsidian was a pawn up with a passer in the center, Leela couldn't get rid of the passer. After 25 moves Obsidian attacked the black king, Leela exchanged pieces and lost material. The game reached a rook ending with no black pawns, a win for Obsidian.

game 134, Leela - Ethereal: The engines opened the d file and exchanged minor pieces. Ethereal placed a rook on the open file, Leela pushed pawns on the king side and opened the h file. Ethereal gave a rook for a knight and pawn to threaten the exposed white king. Leela exchanged pieces and reduced to a RRB vs RNN position. The engines exchanged pawns and each had a passer on the queen side. Ethereal traded pawns on the king side, as a result all pawns there were gone and all pieces moved to the queen side. Leela improved very slowly, eventually it was able to push the passer and exchange rooks. Ethereal lost material for the passer, followed by mate.

game 135, PlentyChess - Obsidian: There were two pawn exchanges after the start, the engines opened the a file but only much later Obsidian moved a rook there. A knight exchange on move 30 created a white passer in the center. Obsidian moved pieces forward on the queen side while PlentyChess threatened the black king on the king side. After a few more piece exchanges PlentyChess captured a pawn and pushed a second passer to the 7th rank. Obsidian captured this passer but lost another pawn, the game reached a RB vs RB position. PlentyChess pushed passers forward, Obsidian lost the bishop  but couldn't stop the passers. PlentyChess exchanged rooks, queened a passer and mated.

game 136, Stockfish - KomodoDragon: The center was blocked, Stockfish pushed pawns on the king side. KomodoDragon captured a pawn and created a passer, Stockfish moved pieces to the king side. KomodoDragon exchanged minor pieces, the white king hid behind the black passer. KomodoDragon tried to open the queen side, but instead lost two pawns and gave Stockfish passers. In a series of exchanges KomodoDragon lost a bishop for a pawn, Stockfish pushed passers forward and queened one, followed by mate.

Standings after RR5: Stockfish +9, Integral Leela +7, Obsidian +4, PlentyChess -2, Berserk -6, KomodoDragon -8, Ethereal -11. Stockfish keeps its small lead after two wins in RR5, with one draw as white against a low ranked engine. Integral had only one win, Leela managed to catch up with it after 3 wins in RR5 and despite a loss to Obsidian. At the bottom of the table Ethereal dropped down after 3 losses. KomodoDragon is a small step closer to Berserk but still facing relegation.

game 144, Obsidian - KomodoDragon: Obsidian castled long and KomodoDragon pushed pawns on the queen side. There were many piece exchanges after the start and the game reached a RRN vs RRN position on move 24. The engines exchanged pawns, KomodoDragon pushed two pawns in the center while Obsidian moved its rooks forward. KomodoDragon created an advanced passer and a white rook blocked it on the 2nd rank. KomodoDragon couldn't defend its passer, Obsidian captured it and exchanged a pair of rooks. Obsidian created a passer on the queen side and then captured a second pawn. After another pawn trade Obsidian pushed a passer forward and KomodoDragon couldn't avoid a queening and mate.

game 146, KomodoDragon - Ethereal: The white queen moved forward on the king side but Ethereal drove it back. KomodoDragon pushed pawns across the board, after a pawn exchange on the king side the black king walked back to the center. KomodoDragon exchanged a pair of rooks, captured a pawn and cleared the king side pawns. The game reached a RN vs RN position, KomodoDragon captured a second pawn and created a passer. Ethereal regained one pawn while the white king moved forward and KomodoDragon pushed the passer forward. Ethereal equalized material but lost the rook for the passer, KomodoDragon queened another and mated.

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

game 154, Obsidian - Integral: Obsidian pushed pawns on the king side and Integral pushed pawns on the queen side. The engines castled their kings away from the opponent's advancing pawns. A pawn exchange opened the f file, another pawn exchange on the queen side didn't open a file but Integral created a passer on b3. Integral captured a pawn on the king side and created a passer, but it lost the queen side passer. The engines exchanged a pair of rooks, Integral moved a rook forward on the queen side and Obsidian moved the queen forward on the king side. Obsidian captured the black passer, it increased the pressure on the back ranks, created a passer on the king side and captured another pawn on the queen side. Obsidian managed to exchange queens and capture a bishop, Integral couldn't stop a queening, it lost more material and was mated. There were two white wins in this game pair. 

game 159, Leela - Obsidian: The engines opened the c file, Obsidian moved a rook forward. Leela trapped the rook, Obsidian chose to trade the rook for a bishop and to activate its king side bishop. The engines exchanged minor pieces, Obsidian pushed pawns on the king side and its bishop became blocked again by its own pawns. Leela moved its major pieces to the king side, the h pawn became a passer. Then Leela shifted to the queen side, the white queen moved forward. Leela moved a rook forward and captured a pawn, creating a second passer. Obsidian lost material trying to defend its king, but was quickly mated. There were two white wins in this game pair.

game 162, Ethereal - Leela: Leela pushed pawns on the king side, Ethereal gave two pawns in the center and opened the e file. The white queen moved forward on the king side, after a series of exchanges the game reached a QRN vs QRB position on move 24. Ethereal regained one pawn, it tried for a long time to find the right way to attack. Leela avoided piece exchanges, after 30 moves Ethereal started to capture pawns. Ethereal was two pawns up with a passer when it exchanged rooks, Leela lost the bishop for another passer. Ethereal exchanged queens, queened a passer and mated. There were two white wins in this game pair.

game 163, Obsidian - PlentyChess: The engines opened the a file, after another pawn exchange Obsidian moved a rook forward. From move 22 the engines exchanged pieces and pawns, resulting in a N vs B ending on move 34. Obsidian was a pawn up with a passer on the queen side. Obsidian slowly pushed the passer forward to the 7th rank, PlentyChess did not take the passer to keep the white king away from the black pawns. After move 63 Obsidian captured the two black pawns, PlentyChess captured the passer on the queen side but couldn't avoid a queening and mate. There were two white wins in this game pair. 

game 166, Stockfish - Obsidian: Stockfish pushed pawns on the king side, Obsidian opened the c file and moved a rook forward. Obsidian created a passer on the queen side, Stockfish gave a pawn and both engines created a passer in the center. After exchanging queens both engines pushed passers forward, Stockfish blocked the king side with a pawn on g6, trapping the black king. Stockfish captured one passer, Obsidian gave a bishop for the white passer. Obsidian lost control of the back rank, it lost more and more material and was mated.

game 167, PlentyChess - Ethereal: Evals were more or less stable as the engines exchanged pieces and pawns, even after Ethereal gave a rook for a bishop. The game reached a RR bs RB position, Ethereal exchanged a pair of rooks and PlentyChess' eval jumped. The 8-man position may have been a win, at least according to the Stockfish analysis that followed the game. However PlentyChess just shuffled and the game was adjudicated a draw close to the 50 move limit.

game 168, Leela - Integral: Evals increased quickly after the start. Leela pushed pawns on the king side and threatened the black king with a rook on h3, then captured a pawn on the queen side. The black pieces became passive, Integral gave a rook for a bishop to activate its queen. Leela pushed a pawn and created a passer on the queen side. An exchange of a pair of rooks connected a second white passer, Leela pushed the passers and Integral lost material. Leela trapped the black king and mated.

Featured game: Stockfish - Integral
game 147

After both engines castled the attention was on the queen side, both engines pushed pawns and there was one pawn exchange. After move 25 Stockfish shifted to the king side, it opened the h file and evals jumped. A minor piece exchange opened the d file, then Stockfish captured a rook for a bishop and pawn.

Stockfish moved a rook forward on the d file. A pawn exchange on the queen side created a passer for each engine. Integral gave the passer away and moved major pieces to the h file. Stockfish gave the passer back, exchanged rooks and took over the h file. The game reached a QR vs QB position, again each engine with a passer.

Integral tried to attack the white king but was not strong enough. Stockfish captured the black passer and pushed its own, Integral lost the bishop to stop it. Integral tried to protect its king, eventually it lost the queen and was mated.


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.