MadChess 1.0 Released (C# .NET Engine)
Moderators: hgm, Harvey Williamson, bob
Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
MadChess 1.0 Released (C# .NET Engine)
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.
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
Re: MadChess 1.0 Released (C# .NET Engine)
Thank you Erik, How strong is Mad....? 2400?
fERN
fERN
Re: MadChess 1.0 Released (C# .NET Engine)
About 1950. Perhaps too weak for you 
My C# chess engine: http://www.madchess.net
Re: MadChess 1.0 Released (C# .NET Engine)
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
a hug
Fern
- Jim Ablett
- Posts: 1327
- Joined: Fri Jul 14, 2006 5:56 am
- Location: London, England
- Contact:
Re: MadChess 1.0 Released (C# .NET Engine)
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.
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.
Re: MadChess 1.0 Released (C# .NET Engine)
Thanks Jim.Very nice when a new and original engine appears.
New projects like this are the lifeblood of the chess engine scene IMO
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
Re: MadChess 1.0 Released (C# .NET Engine)
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
Re: MadChess 1.0 Released (C# .NET Engine)
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
No problem running from 50 to 64MB hash-these were just some thoughts. Good luck.
gts
Re: MadChess 1.0 Released (C# .NET Engine)
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
Re: MadChess 1.0 Released (C# .NET Engine)
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
A request- how about a logo or 2?!
gts



