Here is a list of many (although not all) of the test positions that I have accumulated since Myrddin started playing games. Most of these positions come from Myrddin's tournament or online games, or were specially constructed to test a particular aspect of the engine. Others I have gotten from sources I can no longer recall, so my apologies if I do not always give credit where credit is due.\\ These positions are intended to be good for any engine below 2000 ELO. \\ # FEN 7k/3b3p/1p6/3p1P1P/2p3r1/2P1R3/7r/2RK4 b - - 0 40 bm Rg1, Ba4 7k/3b3p/1p6/3p1P1P/2p3r1/2P1R3/7r/2RK4 b - - 0 40 bm Rg1, Ba4\\ This is a position to test your engine's extensions -- in particular check and singular reply. This is a Mate in 7 with either Rg1+ or Ba4+ -- both moves transpose to the same position after four plies. If your engine has extensions for both check and singular reply, and doesn't limit extensions too much, your engine should find this very quickly, probably around depth 4 and definitely in less than one second.\\ \\ # FEN 8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - - 0 1 bm Kb1 8/k7/3p4/p2P1p2/P2P1P2/8/8/K7 w - - 0 1 bm Kb1\\ This is a classic position, known as Fine #70, for testing your hash implementation. The only move that wins is the unintuitive (both to humans and engines) Kb1. But with only King moves available for the first many moves, your engine should be able to search very deeply if your hash implementation is correct. The goal is to find Kb1 with a decent score (at least +1) in less than one second.\\ \\ # FEN r4r2/p1q1n1kp/2n1ppp1/8/3P2N1/3BPP2/2Q2P1P/R3K2R w KQ - 0 19 bm h3, h4 r4r2/p1q1n1kp/2n1ppp1/8/3P2N1/3BPP2/2Q2P1P/R3K2R w KQ - 0 19 bm h3, h4\\ This is one of the first annoying positions from an early Myrddin tournament game. The Knight on g4 is in a bad position, because it has nowhere to go if it is attacked...say by a move like h5. Therefore, an escape square must be created, and the only moves that do that safely are h3 and h4 (the move e4 would drop the pawn on d4). The issue with this position is that there are a lot of captures and other tactical distractions (as well as move ordering) that an engine might get bogged down in to cause it to avoid looking at supposedly quiet moves like h3 or h4. Early versions of Myrddin couldn't find a correct move in under one minute. Now it just takes a few seconds.\\ \\ # FEN r4rk1/1p2ppbp/pq1p2p1/3P4/1nP3n1/2N2N2/PP2QPPP/R1B2RK1 b - - 0 18 bm a5 r4rk1/1p2ppbp/pq1p2p1/3P4/1nP3n1/2N2N2/PP2QPPP/R1B2RK1 b - - 0 18 bm a5\\ This is a very similar position to the previous one, but it has even more potential complications. Again, the b4 Knight is potentially trapped if White plays a3. Again, the only move is the quiet a5. It takes Myrddin about 50% longer to find this move than the previous one. If your engine can find this move in under 10 seconds, you're doing well. \\ # FEN 3rrk2/1bnqppb1/p2p2p1/1p1P2P1/1p2PP1R/2NQBN2/1PP2K2/7R w - - bm Rh8 3rrk2/1bnqppb1/p2p2p1/1p1P2P1/1p2PP1R/2NQBN2/1PP2K2/7R w - - bm Rh8\\ The goal for an engine trying to reach 2000 ELO is to find the temporary exchange sacrifice Rh8! The problem is that the sacrifice is "temporary" until the 13th ply of the search, when White wins Black's Queen for a Rook, going up two points in material (although capturing Black's Queen is actually not optimal, because White's best attack leads to an eventual checkmate). \\ # FEN 8/pR5p/4k3/2P1B3/5P1r/4P3/P2r4/2R3K1 w - - 0 34 am Rxa7 8/pR5p/4k3/2P1B3/5P1r/4P3/P2r4/2R3K1 w - - 0 34 am Rxa7\\ Here's the first "avoid move" position, specifically to determine if your engine is too greedy and also to properly recognize perpetual check. White is already way up in material, but the Pawn on a7 is just hanging there. Why not play Rxa7 and take it? Because Black can then force a draw with Rg4+. No good being up a Bishop and three Pawns if you don't also get the win. \\ # FEN 3rkb1r/1p2npp1/p1q5/4P3/3BP1p1/2PB1N2/PP3PP1/R2Q1RK1 w k - 0 18 bm g3, Ng5, Re1 3rkb1r/1p2npp1/p1q5/4P3/3BP1p1/2PB1N2/PP3PP1/R2Q1RK1 w k - 0 18 bm g3, Ng5, Re1\\ With three acceptable moves, why is this position difficult? Well, again, it's a test to see how greedy (or, in this case, greedy to keep its own material) your engine is. The Knight on f3 is en prise. There are five places it can go, and two of them (e1 and d2) spell quick doom. Two others (h2 and h4) are definitely inferior. Ng5 is acceptable. But the best moves are to give back some of the material that you've already won in order to help launch a counterattack (e6 or g3) or to make a little breathing room for your King (Re1). \\