lichess.org
Donate

Load UCI Engine Instead of Computer Analysis

John Bartholomew played a standard game on LiChess for his YouTube series today and noticed that it was a downside that you can't simply load a UCI engine and use it during analysis instead of the "Request Computer Analysis" function. Is this possible over LiChess (let's say the user could specify a path to a UCI engine on his hard drive), or would this be something that's only implementable via a piece of software installed on your computer?
You can download the game as a pgn and then use it as the input for UCI analysis.
I see your question properly now... You want lichess type analysis but using better resources than the quick analysis provided by lichess....

I do not have answer for that.
I've seen this done on ChessTempo (if you pay their subscription fees), but it relies on a Java plugin. For the unacquainted, this is a terrible hack and it's something we simply won't do. Not to mention the security risks.

If we were to allow client-side computer analysis embedded in lichess, the current best solution is to use a javascript port of the stockfish engine (github.com/exoticorn/stockfish-js).

Naturally the engine is a bit weaker compared to the compiled version of stockfish at an estimated 1/3 the speed. So if you don't like taking a performance hit, downloading the pgn and running analysis on a native interface of your choosing will always be the best solution.

But it might be nice for general use. I can't make any comment on whether this will be implemented in the foreseeable future.
#5, won't the performance hit also mean that running it locally will make it weaker than the running the engine on the server?

As for 'finding a path to the engine on your hard drive', it's basically as Clarkey said in #5. It's not feasible. You'd need to create a plugin, and the NPAPI is about to be fully deprecated anyway... basically, the engine will have to be locally-run JavaScript, and there's hardly any good JS engines out there. There is absolutely no getting around that.

And the truth of the matter is that most people want this feature to run Houdini or Rybka, not some rubbish JS engine someone put up on GitHub and forgot about. So I think that it's not really possible to fulfill this request with web technology in the first place. Engines exist, but they must be in JavaScript -- which is seriously lacking in chess engines, strong or not.

* * *

#6, it's actually pretty decent for most games. It runs on Stockfish, the strongest engine in the world. However, it runs it for only 2 seconds. It still gives great results, but it's not Stockfish at its strongest by any means.
The analysis LiChess offers is perfectly acceptable if that's the way you like to perform it. I myself (and John in his videos) like to move around the pieces, check the thoughts I had during the game, analyze myself and then check it with the computer, and check various "what-if" scenarios, and that's not possible using the current system, which doesn't allow any real interaction. That's the issue there.

@Clarkey - Would not mind the performance hit, as the analysis I'm doing is relatively rudimentary anyway. It's more about being able to interact with the computer in real time and check things in that manner, which is not currently possible.
The functionality TonyRo is requesting is really needed. Today's computer analysis is nice as a blunder check, but it is not really analysis.

This feature is one of the few advantages of ICC software over Lichess.

The performance hit associated with using a JavsScript engine would be perfectly acceptable.
No it wouldn't. There is no reasonable JS engine.
The JS port of stockfish is a monstruosity, it's unmaintained and nobody uses it. The author admits it is 6 times slower than native stockfish, on chrome. And it's very much outdated.

As websites cannot run native code on your computer, the only solution is server-side, and can be considered if we find a way to get more A.I. server donations.

This topic has been archived and can no longer be replied to.