Event: South African Chess Open
Site: South Africa
Date: 2025-07-04
White: Oatlhotse, Providence
WhiteTitle: IM
WhiteElo: 2256
Black: Ristovich, Dmitar
BlackElo: 2019
Result: 1-0
ECO: C00
Opening: French Defense: King's Indian Attack
Variant: Standard
TimeControl: 90+30

1. e4 { [%eval 0.18] [%clk 1:30:47] } 1... e6 { [%eval 0.28] [%clk 1:23:55] } 2. d3 { [%eval 0.0] [%clk 1:29:30] } 2... c5 { [%eval 0.0] [%clk 1:23:28] } 3. g3 { [%eval 0.0] [%clk 1:29:24] } 3... Nc6 { [%eval 0.0] [%clk 1:23:46] } 4. Bg2 { [%eval 0.01] [%clk 1:29:51] } 4... d6 { [%eval 0.3] [%clk 1:23:09] } 5. Nd2 { [%eval 0.04] [%clk 1:28:47] } 5... Qc7 { [%eval 0.11] [%clk 1:22:01] } 6. Ngf3 { [%eval 0.0] [%clk 1:28:18] } 6... Nf6 { [%eval -0.01] [%clk 1:21:44] } 7. O-O { [%eval -0.03] [%clk 1:28:33] } 7... Be7 { [%eval 0.0] [%clk 1:21:56] } 8. Re1 { [%eval 0.16] [%clk 1:28:32] } 8... O-O { [%eval 0.08] [%clk 1:21:55] } 9. a4 { [%eval 0.05] [%clk 1:27:24] } 9... b6 { [%eval 0.1] [%clk 1:21:03] } 10. Nc4 { [%eval 0.1] [%clk 1:26:39] } 10... Bb7 { [%eval 0.0] [%clk 1:18:41] } 11. Bf4 { [%eval -0.17] [%clk 1:26:43] } 11... e5 { [%eval 0.29] [%clk 1:09:26] } 12. Bg5 { [%eval 0.17] [%clk 1:24:16] } 12... a6 { [%eval 0.49] [%clk 1:09:17] } 13. c3 { [%eval 0.37] [%clk 1:20:05] } 13... h6 { [%eval 0.41] [%clk 1:09:16] } 14. Bxf6 { [%eval 0.49] [%clk 1:20:08] } 14... Bxf6 { [%eval 0.46] [%clk 1:09:36] } 15. Qb3 { [%eval 0.28] [%clk 1:20:21] } 15... Bd8 { [%eval 0.33] [%clk 1:06:33] } 16. Nfd2 { [%eval 0.17] [%clk 1:20:42] } 16... Rb8 { [%eval 0.18] [%clk 1:03:32] } 17. Nf1 { [%eval 0.16] [%clk 1:20:22] } 17... Bc8 { [%eval 0.27] [%clk 0:58:53] } 18. Nce3 { [%eval 0.16] [%clk 1:18:20] } 18... Ne7 { [%eval 0.26] [%clk 0:57:57] } 19. d4? { [%eval -0.95] } { Mistake. Qd1 was best. } { [%clk 1:15:59] } 19... Be6? { [%eval 0.24] } { Mistake. cxd4 was best. } { [%clk 0:55:55] } 20. Qd1 { [%eval -0.18] [%clk 1:13:13] } 20... exd4 { [%eval -0.05] [%clk 0:49:33] } 21. cxd4 { [%eval -0.08] [%clk 1:13:40] } 21... cxd4 { [%eval -0.07] [%clk 0:47:44] } 22. Qxd4 { [%eval -0.1] [%clk 1:11:42] } 22... Nc6 { [%eval 0.05] [%clk 0:47:25] } 23. Qd2 { [%eval 0.17] [%clk 1:09:34] } 23... Bf6?? { [%eval 3.53] } { Blunder. b5 was best. } { [%clk 0:46:18] } 24. Rac1 { [%eval 3.39] [%clk 1:09:37] } 24... Qd7 { [%eval 3.55] [%clk 0:44:44] } 25. Rxc6 { [%eval 3.59] [%clk 1:09:50] } 25... Qxc6 { [%eval 3.55] [%clk 0:43:56] } 26. e5 { [%eval 3.35] [%clk 1:10:14] } 26... Qxa4?! { [%eval 4.25] } { Inaccuracy. Qxg2+ was best. } { [%clk 0:43:29] } 27. exf6 { [%eval 4.34] [%clk 1:10:32] } 27... Rfd8 { [%eval 5.21] [%clk 0:41:22] } 28. fxg7 { [%eval 4.55] [%clk 1:10:35] } 28... Kxg7 { [%eval 5.14] [%clk 0:41:49] } 29. Qc3+ { [%eval 5.21] [%clk 1:10:20] } 29... Kg8 { [%eval 5.75] [%clk 0:41:27] } 30. Nd5 { [%eval 5.75] [%clk 0:59:34] } 30... Bxd5 { [%eval 5.82] [%clk 0:37:32] } 31. Bxd5 { [%eval 5.82] [%clk 0:59:58] } 31... Qa5?! { [%eval 7.96] } { Inaccuracy. Qg4 was best. } { [%clk 0:38:00] } 32. Qd3 { [%eval 7.81] [%clk 0:59:27] } 32... Qxe1 { [%eval 8.22] [%clk 0:38:14] } 33. Qg6+ { [%eval 8.28] [%clk 0:59:32] } 33... Kh8 { [%eval 8.29] [%clk 0:38:41] } 34. Bxf7 { [%eval 8.09] [%clk 0:59:35] } 34... Qc1? { [%eval #4] } { Checkmate is now unavoidable. Qb1 was best. } { [%clk 0:38:25] } 35. Qf6+ { [%eval #3] [%clk 0:59:51] } 1-0