MinimalChess 0.2 released

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
lithander
Posts: 881
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

MinimalChess 0.2 released

Post by lithander »

I finally published the first official release of MinimalChess! 8-)

You can find the source code as well as builds for Windows, Mac and Linux on Github!
https://github.com/lithander/MinimalChe ... s/tag/v0.2

---Context---

A few weeks ago I asked your opinion on features considered to be essential for even the most bare-bones of chess engines.

I got a lot of great feedback (which was very motivating) and compiled a list of requirements for version 0.2:
  • stable
  • win with huge material plus
  • correct move generator
  • play from arbitrary positions (fen and 'moves')
  • support time controls
  • know repetition rules
  • implement alpha beta pruning
  • implement iterative deepening
  • send "uci info" to the GUI
  • support "uci stop"
I'm proud to announce that I think MinimalChess now meets all the above requirements! Please give it a try in you favorite GUI on your favorite OS with your favorite time controls and let me know of any(!) issues you experience. It shouldn't lose on time or otherwise crash, hang or burst into flames. A review of it's playing style by a more experienced chess player would also be of interest!

Finally, if a contributor to rating lists such as CEGT or CCRL would include it in some of their next tournaments that would be super cool to! I'd really love to get an "official" strength rating for MinimalChess! :)
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: MinimalChess 0.2 released

Post by Ferdy »

Looks just fine, fun to play with.

[pgn][Event "Computer chess game"]
[Site "?"]
[Date "2021.02.12"]
[Round "?"]
[White "ferdy"]
[Black "MinimalChessEngine"]
[Result "1/2-1/2"]
[BlackElo "2000"]
[Time "20:06:06"]
[WhiteElo "2400"]
[TimeControl "180+2"]
[Termination "normal"]
[PlyCount "125"]
[WhiteType "human"]
[BlackType "program"]

1. d4 e6 {+1.00/7 1} (1. .. e6 2. Qd2 a5 3. d5 Bb4 4. c3 Bxc3) 2. c4 Qf6
{+1.00/7 5} (2. .. Qf6 3. Nc3 e5 4. Nd5 Qd6 5. Nc3 exd4) 3. Nc3 Bb4 {0.00/6
6} (3. .. Bb4 4. a3 Bxc3+ 5. bxc3 Qh4 6. Bg5) 4. Qd3 Qg6 {0.00/6 6} (4. ..
Qg6 5. a3 Qxd3 6. exd3 Bxc3+ 7. bxc3) 5. Qxg6 hxg6 {+1.00/7 1} (5. .. hxg6
6. Kd1 a6 7. Nb1 Bd6 8. Nc3 Bxh2) 6. Bd2 a6 {+1.00/7 4} (6. .. a6 7. Rb1
Bd6 8. a3 a5 9. Ra1 Rxh2) 7. a3 Bxc3 {+1.00/7 3} (7. .. Bxc3 8. bxc3 d5 9.
Bf4 dxc4 10. Bxc7 Rxh2) 8. Bxc3 Nf6 {+1.00/7 1} (8. .. Nf6 9. Rb1 Ne4 10.
Bd2 a5 11. Bc1 Nxf2) 9. f3 b6 {+1.00/7 3} (9. .. b6 10. Rb1 Nh5 11. Kf2 Nf4
12. Kg3 Nxe2+) 10. e4 Nh5 {+1.00/7 3} (10. .. Nh5 11. d5 Ng3 12. Bxg7 Rh7
13. hxg3 Rxh1) 11. Kf2 Bb7 {+1.00/7 1} (11. .. Bb7 12. d5 exd5 13. cxd5 a5
14. Rb1 Bxd5) 12. Bd3 Nf4 {+1.00/7 3} (12. .. Nf4 13. Rd1 Nxd3+ 14. Rxd3 g5
15. Ne2 Bxe4) 13. Bc2 Ra7 {-1.00/6 1} (13. .. Ra7 14. Bd2 Nh5 15. Ba4 Nf6
16. Bxd7+) 14. Ne2 Nxe2 {+1.00/7 5} (14. .. Nxe2 15. Kxe2 b5 16. b3 bxc4
17. bxc4 Bxe4) 15. Kxe2 Kd8 {-1.00/6 1} (15. .. Kd8 16. d5 exd5 17. Bxg7
Rg8 18. cxd5) 16. h3 Rg8 {-1.00/6 1} (16. .. Rg8 17. d5 g5 18. dxe6 dxe6
19. Bxg7) 17. Rhd1 Kc8 {+1.00/7 2} (17. .. Kc8 18. d5 g5 19. dxe6 dxe6 20.
Rab1 Bxe4) 18. b4 Bc6 {+1.00/7 2} (18. .. Bc6 19. Rab1 b5 20. Bd3 bxc4 21.
Bxc4 Bxe4) 19. Rd2 d6 {+1.00/7 1} (19. .. d6 20. d5 exd5 21. cxd5 Bb7 22.
h4 Bxd5) 20. Bb3 Be8 {+1.00/7 3} (20. .. Be8 21. Rb1 Nc6 22. Ra1 g5 23. Rb1
Nxb4) 21. Ke3 Nc6 {+1.00/7 2} (21. .. Nc6 22. d5 exd5 23. Rxd5 Rb7 24. Rg5
Nxb4) 22. Rc1 Kb7 {+1.00/7 2} (22. .. Kb7 23. d5 exd5 24. Rxd5 Ra8 25. Rg5
Nxb4) 23. d5 exd5 {+1.00/7 1} (23. .. exd5 24. Rxd5 Ra8 25. Rg5 Kc8 26. Rb1
Nxb4) 24. cxd5 Ne7 {+1.00/7 2} (24. .. Ne7 25. g4 a5 26. Rb1 a4 27. Ba2
Nxd5+) 25. Rdc2 f6 {+1.00/7 2} (25. .. f6 26. Rb1 b5 27. Ra1 g5 28. Rb1
Nxd5+) 26. Bd4 Kb8 {+1.00/7 2} (26. .. Kb8 27. Rc3 f5 28. Rb1 fxe4 29. Kxe4
Nxd5) 27. a4 Rb7 {+1.00/7 3} (27. .. Rb7 28. Rc3 f5 29. Rb1 fxe4 30. Kxe4
Nxd5) 28. Ra1 f5 {+1.00/7 2} (28. .. f5 29. Rac1 g5 30. Rb1 f4+ 31. Kd2
Nxd5) 29. e5 dxe5 {+1.00/7 4} (29. .. dxe5 30. Bxe5 g5 31. d6 f4+ 32. Kd2
cxd6) 30. Bxe5 Bf7 {+1.00/7 4} (30. .. Bf7 31. Rd1 a5 32. Rd4 axb4 33. Rxb4
Nxd5+) 31. Rd1 b5 {+1.00/7 3} (31. .. b5 32. Ra2 bxa4 33. Rxa4 Ra7 34. Rc1
Nxd5+) 32. a5 Ra7 {+1.00/7 3} (32. .. Ra7 33. Rdd2 g5 34. Rb2 f4+ 35. Ke2
Nxd5) 33. Rc5 Nc8 {+1.00/7 2} (33. .. Nc8 34. Kd2 Nd6 35. Rdc1 Nc8 36. Rb1
Bxd5) 34. Rdc1 Nd6 {+1.00/7 2} (34. .. Nd6 35. Kd2 Ne8 36. Rb1 g5 37. Ra1
Bxd5) 35. Rxc7 Rxc7 {-1.00/7 3} (35. .. Rxc7 36. Bxd6 Re8+ 37. Kd2 Rc8 38.
Bxc7+ Rxc7) 36. Bxd6 Rc8 {-3.00/8 4} (36. .. Rc8 37. Rxc7 Rxc7 38. Bxc7+
Kxc7 39. d6+ Kxd6 40. Bxf7) 37. Kd4 Kb7 {-3.00/8 3} (37. .. Kb7 38. Rxc7+
Rxc7 39. Bxc7 Kxc7 40. d6+ Kxd6 41. Bxf7) 38. Bxc7 g5 {-1.00/7 1} (38. ..
g5 39. Rb1 Rxc7 40. d6 Rd7 41. Bxf7 Rxf7) 39. g3 Bg8 {-1.00/7 1} (39. ..
Bg8 40. Rb1 Kxc7 41. Rc1+ Kd7 42. Rxc8 Kxc8) 40. Ke5 g4 {-2.00/7 2} (40. ..
g4 41. Kd6 gxf3 42. Rc6 Bxd5 43. Rb6+ Ka8) 41. fxg4 fxg4 {-2.00/7 5} (41.
.. fxg4 42. Kd6 gxh3 43. Rc6 Bxd5 44. Rb6+ Ka8) 42. h4 g5 {-2.00/7 1} (42.
.. g5 43. Kd6 gxh4 44. Rc6 hxg3 45. Rb6+ Ka8) 43. hxg5 Ka7 {-4.00/7 1} (43.
.. Ka7 44. Rc2 Kb7 45. Bb6 Rxc2 46. Bxc2 Bxd5) 44. Kd6 Kb7 {-5.00/7 5} (44.
.. Kb7 45. Bd1 Ka8 46. Rc6 Kb7 47. Rb6+ Ka8) 45. g6 Rf8 {-4.00/7 5} (45. ..
Rf8 46. Rc6 Rc8 47. Ba2 Bxd5 48. Rb6+ Ka8) 46. Bb6 Rf6+ {-4.00/7 5} (46. ..
Rf6+ 47. Ke7 Rxg6 48. Kf8 Rf6+ 49. Kxg8 Rxb6) 47. Kd7 Rxg6 {-4.00/7 1} (47.
.. Rxg6 48. Rc7+ Kb8 49. Bd4 Rg5 50. Ba7+ Ka8) 48. Rc7+ Kb8 {-7.00/8 1}
(48. .. Kb8 49. Rc8+ Kb7 50. Rc7+ Kb8 51. Rc8+ Kb7 52. Rxg8) 49. Rc8+ Kb7
{-5.00/8 5} (49. .. Kb7 50. Rc7+ Kb8 51. Bd4 Bf7 52. Ra7 Rg5 53. Rxa6) 50.
Rf8 Rg7+ {-5.00/8 4} (50. .. Rg7+ 51. Kd6 Bf7 52. Kc5 Bg6 53. Bd1 Be4 54.
Bxg4) 51. Kd6 Rg5 {-3.00/7 4} (51. .. Rg5 52. Bd4 Rg6+ 53. Kc5 Ka7 54. Ba2
Bxd5) 52. Bd4 Rg6+ {-4.00/7 1} (52. .. Rg6+ 53. Bf6 Rh6 54. Rxg8 Rxf6+ 55.
Kc5 Re6) 53. Bf6 Rh6 {-6.00/8 3} (53. .. Rh6 54. Bc2 Rh2 55. Bb1 Rf2 56.
Bd3 Rxf6+ 57. Rxf6) 54. Rxg8 Rxf6+ {-4.00/9 3} (54. .. Rxf6+ 55. Kc5 Rf3
56. Rg7+ Kc8 57. Rg8+ Kb7 58. Rg7+ Rf7) 55. Ke7 Rf3 {-4.00/9 4} (55. .. Rf3
56. Bd1 Rxg3 57. Kd6 Re3 58. Bxg4 Rb3 59. Bc8+ Kb8) 56. Bc2 Rxg3 {-4.00/8
1} (56. .. Rxg3 57. Bd1 Re3+ 58. Kd6 Rd3 59. Bxg4 Rc3 60. Bf3) 57. d6 Re3+
{-3.00/9 3} (57. .. Re3+ 58. Kd8 Re2 59. Bb1 Rd2 60. Be4+ Kb8 61. Kd7+ Ka7)
58. Kf6 Kc6 {-3.00/8 2} (58. .. Kc6 59. d7 Kxd7 60. Bf5+ Kc6 61. Bxg4 Rd3
62. Bf3+) 59. Rxg4 Kxd6 {-4.00/8 3} (59. .. Kxd6 60. Rg5 Rc3 61. Be4 Rc4
62. Rd5+ Kc7 63. Rxb5) 60. Be4 Kc7 {-3.00/8 2} (60. .. Kc7 61. Bc2 Rc3 62.
Bb1 Rb3 63. Rg7+ Kc6 64. Bc2) 61. Rg7+ Kd6 {-4.00/8 1} (61. .. Kd6 62. Kf5
Rf3+ 63. Kg4 Re3 64. Rg6+ Ke5 65. Rxa6) 62. Bb7 Rf3+ {-4.00/8 1} (62. ..
Rf3+ 63. Kg6 Rg3+ 64. Kh7 Rh3+ 65. Kg8 Re3 66. Bxa6) 63. Bxf3 {Stalemate
Stalemate} 1/2-1/2[/pgn]
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: MinimalChess 0.2 released

Post by Gabor Szots »

Hi Thomas,

It is very likely that I will start a tournament with it in the coming days.

PS. Where are you from?
Gabor Szots
CCRL testing group
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: MinimalChess 0.2 released

Post by Guenther »

Gabor Szots wrote: Fri Feb 12, 2021 2:29 pm Hi Thomas,

It is very likely that I will start a tournament with it in the coming days.

PS. Where are you from?
Image
https://rwbc-chess.de/clip/minimalCE.png

Probably the rating classification has changed meanwhile - testing will show ;-)
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
User avatar
lithander
Posts: 881
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

Re: MinimalChess 0.2 released

Post by lithander »

Ferdy wrote: Fri Feb 12, 2021 1:32 pm Looks just fine, fun to play with.
I love how it offered you the rook in the end secretly hoping for a stale-mate! :)
Gabor Szots wrote: Fri Feb 12, 2021 2:29 pm It is very likely that I will start a tournament with it in the coming days.
Awesome! Thank you!
Gabor Szots wrote: Fri Feb 12, 2021 2:29 pm PS. Where are you from?
I'm from the Free Hanseatic City of Bremen! (Germany)
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: MinimalChess 0.2 released

Post by Ferdy »

lithander wrote: Fri Feb 12, 2021 3:06 pm
Ferdy wrote: Fri Feb 12, 2021 1:32 pm Looks just fine, fun to play with.
I love how it offered you the rook in the end secretly hoping for a stale-mate! :)
That is right I completely failed to see it, what I have in mind without calculation is that its king is not on the edge of the board and my pieces are low so I just took it quickly :x besides my king is also under attacked.
User avatar
lithander
Posts: 881
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

Re: MinimalChess 0.2 released

Post by lithander »

Guenther wrote: Fri Feb 12, 2021 2:59 pm Probably the rating classification has changed meanwhile - testing will show ;-)
I expect an E and hope for a D! :P
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
User avatar
CMCanavessi
Posts: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: MinimalChess 0.2 released

Post by CMCanavessi »

970 elo in my rating list, between Tikov and Frank
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls
User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

Re: MinimalChess 0.2 released

Post by Scally »

Hi Thomas,

I don’t see a Raspberry Pi compile nor a Makefile, how can I compile this?


Thanks,

Al.
User avatar
lithander
Posts: 881
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

Re: MinimalChess 0.2 released

Post by lithander »

CMCanavessi wrote: Sat Feb 13, 2021 10:05 pm 970 elo in my rating list, between Tikov and Frank
Thanks for playing with MinimalChess! :) Is your rating list published somewhere? Seems like Tikov is rated 1244 on CCRL and Frank at 1074. Do they have lower ELO ratings in your list? What time controls do you use? And did you experience any issues that need to be addressed in a future version?
Scally wrote: Sun Feb 14, 2021 12:12 pm I don’t see a Raspberry Pi compile nor a Makefile, how can I compile this?
I've been using .Net Core because it supports many different target platforms. Visual Studio allows me to publish the engine for other platforms from the comfort of my Windows PC and produces a compatible binary. That's how I managed to provide builds for Linux and Mac.

Apparently the Pi is having an ARM-compatible CPU and running an OS derived from Linux. So I have just built another binary targeting the "linux-arm" platform and added it to the 0.2 Release. According to this link
https://github.com/dotnet/core/blob/mas ... uctions.md the Linux ARM build should run on your Raspi. Let me know if it works! The big file size is due to the fact that I bundle all dependencies with the executable so it should just run out of the box without installing the .NET framework, first.

If you'd rather compile it yourself and manage to do so (again the above link should help) please let me know how and I'll gladly add that Makefile and/or install instructions to the repository! Of course this is true for everyone else reading this! If you want to help me to provide instructions how to compile it on your favorite OS just give me a tell!

Thanks for the interest, everyone. This community is the greatest! <3
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess