Closed respel closed 3 years ago
Hi,
NodeCounter is not being maintained and can be deleted. The reason Perft is throwing is probably because you need to set EngineConstants.GENERATE_BR_PROMOTIONS=true to enable the generation of bishop- and rook-promotions. This value is being checked by Perft.
Nice that you are rewriting chess22k in C#! May I ask why you've choosen chess22k? And did you make any progress yet? Maybe you could make the C# sourcecode opensource as well :)
In the past I've also looked into this and one thing I noticed is that C# doesn't have built-in methods for Long.bitCount() or Long.numberOfTrailingZeros(). Therefore my assumption was that it would not be as fast as in Java.
These are some features I would like to implement which are currently not possible in Java:
NodeCounter is not being maintained and can be deleted. The reason Perft is throwing is probably because you need to set EngineConstants.GENERATE_BR_PROMOTIONS=true to enable the generation of bishop- and rook-promotions. This value is being checked by Perft.
This solves it.
Nice that you are rewriting chess22k in C#! May I ask why you've choosen chess22k? And did you make any progress yet? Maybe you could make the C# sourcecode opensource as well :)
My main aim was to become more proficient at C# itself and thought (re)writing a chess engine could be a good way to do that. I tried first with an engine called "demolito"(written in C) but found out that I was getting bogged down with too many chess engine specific details, thus defeating my initial purpose of learning the language. chess22k, written in Java, provided a good sweet spot for me.
Well, I am done with the initial rewrite but it's not stable and crashing a lot. I'll open source it once those are resolved. I can share with you though if you wanna have a look.
In the past I've also looked into this and one thing I noticed is that C# doesn't have built-in methods for Long.bitCount() or Long.numberOfTrailingZeros(). Therefore my assumption was that it would not be as fast as in Java.
They have this stuff now.
These are some features I would like to implement which are currently not possible in Java:
I certainly will be interested in adding this stuff :)
Closing this as the issued has been resolved for me :)
Hi, I was rewriting chess22k in C# and noticed that tests
NodeCounter.java
andPerft.java
are throwing. Is that expected?