Hello, everyone! I have recently started working on a new UCI engine written in C, which I call “moonfish”, inspired by sunfish. It is in very early stages at the moment, but it seems to be working well enough! I also made a simple TUI that allows people to play against UCI engines, including moonfish, which I called “play”.
Currently, the executables are only for Linux, though moonfish should be able to be compiled on Windows too! The source code for the engine can be found here: https://git.sr.ht/~zamfofex/moonfish
The prebuilt executables can be downloaded from https://builds.sr.ht/~zamfofex/moonfish/commits/main Or currently, more specifically https://builds.sr.ht/~zamfofex/job/1070542 (on the “artifacts” section, you should be able to download the Linux‐specific “moonfish” and “play” executables).
The “moonfish” executable is a UCI engine, which you should be able to select from any UCI GUI. The “play” executable is a UCI TUI, which you can start from the terminal as “./play 15+10 ./moonfish”, for example. (There are other examples in the project’s readme.)
Note that, currently, moonfish ignores time control information, and it will play entirely deterministically, so try to give it a long enough time control for it to decide on moves!
I also plan to make it playable on Lichess eventually, but I have yet to set it up.
I’d love to know what people think about it! I hope it’s interesting enough.
moonfish: a new engine in C (inspired by sunfish)
Moderator: Ras
-
- Posts: 26
- Joined: Wed Feb 16, 2022 6:21 am
- Full name: P. M. Zamboni
-
- Posts: 26
- Joined: Wed Feb 16, 2022 6:21 am
- Full name: P. M. Zamboni
Re: moonfish: a new engine in C (inspired by sunfish)
I have found (and fixed) a fairly significant flaw in the code for NNUE evaluation in moonfish recently! Besides, I made various improvements to it (e.g. I added castling, and made it search in threads), and also set it running on Lichess. So if you had tried it or seen it before, and it seemed a bit lacking, I’d encourage taking another look at it.
Here is the Lichess account for it: https://lichess.org/@/munfish
I have added a transposition table to it (in a different branch), but it didn’t seem to improve it significantly, so I refrained from adding it to the ‘main’ branch too.
If you try it out, please do let me know how it went!
Here is the Lichess account for it: https://lichess.org/@/munfish
I have added a transposition table to it (in a different branch), but it didn’t seem to improve it significantly, so I refrained from adding it to the ‘main’ branch too.
If you try it out, please do let me know how it went!