MadChess 2.0 Released

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
emadsen
Posts: 164
Joined: Wed Apr 25, 2012 11:51 pm
Location: Naperville, IL, USA
Contact:

MadChess 2.0 Released

Post by emadsen » Mon Oct 12, 2015 3:57 am

Hey chess engine enthusiasts. I'm releasing version 2.0 of my engine, MadChess. I've rewritten the engine from scratch in a more procedural style code- as opposed to the sub-optimal (for chess engines at least) object-oriented style I used in MadChess 1.x.

The engine is about 115 - 160 ELO stronger than its predecessor, depending on time control. I estimate it is about 2350 on the CCRL scale.

You may download MadChess 2.0 at the following link. It requires .NET 4.6, which is included in Windows 10 or may be downloaded separately. I've updated the download page and the ReadMe file contained in the .zip file. I haven't updated anything else on the site yet.

http://www.madchess.net/page/Downloads

The engine doesn't work in Hiarcs Chess Explorer due to a bug in HCE, or QT, or .NET 4- I don't wish to referee that dispute. Please use another GUI such as Fritz, Shredder, or Arena.

It's come to my attention that I'm getting married in two weeks. So I'm unlikely to update the MadChess website or address any serious problems with the engine in the near future. Let's hope it just works. Cheers.
My C# chess engine: http://www.madchess.net

User avatar
Graham Banks
Posts: 30733
Joined: Sun Feb 26, 2006 9:52 am
Location: Auckland, NZ

Re: MadChess 2.0 Released

Post by Graham Banks » Mon Oct 12, 2015 4:07 am

Thanks Erik and congratulations on your upcoming marriage. :)
My email addresses:
gbanksnz at gmail.com
gbanksnz at yahoo.co.nz

User avatar
emadsen
Posts: 164
Joined: Wed Apr 25, 2012 11:51 pm
Location: Naperville, IL, USA
Contact:

Re: MadChess 2.0 Released

Post by emadsen » Mon Oct 12, 2015 2:09 pm

Thanks Graham!
My C# chess engine: http://www.madchess.net

SzG
Posts: 2447
Joined: Fri Mar 10, 2006 6:20 am
Location: Szentendre, Hungary

Re: MadChess 2.0 Released

Post by SzG » Mon Oct 12, 2015 3:04 pm

Hi Erik,

Thanks for the engine and much happiness in life!

PS. Your engine is 64-bit, isn't it?
Gabor Szots

CCRL testing group

User avatar
fern
Posts: 8745
Joined: Sun Feb 26, 2006 3:07 pm

Re: MadChess 2.0 Released

Post by fern » Mon Oct 12, 2015 6:12 pm

Great news, Erik
I will play your last engine.
Respect your marriage, be sure to have a friend at the gate of the church waiting in a car with the engine running, you never know...

Better running than chased regards
Fern

User avatar
Steve Maughan
Posts: 1025
Joined: Wed Mar 08, 2006 7:28 pm
Location: Florida, USA
Contact:

Re: MadChess 2.0 Released

Post by Steve Maughan » Mon Oct 12, 2015 7:24 pm

Hi Erik - Congrats on both accounts!

- Steve
http://www.chessprogramming.net - Maverick Chess Engine

Ferdy
Posts: 3607
Joined: Sun Aug 10, 2008 1:15 pm
Location: Philippines

Re: MadChess 2.0 Released

Post by Ferdy » Mon Oct 12, 2015 9:03 pm

Congratz for your marriage, forget about computer chess for a moment :).

Sample game at elo 1200.
[pgn]
[Event "Computer chess game"]
[Site "Home"]
[Date "2015.10.13"]
[Round "?"]
[White "F"]
[Black "MadChess 2.0"]
[Result "1-0"]
[BlackElo "1200"]
[ECO "A40"]
[Opening "Queen's Pawn Game"]
[TimeControl "120+0"]
[Termination "normal"]
[PlyCount "59"]
[WhiteType "human"]
[BlackType "program"]

1. d4 Na6 {(1. ... Nf6 2.Nf3 Nc6 3.Nc3 d5) 0.00/5 4} 2. e4 b6 {(1. ... Nf6
2.Nc3 d5 3.Bd3) -0.18/4 3} 3. Nf3 Nh6 {(1. ... Nf6 2.Nc3 Nb4) -0.35/3 4} 4.
Bd3 e6 {(1. ... Nb4 2.0-0 Ng4) -0.54/3 4} 5. O-O Qf6 {(1. ... Ng4 2.Nc3
Nb4) -0.84/3 4} 6. c4 Bd6 {(1. ... Ng4 2.Bg5 Qg6) -0.80/3 3} 7. e5 Qd8 {(1.
... Qe7 2.exd6 cxd6 3.Nc3) -2.99/4 2} 8. exd6 cxd6 {(1. ... cxd6 2.Bf4 d5
3.Nc3) -3.12/4 3} 9. Nc3 Nb8 {(1. ... 0-0 2.Bf4 Qe7) -2.74/3 3} 10. Qe2 Qc7
{(1. ... 0-0 2.Bf4 Qe7) -2.99/3 3} 11. Bf4 Kd8 {(1. ... 0-0 2.Ne4) -3.14/2
3} 12. Nb5 Qb7 {(1. ... Qc6 2.Nxd6 f5) -4.75/3 3} 13. Nxd6 Qc6 {(1. ... Qc6
2.Bxh6) -5.16/2 3} 14. Bxh6 Qxd6 {(1. ... Qxd6 2.Bxg7 Rg8) -5.19/3 3} 15.
c5 Qc6 {(1. ... bxc5 2.Bxg7) -4.14/2 3} 16. Be4 d5 {(1. ... d5 2.cxd6 Qxd6)
-5.80/3 2} 17. cxd6 Qxd6 {(1. ... Qxd6) -5.80/1 2} 18. Bxg7 Ba6 {(1. ...
Ba6 2.Bf6+ Kc8) -5.11/3 2} 19. Qe3 Bxf1 {-4.94/3 2} 20. Bxa8 Rg8 {-4.83/2
2} 21. Be5 Rxg2+ {-7.06/3 2} 22. Kxf1 Rxf2+ {-10.87/3 2} 23. Kxf2 Qb4 {(1.
... Qb4 2.Rb1) -10.91/2 2} 24. Rg1 Qxb2+ {(1. ... Qxb2+ 2.Qe2 Qxe2+)
-9.80/3 2} 25. Nd2 Na6 {(1. ... Nd7 2.Rg8+ Ke7) -9.57/3 2} 26. Rg8+ Kd7
{(1. ... Ke7 2.a4) -9.73/2 2} 27. Rg7 Ke7 {(1. ... Ke7 2.h4) -9.73/2 2} 28.
Qg5+ Ke8 {-9.79/4 2} 29. Bc6+ Kf8 30. Bd6# 1-0[/pgn]

User avatar
emadsen
Posts: 164
Joined: Wed Apr 25, 2012 11:51 pm
Location: Naperville, IL, USA
Contact:

Re: MadChess 2.0 Released

Post by emadsen » Tue Oct 13, 2015 2:14 am

Your engine is 64-bit, isn't it?
It will run on 64 bit machines, yes.

The engine is compiled for "Any CPU", so the .NET JIT compiler will produce machine code for 32 bit or 64 bit machines. While my engine makes use of 64 bit structures, it's a mailbox engine, not a bitboard engine. It's not specifically engineered for 64 bit architecture.
Sample game at elo 1200.
Thanks for the sample game Ferdinand. MadChess doesn't use an internal book, so it may play the opening strangely when limited in strength and without help from the GUI. I haven't tuned the Limit Strength code. It needs some attention. I should limit dumb king moves in the opening, unless playing at a really weak ELO.

Thanks for the well wishes everyone.
My C# chess engine: http://www.madchess.net

A Distel
Posts: 2537
Joined: Thu Dec 30, 2010 12:33 pm

Re: MadChess 2.0 Released

Post by A Distel » Tue Oct 13, 2015 9:14 am

fern wrote:Great news, Erik
I will play your last engine.
Respect your marriage, be sure to have a friend at the gate of the church waiting in a car with the engine running, you never know...

Better running than chased regards
Fern
Image
Political correctness is a straightjacket.

Dann Corbit
Posts: 8662
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: MadChess 2.0 Released

Post by Dann Corbit » Wed Oct 14, 2015 12:05 am

Thanks.
I get about 1M NPS (64 bit build), which is pretty good for a dotnet engine.

I added a line to ucinewgame to initialize the board:

Code: Select all

        private void UciNewGame()
        {
            // Reset cache.
            _cache.Reset();
            // Reset killer moves and move history.
            _killerMoves.Reset();
            _moveHistory.Reset();
[b]            _board.SetupPosition(_startPositionFen);[/b]
        }
because it makes debugging easier for me (uci->ucinewgame->go infinite).

Congratulations on getting married.

Post Reply