MaxCarlson / StuckFish

A UCI chess engine, based on CPW Engine and StockFish.
2 stars 1 forks source link

Stuckfish error : unable to open file C:/Users/C-60/Desktop/QtPrograms #1

Closed yellow-panther closed 6 years ago

yellow-panther commented 7 years ago

Hello, cf. my thread on CCC forum here: http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=731409&t=65152

Or is QtChess for Windows extra required: https://sourceforge.net/projects/qtchess/files/ ?

MaxCarlson commented 7 years ago

Are you trying to run StuckFish or Advanced Qt Chess? Stuckfish shouldn't have any Qt dependecies anymore since I moved it to the UCI interface. If it's StuckFish the StuckFish .exe in StuckFish/x64/Release should be all you have to run/connect to a UCI chess interface. Do you have a 64bit operating system? If not, that's probably the problem. I can compile a 32bit exe and create a new directory if that's the case!

MaxCarlson commented 7 years ago

Also, just in case you're not aware this is not the engine StockFish. It's really not quite in a state that's ready to be played against. It's quite good, I've just put off adding castling and enpassants for way too long. Castling at least, should be implemented soon.

yellow-panther commented 7 years ago

Well I tried out both executable files of Stuckfish > folders Debug and Release to run on Windows 7 SP1 64bit, but I could test on another part of my harddisk 32-bit executables too (Windows 7 SP1 32-bit that is used for 16-bit-applications like ChessGenius). That´s surely not the problem. QtChess (see above) can be installed but not launched on my computer (APPCRASH-QtChess.exe). But even after uninstalling of QT.exe the problem remains the same: no moves are executed on Arena - I used WinBoard AA Beta http://hgm.nubati.net/WinBoard-AA.zip and ticked on option UCI, but the result was: UCI2WB Stuckfish.exe died on me - By the way: is Stuckfish UCI1 or UCI2 compatible, cf ChessGUI http://www.chess.hylogic.de - and the missing castling feature is irelevant here because the short form can be made soonest during fourth ply by white: e.g. 1.Nf3 ... 2.g3... 3.Bg2... 4.0-0 An enumeration of GUIs cf. http://computer-chess.org/doku.php?id=computer_chess:wiki:lists:gui_protocol_support_list Windows MS 2017 Community is installed too.

MaxCarlson commented 7 years ago

AdvancedQtChess is probably in a not-launch able state right now, if that's what you mean by qtchess? It doesn't have UCI support either. I'm not sure which version of UCI StuckFish supports, but it works out of the box with the arena chess program for me. I followed this UCI interface protocol . Using arena you shouldn't have to use WinBoard then check UCI, there's an option under manage engines that should allow you to select UCI under details - type.

Do you have an AMD CPU? It's very possible I'm using some Intel only hardware features, Stuckfish also is currently compiled with an Intel compiler. I'll Include a MSVS compiled version with a commit here in a second. Also another point, the engine doesn't accept FEN strings at the moment, just new games.

Try just running the exe without arena, and type in "test" into the command line without quotes and let me know what you see if the stuff above isn't applicable.

Edit: I just read far enough down your error post on the forum. I'm positive I can fix that shortly, Sorry I missed the line about rook magics!! Currently they're path-ed to my local address for the files

yellow-panther commented 7 years ago

Stuckfish UCI 2.zip QTChess, yes that is my statement! I am having an i5 Quad core-4 GB RAM and using ChessGUI now - both results (UCI1-UCI2) are attached,cf. debug file Arena: Autodetect appears after embedding Stuckfish, than I selected UCI... but this procedure did not solve the essential problem - WinBoard was originally designed for CECP and uses Polyglot converter to run UCI programs -option UCI works withthe SF8 and Komodo etc. well, why not with Stuckfish ? Stuckfish UCI 1.zip

MaxCarlson commented 7 years ago

That option would probably work, I don't have much understanding of win-board though. In case you didn't see my edit above, I'm almost positive the problem is coming from the magic file address being hardcoded to the path I have them under. I'll change that right now and create another commit

MaxCarlson commented 7 years ago

Alright, I moved the magics file to the release fold and edited the paths. That should fix the error you posted on the forum. Let me know if it does. For the moment, the StuckFish.exe needs to be run with the magics file in the same directory. Sorry about the mix up with the error, it's late here.

yellow-panther commented 7 years ago

Stuckfish release x64 engine just forfeits on time in a 40/2 TC tournament after a few moves, two dll-files are missing to launch the application - Arena-debug and missing.dlls.zip cf attachment including Arena debug-file; opponent is https://github.com/TomHyer/Roc/releases

MaxCarlson commented 7 years ago

If you're playing it against any engine that castles, enpassants, or promotes to anything other than a queen that'll 100% crash crash it right now. Does it crash after those type events or before? Those DLL's need to be included in the release directory to launch it? If so, thanks I'll include them.

Edit: If the opponent castling moves were the problem, I've just given the engine the ability to accept legal castling moves from an opponent. It still can't castle, but it'll accept castling moves fine in the new commit.

yellow-panther commented 7 years ago

In my opinion both .dlls are necessary, otherwise you cannot make a double-mouse click on the relaese x64 edition to open the Windows file - you can download these missing .dlls for free, but why such a cumberstone search? Well, Stuckfish losts on time, not crashes after the opponent´s castling 7.0-0 - perhaps (first time?) the king is in check or before a checkmate in a few moves ; I detected rules infraction after en passant capture of a pawn too

[White "Andscacs"] [Black "StuckFish"] [Result "1-0"] [ECO "C02"] [Opening "French"] [Variation "Advance, 4.c3"] [TimeControl "40/240:40/240:40/240"] [Termination "time forfeit"] [PlyCount "29"] [WhiteType "program"] [BlackType "program"]

  1. e4 e6 2. d4 d5 3. e5 c5 4. c3 Bd7 5. Nf3 h6 6. Bd3 Qb6 7. O-O Nc6 8. dxc5 Bxc5
  2. b4 Bxf2+ 10. Rxf2 Qc7 11. a4 Nxe5 12. Bf4 Nxf3+ 13. Qxf3 Qd8 14. Bd6 Qg5 15. Qxf7+ 1-0

[White "StuckFish"] [Black "ChessBrainVB"] [Result "0-1"] [TimeControl "40/240:40/240:40/240"] [Opening "Scotch"] [ECO "C45"] [Variation "4.Nxd4 Bc5 5.Be3 Qf6 6.c3 Nge7 7.Bc4"] [Termination "rules infraction"] [PlyCount "44"] [WhiteType "program"] [BlackType "program"]

  1. e4 e5 2. Nf3 Nc6 3. d4 exd4 4. Nxd4 Bc5 5. Be3 Qf6 6. c3 Nge7 7. Bc4 d6 8. f3 Qh4+
  2. g3 Qh3 10. Bf1 Qd7 11. Nd2 O-O 12. Kf2 d5 13. Qa4 Qd8 14. Re1 Ne5 15. Be2 dxe4 16. Nxe4 Bb6
  3. Qb5 Nd5 18. Bg5 f6 19. Bxf6 gxf6 20. Qxd5+ Qxd5 21. Nxf6+ Rxf6 22. f4 Bh3 0-1

[White "ChessBrainVB"] [Black "StuckFish"] [Result "1-0"] [TimeControl "40/240:40/240:40/240"] [Opening "French"] [ECO "C10"] [Variation "3.Nc3 Nc6"] [Termination "rules infraction"] [PlyCount "23"] [WhiteType "program"] [BlackType "program"]

  1. e4 e6 2. d4 d5 3. Nc3 Nc6 4. Nf3 Bb4 5. e5 Nge7 6. Bd3 b6 7. O-O Bxc3 8. bxc3 h6
  2. Nh4 Bb7 10. Qg4 g5 11. Nf3 f5 12. exf6 1-0
MaxCarlson commented 7 years ago

Appreciate all the feedback! I've been backpacking but I'll get on these issues now that I'm back.

I didn't realize the dll's were necessary, I'll definitely include them for now on. Are you running StuckFish with time and move controls? I'm not familiar with the output format so I can't tell if that's moves and time, or just time? If there's a move limit that might (probably would) cause some problems as that's not implemented yet, only limits on total game time are implemented.

You're saying that after my latest commit there's still issues with castling/losing on time when someone castles? If so I'll look into it, and probably make adding castling for the engine my priority so I can test it more rigorously.

Enpassants is a known issue, right now there's no code to accept enpassant captures by anyone, and will certainly if not crash the engine, at least cause serious issues in internal board representation and search. I'll probably make this my priority after castling so the engine can play other engines and not have all these problems.

yellow-panther commented 7 years ago

stuckfish 6

stuckfish 5

stuckfish 4

stuckfish 3

stuckfish 2 Hello Max, yes the time control is 40 moves / 4 minutes , then moves 41-80 in further four minutes and so on. Well castling does not lead automatically to an immediate crash of Stuckfish (cf games 1 and 3), in my opinion has the "en passant" problem a higher priority. FIDE rules concerning "en passant" see http://rules.fide.com/images/stories/Laws_of_Chess_2017_-_PB_approved_v4.pdf (section 3.7.4.1 and 3.7.4.2) stuckfish 1

Just rename the .jpeg format into .bmp with a tool like Photofiltre http://photofiltre.free.fr/ - you can use these pictures with interfaces like Arena, ChessGUI or WinBoard

MaxCarlson commented 7 years ago

That would probably cause the losing on time problem then, as move counts aren't implemented, when I run it I just run it with a total time, like 1 minute (any total time should work) tournament games. Alright I'll try and get en passants implemented. The framework is mostly there, I just need to add some things to move generalization and make/unmake moves. I'll post another comment here once either feature is implemented.

Thanks for those pictures, those are hilarious!