ccbridge-arena
ccbridge-arena copied to clipboard
Dump more information to 'position' command.
First, thank for your cross platform interface. I implement a chinese chess engine without graph interface. This interface is nice so I don't need to implement another graph interface which support UCI/UCCI. It saves me a lot of time.
But some sad things are that it is a lack of some important functions. The chinese chess engine must to know the game move history in order to deal with perpetual pursuit and sixty-move rule. But this interface only show the current board fen. The output result may be influenced by it. Others, It must end if it occur threefold repetition. Adding more information to 'position' command can solve this issues. Hope that you could fix the issues.
Hi @CGLemon
re: I implement a chinese chess engine without graph interface.
- congrats!
re: This interface is nice so I don't need to implement another graph interface which support UCI/UCCI. It saves me a lot of time.
- being "nice" is probably the only benefit of this UI) It's not really a good idea to use it for actual testing. I made it mostly for fun and I think you're taking it a bit too serious) For testing I'd recommend either Winboard/Xboard (it's a bit of a pain to connect the engine but it's worth doing because winboard can run matches and tournaments, rating calculation, etc.) or LiGround (search it on github) which is built with electron js as well.
re: But some sad things are that it is a lack of some important functions.
- It's a kind of a general issue of my projects - they all are literally didactic proof of concept implementations. Ones the concept has been proven I lose interest to the further development. I do it to serve as the bases for people's understanding and for solving some personal stuff. It's not intended to be used the way you want to use it. re: The chinese chess engine must to know the game move history in order to deal with perpetual pursuit and sixty-move rule.
- yes, you're right, same for international chess engines. However I dropped 50 rule move for simplicity.
re: Hope that you could fix the issues.
- I can but I'm busy with some commercial stuff now but the main reason is that I'm not really interested in doing that. That's a bit of a problem with free personal projects - author is doing them for himself mainly. Others can use it as well but with limitation defined by the initial project goals. I don't dare to write world class software) And I'm not interested in that as well. There are lots of fantastic free open source projects like say winboard or liground. The problem I see is a great lack of truly didactic materials - people around are so damn smart that no one can explain complicated things in a simple way and with a simple code. I'm taking this niche. All I do now is something I wish I could have when I just started with chess programming a few years ago.
Possible workaround:
- Write your own GUI from scratch (it's fun experience!)
- Fork ccbridge arena and implement what you feel lack of
In the latter case feel free to make a pull request. If your implementation won't violate the distinctness of the project I will accept it. Code is very simple, clear and commented. It's intentionally stands far away from "best practices" in favor of the simple enter threshold.