Myracle GUI

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Max
Posts: 253
Joined: Tue Apr 13, 2010 10:41 am

Re: Myracle GUI

Post by Max »

Thank you Martin for the lightning-fast change and a wonderful holiday!
User avatar
Wilhelm
Posts: 275
Joined: Thu Jan 14, 2016 10:02 am
Location: AUSTRIA, Vienna
Full name: Wilhelm HUDETZ

Re: Myracle GUI

Post by Wilhelm »

I wish you a relaxed holyday and don't dream about weird users and ideas... :lol:
Wilhelm

Image
Ryzen 5900x, 64GB Ram, RTX3080, 1x 4TB NVME, 2x 2TB SSD, 1x 1TB SSD, 1x 2TB HDD, all custom watercooled, Win11 and Win10 Multiboot, Win98/Windows Millennium/WinXP virtual machines for 16bit engines
Retro Chess Chessmaster https://descent.at/files/
User avatar
tapio
Posts: 146
Joined: Thu May 30, 2024 10:33 am
Full name: Adsche Tönnsen

Re: Myracle GUI

Post by tapio »

Wish you nice holidays - you probably read this - admit it, nobody can resist checking the Internet stuff 😁
User avatar
Andres Valverde
Posts: 615
Joined: Sun Feb 18, 2007 11:07 pm
Location: Almeria. SPAIN
Full name: Andres Valverde Toresano

Re: Myracle GUI

Post by Andres Valverde »

Wilhelm wrote: Sat Aug 08, 2026 3:40 am I wish you a relaxed holyday and don't dream about weird users and ideas... :lol:
Wilhelm
How did you dettach the tourney tab ? :-)
Saludos, Andres
User avatar
Wilhelm
Posts: 275
Joined: Thu Jan 14, 2016 10:02 am
Location: AUSTRIA, Vienna
Full name: Wilhelm HUDETZ

Re: Myracle GUI

Post by Wilhelm »

Oh, I didn't. Martin is only dreaming :D
Ryzen 5900x, 64GB Ram, RTX3080, 1x 4TB NVME, 2x 2TB SSD, 1x 1TB SSD, 1x 2TB HDD, all custom watercooled, Win11 and Win10 Multiboot, Win98/Windows Millennium/WinXP virtual machines for 16bit engines
Retro Chess Chessmaster https://descent.at/files/
mar
Posts: 2957
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

I see you guys were having some fun here... 😂


yes I couldn't resist - mostly because VT had several false positive "detections" by anon AVs sharing the same detection engine

so I've uploaded build 114 (rebuilt) that finalizes 3d support (Layout/3D board) as a bonus:
- multipv arrows with numbers in 3d mode
- piece color tint can be set for 3d pieces
- added directional shadow (default on) - note that this is a bit demanding so may cause some lag
in 4k since I can only use a single core to render 3D
Frank Quisinsky
Posts: 7565
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Myracle GUI

Post by Frank Quisinsky »

A quick update for the captain!

Yes, ESET Internet Security Ultimate do it with your build 113.
Build 114 is clear for take-off, wind is good, on runway "must have" without that ESET problem.

Best and thanks!
Frank
mar
Posts: 2957
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

good to know, Frank! ESET here too btw :D
but I guess a local build is always fine, so didn't spot any problem

ok, I made some additional improvements to 3d mode, so... one more...

build 115 is up:
- parallel 3d rendering if core budget permits
- 3d mode arrows and target hints now xray through 3d pieces
- new 3d mode default: 50% tint and no blob shadows

seems VT clean, so I don't expect any problems
User avatar
PHILOCHESS
Posts: 32
Joined: Tue Mar 24, 2020 8:56 am
Location: Lima, Peru
Full name: Robert M. Cuadros

Re: Myracle GUI

Post by PHILOCHESS »

Hi Martin,

I would like to ask how Myracle handles the following situation. If an engine recognizes a dead position in which legal moves are still available and responds with bestmove 0000, would Myracle declare and record the game as a draw? Or would it treat bestmove 0000 as an engine error, an illegal move, a resignation, or a loss?

I would also like to know:

- Does Myracle independently detect dead positions, including those caused by permanent blockades rather than only elementary material cases?
- If the opposing engine does not recognize the dead position and would otherwise continue playing, would Myracle still terminate the game?
- If bestmove 0000 is not the appropriate way for an engine to report this terminal state, what behavior would you recommend?
- How would Myracle record the result and termination reason in the PGN?

Thank you very much for your help.
Eternal happiness does not exist. Only happy moments do.
mar
Posts: 2957
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

hi Robert,

first - I'm not quite sure what you mean by "dead" position. I assume you mean a dead draw?
PHILOCHESS wrote: Fri Aug 14, 2026 10:49 pm I would like to ask how Myracle handles the following situation. If an engine recognizes a dead position in which legal moves are still available and responds with bestmove 0000, would Myracle declare and record the game as a draw? Or would it treat bestmove 0000 as an engine error, an illegal move, a resignation, or a loss?
I'm not sure what you mean by dead position - the GUI will never let the engine search in a terminal position where no moves are possible
bestmove 0000 (or null move) is treated as an illegal move and whoever plays it loses the game

that being said, an engine should always search and output a valid move whenever it's asked to, assuming there is at least one valid move in that position
- Does Myracle independently detect dead positions, including those caused by permanent blockades rather than only elementary material cases?
no blockades, only trivial material configurations. if syzygy is setup, it also detects and adjudicates syzygy win/draw if enabled in adjudication settings
- If the opposing engine does not recognize the dead position and would otherwise continue playing, would Myracle still terminate the game?
once myracle adjudicates a game, it unloads the engines so technically the engine cannot continue playing, if that's what you are asking.
- If bestmove 0000 is not the appropriate way for an engine to report this terminal state, what behavior would you recommend?
bestmove 0000 should ideally never be sent by the engine, like I stated above. an (uci) engine should only send bestmove 0000 if no bestmove was found, i.e. there are 0 legal moves. some engines also send bestmove 0000 if time is up while doing depth 1 search, which I think is actually a bug and it's better to potentially lose on time. not that it matters much, of course.
note that myracle will not ask the engine to search any such position with 0 legal moves

I'm not sure what you mean with terminal state, if by dead position you mean a dead draw, then the engine should simply evaluate the position as 0.0 (along with a move)
- How would Myracle record the result and termination reason in the PGN?
like I said, this depends on adjudication settings. could be draw by insufficient material, a checkmate or a stalemate or draw by tablebase adjudication.
if an engine sends bestmove 0000 in a valid position that has at least 1 legal move, it'll lose on the spot by illegal move