Blunder Free Chess – visualize which squares are attacked
taonexus.com
taonexus.com
Also, those colors are horrible to see. And it's really hard to see which piece the AI is moving each turn.
After someone gave me feedback on lichess, I tried a heatmap instead (with green for white and red black), I'm not sure it's an improvement but you can see if you like it any better: https://taonexus.com/blunderfreechess2.html
One more improvement. There needs to be some way to see the move the computer made. If you blink, a piece is somewhere else, and you have no idea what happened.
I like the concept of overlaying visualizations on chess to help people understand what's going on, but it will take a lot of playing with what to show and how to show it to make it useful rather than annoying.
Also, sometimes you see a red square around a piece, but it's not clear to me why. Is it present only when it is unprotected and an enemy piece is looking at it? That is kinda already too late, perhaps every unprotected piece could have the square around it.
And please give proper indication of what was the last move. I know most games will do this by coloring squares and you can't do this here, but having a way would be great, even if it was listing the move with chess notation below the board.
Also the pieces are a little weird to distinguish. I found myself trying to move Black's bishop twice.
Why not take this further to count up the simple point value of attacking/defending pieces, so e.g. a pawn that is attacked by a pawn but defended by a pawn won't show red, whereas an attacked but undefended knight would show '-3 redness'. Also if this was just briefly 'flashed' after the opponents move, or after you reopen a browser tab, it might serve as a nice reminder of the positional situation without interfering with regular/plain board visualisation, and without making the player reliant on it.
I had a situation where my queen was being attacked by a bishop, and the board showed a "safe" space to move my queen, but that queen would have still been attacked by the bishop along that diagonal. Not sure how you solve that, maybe when clicking on a piece, recalculate the board as if the piece is no longer there?
Wonder if simple fork, skewer, or attack counting threats could also be highlighted in some way. I suppose at a certain point it's just too visually busy and the tactics get way deeper than the surface level notions and end up being a distraction, but could be fun exploring an opening or previous game and seeing the "obvious" threats you might not have seen when playing
Thanks!
>I had a situation where my queen was being attacked by a bishop, and the board showed a "safe" space to move my queen, but that queen would have still been attacked by the bishop along that diagonal.
Are you sure? Can you send a screenshot? Any place the opposing bishop attacks would have a dot on it. (The green highlighting when you pick up a piece shows all legal moves, not just safe moves.)
The square to the bottom right of the Queen isn't "currently" visible to the bishop, but if the Queen moved into that square they'd still be killed by the bishop.
What system is it using for the “play with computer”? Is it custom or one of the available chess engines?
I wonder if there is a way to alter the difficulty of the computer program.
/*************************************************************
* Computer Move (random)
*************************************************************/
function computerMove(){
if (gameOver) return;
let wasWhite=whiteToMove;
let moves=generateLegalMoves(wasWhite);
if (moves.length===0){
detectGameState();
return;
}
let randIndex=Math.floor(Math.random()*moves.length);
let move=moves[randIndex];
makeMove(move);
renderBoard();
detectGameState();
if (!wasWhite){
fullmoveNumber++;
}
}There's chess-people's experience of the game, then there's how every single other person, including those who play it quite a bit, experiences the game. A "normal game" in the sense of the average of all games played, maybe that features very few basic blunders, just because chess people play so very many games (though huge numbers of people play a lifetime count of like ten to one thousand games, and never move out of basic blunders being pretty common, so I wouldn't bet on that describing an average game, but maybe) but the average person's experience of the game is that it's entirely about basic blunders, like, that's the main thing on which the game turns.
But even when playing with novices.kids, the aspect of double-attack/defense appears quite often. It's very basic and common consideration really.
The main problem is that I only win by having my extremely-stupid blunders overlooked and then spotting my opponent's extremely-stupid blunder, so if the computer never misses my boneheaded blunders and also almost never commits any exploitable-in-one-or-rarely-two-moves blunders of their own, I can't possibly win, zero chance.
It reminds of a reversi I made for a school projects: users liked it because the computer was so bad that they could win..
I was investigating whether AI can write a complete game of chess in one shot, I livestreamed that here[1] and the answer is no (conclusion: major rules are there, but buggy), but I was able to get it into a working state after many hours of back and forth.
The original implementation froze whenever a pawn got to the seventh rank, and allowed castling out of and through check (illegal), it was very buggy.
Iterating with the AI, I added tons of stuff like drag to move pieces, mobile support, and, yes, computer play. When that was finished (it is available at: https://taonexus.com/chess.html ) I had it make this blunder-free variant and it got it pretty fast.
What happens is that the squares doesn't stay square like in your screenshot, but varies in size depending on which pieces are in that row. The height of a row varies, but the width of the columns always stays the same.
Edit: It is often not the lowest row that get hidden, often e.g row 4 and 5 get so low that you can't put any pieces there.
Disclaimer, I'm terrible at chess.
Maybe like a tourist who notices one interesting building or sign. The local doesn't notice anything, just like "cool, I remember this place," except then they notice if one small detail changes compared to the last time they visited. So in a sense they "saw" way more than the tourist.
I am also terrible at chess. Curious if this is anything like how the experts experience it.