MadChess 1.0 Released (C# .NET Engine)

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 1.0 Released (C# .NET Engine)

Post by emadsen » Thu Oct 25, 2012 5:51 am

I have renamed my chess program. Considering my family name is Madsen, I went with the obvious: MadChess.

MadChess 1.0 is 150 ELO stronger than its predecessor, RumbleMinze 1.0.33. MadChess 1.0 is nearly equal in strength to MicroMax 4.8 and Roce 0.0390 in bullet chess (2 min/game + 1 sec/move). It is slightly weaker than Faile 1.4.

Most of the strength increase is due to incremental move generation (using the C# yield statement) and an incrementally updated list of attackers for any rank, file, upward diagonal, or downward diagonal. This speeds up capture generation and check detection. See discussion in programming forum for details. Some strength was gained by fixing a bug involving storing / retrieving mate scores in the hashtable.

Source code and EXEs available on the Downloads page.
My C# chess engine: http://www.madchess.net

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

Re: MadChess 1.0 Released (C# .NET Engine)

Post by fern » Thu Oct 25, 2012 1:52 pm

Thank you Erik, How strong is Mad....? 2400?

fERN

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

Re: MadChess 1.0 Released (C# .NET Engine)

Post by emadsen » Thu Oct 25, 2012 2:27 pm

About 1950. Perhaps too weak for you :)
My C# chess engine: http://www.madchess.net

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

Re: MadChess 1.0 Released (C# .NET Engine)

Post by fern » Thu Oct 25, 2012 2:29 pm

Not at all, dear Erik, I am becoming, with age, weaker by the day. And in any case a 1950 Elo is strong, expert level player, so ideal for me....

a hug

Fern

User avatar
Jim Ablett
Posts: 1327
Joined: Fri Jul 14, 2006 5:56 am
Location: London, England
Contact:

Re: MadChess 1.0 Released (C# .NET Engine)

Post by Jim Ablett » Fri Oct 26, 2012 8:20 am

Very nice when a new and original engine appears. :)
New projects like this are the lifeblood of the chess engine scene IMO
It's also a good test partner for Alibaba (which I'm trying to bugfix at the moment.)

Many thanks Erik.

Jim.

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

Re: MadChess 1.0 Released (C# .NET Engine)

Post by emadsen » Fri Oct 26, 2012 7:32 pm

Very nice when a new and original engine appears.
New projects like this are the lifeblood of the chess engine scene IMO
Thanks Jim.

The engine certainly is original. A quick glance at the source code confirms it- C# isn't common, OO isn't common, and I must be one of the last programmers who uses Hungarian notation when naming variables & parameters. (I can read code and quickly deduce type & scope without relying on IDE Intellisense or tooltips.)

I come at this with a business programmer's perspective: code readability and maintainability is of paramount importance. Performance doesn't matter- other than avoiding simple mistakes like I/O inside a loop, chatty rather than chunky interfaces, etc. performance really doesn't matter in the business world. What matters is logical correctness and code readability.

So I started this project to answer a question: Can I use programming techniques from the business world to write a strong chess engine? Is the clean, object oriented style of coding "good enough"? Is all this talk that one must use C or C++ merely "received wisdom"? If nothing else I feel my question is original- or at least underrepresented on this forum.
My C# chess engine: http://www.madchess.net

User avatar
geots
Posts: 4790
Joined: Fri Mar 10, 2006 11:42 pm

Re: MadChess 1.0 Released (C# .NET Engine)

Post by geots » Sat Oct 27, 2012 7:04 am

emadsen wrote:I have renamed my chess program. Considering my family name is Madsen, I went with the obvious: MadChess.

MadChess 1.0 is 150 ELO stronger than its predecessor, RumbleMinze 1.0.33. MadChess 1.0 is nearly equal in strength to MicroMax 4.8 and Roce 0.0390 in bullet chess (2 min/game + 1 sec/move). It is slightly weaker than Faile 1.4.

Most of the strength increase is due to incremental move generation (using the C# yield statement) and an incrementally updated list of attackers for any rank, file, upward diagonal, or downward diagonal. This speeds up capture generation and check detection. See discussion in programming forum for details. Some strength was gained by fixing a bug involving storing / retrieving mate scores in the hashtable.

Source code and EXEs available on the Downloads page.




I assume you meant 3.5 .net OR LATER. The last Intel i5 Win7 system I bought 2 weeks ago has nothing earlier than 4.0 or 4.5- I would have to look to be sure which. Anyway, glad you are on board here and all the best.


gts

User avatar
geots
Posts: 4790
Joined: Fri Mar 10, 2006 11:42 pm

Re: MadChess 1.0 Released (C# .NET Engine)

Post by geots » Sat Oct 27, 2012 7:33 am

I am running your engine right now in a few blitz games ag. Marvin which won Group 14 of my Mega Freeware Roundup- with over 200 freeware engines playing. I wish it had come out in time to use it there- but I will in the future. As it loads smoothly and quickly into Fritz 11 and Fritz 13 chessbase guis. A good sign. However I am sure you are aware that, as I see the MBs climbing a bit- it may use 64MB hash- or at least close. And you leave me no way to adjust it higher, being UCI. I would really prefer 128MB hash. And in a perfect world- it would obey my commands inside the gui and the hash would change to whatever I want.

No problem running from 50 to 64MB hash-these were just some thoughts. Good luck.

gts

User avatar
geots
Posts: 4790
Joined: Fri Mar 10, 2006 11:42 pm

Re: MadChess 1.0 Released (C# .NET Engine)

Post by geots » Sat Oct 27, 2012 7:41 am

geots wrote:I am running your engine right now in a few blitz games ag. Marvin which won Group 14 of my Mega Freeware Roundup- with over 200 freeware engines playing. I wish it had come out in time to use it there- but I will in the future. As it loads smoothly and quickly into Fritz 11 and Fritz 13 chessbase guis. A good sign. However I am sure you are aware that, as I see the MBs climbing a bit- it may use 64MB hash- or at least close. And you leave me no way to adjust it higher, being UCI. I would really prefer 128MB hash. And in a perfect world- it would obey my commands inside the gui and the hash would change to whatever I want.

No problem running from 50 to 64MB hash-these were just some thoughts. Good luck.

gts


My mistake. It actually does climb to 128MB hash, or very close- but that is by close to move 100, as it starts at about 40MB and slowly climbs. Problem is- 99% of its games are not going to last long enough for it to reach there.


gts

User avatar
geots
Posts: 4790
Joined: Fri Mar 10, 2006 11:42 pm

Re: MadChess 1.0 Released (C# .NET Engine)

Post by geots » Sat Oct 27, 2012 7:54 am

Very little impresses me any longer, and nothing excites me- but your engine does. In the 4+2 blitz I played with it ag. Marvin, which won Group 14- and is stronger than Micro-Max- your engine DESTROYED Marvin. I admit it was only 8 or 9 games- which may not mean a lot. But it was a pleasure to watch. And once it gets to around 110 or 120MB hash, it stays there. Even at the start of another game. So you are in good shape there.

A request- how about a logo or 2?!


gts

Post Reply