Eight levels
Levels 1 to 7 are the same engine choosing among its top few moves, with more room for error at the lower levels. Level 8 is the bot you have been playing. We set each level by playing the bots against each other and against a player that moves at random, so every step up is measured. The ratings are on the bots page.
If you have played jieqi here before, you were playing Level 8.
How the fourteen were won
Five of the 14 ended in stalemate. In jieqi, as in xiangqi, a side with no legal move loses, so trapping the bot's general with nowhere to go is a win even when it is not in check. In every one of them the bot had seen the loss coming several moves earlier, and every move it had left lost. The game below opens at move 11, just before the turn: the bot is sure it is well ahead, and one move later it is lost. Step forward with the arrows to reach the stalemate.
Five of the wins turned right after the bot moved one of its own face-down pieces. A hidden piece is revealed when it moves, and the bot tends to value that move as if the reveal will go its way. This game opens at move 15 with the bot well ahead and about to reveal a piece. The reply takes a cannon, and within a few moves the lead is gone.
Not every win needed a gamble from the bot. @tonghuiqu has four of the 14, and in the longest of them the game turned on ordinary moves, not a lucky reveal. It opens at move 19 with the game level; over the next 20 moves @tonghuiqu gains ground one step at a time, and mates on move 68.
The winners were also patient. Five of the 14 went past 50 moves, and in this one the lead changed hands twice. It opens at move 42, with the bot ahead for the second time and about to reveal a piece. The player takes over from there and finishes it 38 moves later.
All fourteen
| Date | Player | Side | Moves played | Finish |
|---|---|---|---|---|
| Sep 4 | @boliquangtri | Red | 49 | Checkmate |
| Sep 13 | @tonghuiqu | Red | 68 | Checkmate |
| Sep 17 | @tonghuiqu | Red | 21 | Checkmate |
| Sep 19 | @tonghuiqu | Red | 34 | Stalemate |
| Sep 19 | @tonghuiqu | Red | 23 | Checkmate |
| Sep 21 | Guest | Black | 47 | Stalemate |
| Sep 21 | Guest | Black | 63 | Stalemate |
| Sep 22 | Guest | Black | 46 | Stalemate |
| Sep 23 | Guest | Black | 88 | Checkmate |
| Sep 24 | Guest | Red | 32 | Checkmate |
| Sep 25 | Guest | Red | 59 | Stalemate |
| Sep 27 | Guest | Red | 33 | Checkmate |
| Sep 29 | Guest | Black | 80 | Checkmate |
| Sep 29 | Guest | Black | 50 | Checkmate |
Before August 23
Until August 23 the jieqi bot ran on a quicker setting than we meant it to, searching for a fraction of a second a move. It won 13 games in a row in early August anyway. Then it lost nine in three days, most likely all to one player, which is how we noticed. We moved it to full strength that night, and none of those nine games are counted above.
What is next
A stronger engine now sits above Level 8: AB-JChess, an open-source jieqi engine by Huorongrong and Laoxu (Kouza), which beat full-strength Pikafish in 248 of 400 games. Its story, and how it handles positions like these, follows next week.