You are browsing as a guest. Sign up (or log in) to start making projects!

7h 57m 31s logged

Devlog 12

I really don’t like going this long without posting a devlog, but debugging move classifications was really painful.

I encountered an issue where if you went through many moves very quickly, it resulted in classifications not working properly since stockfish could only give evaluations for the current move. This is not ideal since most classifications require checking the evaluation drop, which requires 2+ points of evaluation.

I tried many things, first I tried running 3 different stockfish web workers inside the stockfish hook, which caused a couple issues and was not very performant. Next I tried using a single worker and passing in 3 positions, however since the web worker is single threaded it didn’t really work all that well. I also tried using a queue to run each instance one at a time, but that got complex quickly and still did not work.

I also wanted to merge the classification and evaluation hooks, which created a 500 line mess of a file which was a nightmare to maintain.

Finally, I decided to revert all my changes and keep the hooks separate and simple, and created 3 instances of evaluation hooks within my classification hook. This was much cleaner and actually worked really well, so I wasted 8 hours making things too complex.# Devlog 12

I really don’t like going this long without posting a devlog, but debugging move classifications was really painful.

I encountered an issue where if you went through many moves very quickly, it resulted in classifications not working properly since stockfish could only give evaluations for the current move. This is not ideal since most classifications require checking the evaluation drop, which requires 2+ points of evaluation.

I tried many things, first I tried running 3 different stockfish web workers inside the stockfish hook, which caused a couple issues and was not very performant. Next I tried using a single worker and passing in 3 positions, however since the web worker is single threaded it didn’t really work all that well. I also tried using a queue to run each instance one at a time, but that got complex quickly and still did not work.

I also wanted to merge the classification and evaluation hooks, which created a 500 line mess of a file which was a nightmare to maintain.

Finally, I decided to revert all my changes and keep the hooks separate and simple, and created 3 instances of evaluation hooks within my classification hook. This was much cleaner and actually worked really well, so I wasted 8 hours making things too complex.

0
4

Comments 0

No comments yet. Be the first!