FitzOReilly / fatalii

Chess engine
MIT License
17 stars 0 forks source link

compiled v0.2.0 does not run in CuteChess #90

Closed tissatussa closed 2 years ago

tissatussa commented 2 years ago

hi, i successfully cloned and compiled your v0.2.0 on Xubuntu 21.10 but it does not run in CuteChess (v1.2.0) .. there's no error, Fatalii just uses all its time but does not give a move. I tried several time settings and ponder on/off but nothing helps .. however, in Scid this version runs fine !?

FitzOReilly commented 2 years ago

Hi, and thanks for bringing that up! I haven't used CuteChess yet, but wanted to check it out anyway. I'm going to look into it. Also I'm going to change the version number since it's a development version for now.

tissatussa commented 2 years ago

i think CuteChess is a good reference and many people use it .. an engine should run fine in CuteChess .. sometimes i encounter an engine "lost on time" or "disconnects", but CuteChess should not freeze .. maybe you did not properly implement the UCI protocol - and Scid might be "friendly" :-) Btw. v0.1 does run in CuteChess but has some quirks.

FitzOReilly commented 2 years ago

I just tested it. For me neither v0.1 nor the current development version worked. There are still a few options of the UCI go command missing. Cute Chess sent the command "go wtime 121000 btime 121000 winc 1000 binc 1000 movestogo 40" and Fatalii couldn't handle "movestogo". I created a new branch + pull request that fixed the issue for me. Can you check if it works for you, too?

This engine is still in early development. I'm planning to get it fully UCI compliant until the next release, though. :-)

tissatussa commented 2 years ago

i don't know how to download / clone such version, can you point me to it ? Or give a link to its source (ZIP) ?

FitzOReilly commented 2 years ago

fatalii.zip Here is a link to the file

tissatussa commented 2 years ago

thanks! Indeed this version works in my CuteChess ! But if i want the source code, to compile this dev version, can you tell me how to download / clone that? I'm not familiar with GitHub, using branches and "pull requests" .. setting the branch version to some other than "main", i still get the main version when cloning : the URL is the same ? https://github.com/FitzOReilly/fatalii.git Btw. Your README states git clone git@github.com:FitzOReilly/fatalii.git but i get an error then :

$ git clone git@github.com:FitzOReilly/fatalii.git
Cloning into 'fatalii'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

normally it's like git clone https://github.com/ruicoelhopedro/pawn.git !?

FitzOReilly commented 2 years ago

If you go to https://github.com/FitzOReilly/fatalii and click on the "Code" button, you can see different options. You can clone the repo via HTTPS (git clone https://github.com/FitzOReilly/fatalii.git) or SSH (git clone git@github.com:FitzOReilly/fatalii.git). To use SSH, you need to add a key first. It's described here: https://docs.github.com/en/authentication/connecting-to-github-with-ssh

To switch branches, just clone the repo normally, and then in the project folder, you can switch branches with git switch <branch_name>. To make sure that you have the latest changes, you can also do a fetch and a pull, like this:

git fetch --all
git switch uci_go
git pull

Now you should be able to run cargo build --release/cargo run --release. To go back to main, just type git switch main.

Hope that helps :-)

tissatussa commented 2 years ago

Perfect, thanks! I followed your instructions and i managed to compile that 'uci_go' version and it runs fine in CuteChess.

you really helped me by writing those git commands, other users might also benefit from this info! I always struggled with this, normally i only clone and compile main versions ..

Btw. why should anybody want to use that key method by SSH on github ? How can security be a problem when managing / downloading code ? Most programmers do not offer this method, as far as i see.

FitzOReilly commented 2 years ago

Nice, glad it helped!

Security is more an issue when uploading code. So it makes sure that the person who changes something really is the one they pretend to be. But there are others who can answer that question better than me.