Hacker News new | past | comments | ask | show | jobs | submit login

> Do not indicate checks, mates or promotions at all, i.e. leave out the "+," "#," or "=Q".

Some of your screenshots include the +, is this accurate?

If you don't include the =Q you can't encode all games?

I took the screenshot with the "+" before I realized it'd be easier for now to ignore the "+". This is my fault for being lazy, I'll change it. I looked at a database of lichess games (40,000) to convince myself that non-Queen promotions were worth ignoring for the beta. If promoting to a different piece is clearly the better move, I could run a Stockfish check anytime a promotion move is made to assume the player chose the best non-Queen promotion (since otherwise you'd just promote to a Queen in a serious game)

Makes sense, congrats on shipping!

I suppose it's unlikely to happen in a game serious/slow enough that people are bothering to record it on paper and upload it, but I've tricked someone into stalemating me by promoting to a queen before. Long term I don't think assuming people made the best move is the right decision.

Thanks! Definitely, the check and mate things should also be fixed long term. The nice thing is, I was able to put in tons of constraints to improve processing (for example the last two boxes must be a square like e4) if I ignore checks.

You could also 'assume queen until proven otherwise.' eg, if all remaining moves are diagonal, it stays a queen (even if it was really a bishop). And switch to an =K if you see a knight move (or the checkmate requires it to be a knight).

Note that promotions do fit in 5 characters if you omit the equal sign, for example "e8Q" (or "dxe1N")

I also thought of that. Sometimes it is possible by the following moves to know what the promotion is, although sometimes that is not the case, such as if the piece hasn't moved after that, then you might not be able to know what promotion it is if you do not write it down. (Trying to guess isn't very good unless it can be proven from the sequence of moves.)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact