
FEN: O Código Secreto do Xadrez
Uma das coisas legais de se fazer na internet é compartilhar experiências íntimas e pessoais com estranhos anônimos que sem dúvida alguma estão ligando a mínima pra você, no xadrez não é diferente.
Um jeito prático de fazer isso é entrando num clube online e abrir tópicos no fórum, pode falar de qualquer coisa, inclusive assuntos sem relação com xadrez.
Não que eu seja tão ativo, gosto mais de ler o que o pessoal posta e no máximo comentar alguma coisa, tirar dúvidas e pedir ajuda, mas vez em quando posto minhas partidas também – leia-se minhas capivaradas.
Feita essa introdução bizarra e nada amigável, o que quero falar é sobre um detalhe legal chamado FEN que me passou batido por muito tempo.
ctrl+c ctrl+v A Notação Forsyth-Edwards ou FEN (do inglês, Forsyth-Edwards Notation) é um método de notação utilizado para descrever uma determinada posição de peças em um tabuleiro de xadrez, sendo uma adaptação do sistema de notação Forsyth, criada por Steven J. Edwards, para o uso em computadores. Wikipédia.
Quando se vai compartilhar uma partida online, seja do chess.com ou no lichess.org, o site vai te dar o PGN¹ completo com todas as informações, jogadores, rating, lances (a parte que interessa), resultado, etc. e bem acima do PGN ele dá o FEN da posição, que eu ignorava totalmente por achar que era algum código secreto criptografado que só computadores conseguiam entender.
Figura 1 lichess dando o FEN
FEN 4r3/k7/1p5b/8/1PP2P1p/3p4/P2N3n/R2Q2K1 b - - 1 39 (diaboéisso?)
Eu estava muito enganado.
Em uma tarde de tédio e procrastinação resolvi pesquisar que diabo de código estranho era aquele e me surpreendi com a simplicidade e engenhosidade do infeliz.
Basicamente estamos olhando pra uma “impressão” do tabuleiro, linha por linha, mas em forma de texto.
Enquanto um diagrama de xadrez é ‘impresso em 2D’, o FEN transforma esse 2D em “1D”, uma linha de texto compacta. Totalmente leve e unidimensional, achei fascinante!
Figura 2 Um diagrama em 2D. Estou de pretas. Abandonei aqui pra tentar recuperar um pouco da minha dignidade.
Aqui o mesmo diagrama impresso em 1D:
4r3/k7/1p5b/8/1PP2P1p/3p4/P2N3n/R2Q2K1 b - - 1 39
Ocorre que, na verdade, ele é lido dessa forma:
4r3/ k7/ 1p5b/ 8/ 1PP2P1p/ 3p4/ P2N3n/ R2Q2K1 b - - 1 39 |
O que não ajuda muito a entender, mas facilita quando se considera que cada letra representa uma peça no tabuleiro: R –Torre; N- Cavalo; B-Bispo; K-Rei; Q-Dama; P-Peão;
Minúsculas são pretas, maiúsculas são brancas. Os números representam casas vazias consecutivas. Barras sinalizam o fim da linha, é o ponto parágrafo da notação. (a notação tem que ser em inglês para os sites entenderem).
No exemplo acima: 4r3/ = 4 casas vazias, torre negra, 3 casas vazias.
k7/ = rei preto, 7 casas vazias;
1p5b/ = 1 casa vazia, peão preto, 5 casas vazias, bispo preto. E assim em diante. [o b - - 1 39 explico depois, se me lembrar]
A impressão é feita de forma bem intuitiva, de cima pra baixo, da esquerda pra direita. Começando na linha 8, coluna A e terminando na linha 1, coluna H.

Pra ilustrar melhor, aqui a posição inicial as peças no xadrez clássico:

E aqui o FEN da posição inicial rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w ̶ ̶K̶Q̶k̶q̶ ̶-̶ ̶0̶ ̶1̶ ̶ [outra coisa que explico depois]
Notem as 4 linhas vazias do meio to tabuleiro representadas por 8/8/8/8/.
Assim como o computador, também podemos facilmente “calcular” o FEN na mão mesmo, e foi isso que me deixou fissurado. Não chega a ser exatamente um cálculo, você está literalmente só copiando e colando as informações, no máximo vai ter que somar as casas vazias consecutivas.
Quando vejo uma posição, geralmente no Youtube ou no twitter, corro pra calcular o FEN.
https://twitter.com/chesscom_pt/status/1544151073987887106

Nessa posição, o FEN seria r4rk1/p6p/1n3pB1/7Q/3q3P/7R/5PP1/1T3K2 b
(b= black/pretas jogam. w= White/brancas jogam.)
Com esse código em mãos corro pro editor de tabuleiros no lichess ou chess.com e introduzo no lugar correspondente e tenho esse resultado.

Computadores são burros. Tanto quanto eu.
Como eu disse no inicio, a notação tem que ser em inglês para os computadores entenderem, mas às vezes esqueço e coloco um “C” pra cavalo no meio, ou “D” pra dama, e o computador burro não faz idéia do que a anta aqui quer dizer e mete uma tela de erro bem na minha cara.
E lá se vai eu procurar onde tá o bendito erro, demoro pra caramba pra achar [o computador não diz onde tá o erro, ele sabe, mas não diz].
Talvez isso explique porque fiquei tão fissurado nisso, pois mesmo simples, as vezes pra mim isso é um quebra cabeça mais difícil que o puzzle de xadrez que eu tinha que resolver, no caso acima não resolvi, furei um ‘Dama h5 xeque’ na sequência correta e não consegui achar o mate, mas divago.
Essa notação precisa de alguns artifícios pra conseguir funcionar com todos os diagramas possíveis, diferente de um PGN que dá todo histórico da partida desde o lance 1, o FEN só te dá uma fotografia de um momento da partida, um frame de um filme inteiro, com ele você não sabe o que aconteceu antes, e eventualmente isso é vital pra saber se um determinado lance futuro é legal ou ilegal.
Roques disponíveis
In dúbio pro roque, como diz GM Rafael Leitão.
Um movimento especial no xadrez que visa proteger o rei. Recomenda-se fazer o quanto antes. A menos que você seja muito bom no jogo e assuma o risco de atrasar o roque.

Mas essa jogada tem vários critérios que dever ser obedecidos para ser possível (legal), segue a listinha:
O rei não pode ter se movido.
A torre não pode ter sido movida.
O rei não pode estar em xeque.
O rei não pode entrar em xeque ao fazer o roque.
Nenhuma peça pode estar entre o rei e a torre.
Destaque para as duas primeiras. As demais é possível verificar facilmente num diagrama, mas essas duas não.

Olhando pra esse diagrama, não tem como dizer só por ele se o roque é legal ou não, pois não sabemos se a torre ou o rei foram movidos antes e depois retornaram para a casa inicial.
Pra resolver isso foi adicionado o ‘KQkq’ no código
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq
O ‘KQ’ indica que o roque para as brancas ainda é possível na ala do Rei (K) e da dama (Q), enquanto o ‘kq’ indica o mesmo para as pretas.

Se o código indicar apenas ‘Kq’, então o roque para as brancas só é possível na ala do rei e das pretas na ala da dama.
Note que o código não fala que o roque pode ser feito na jogada seguinte, ele informa apenas sobre as duas primeiras regras, as demais tem que ser observadas in loco.
A Casa de en passant (leia em francês fazendo biquinho)
O en passant é um jutso proibido no xadrez que captura uma peça do adversário em uma casa onde ela não está, passou por lá no lance anterior ao seu, mas não está mais lá.

Mas, tal como o roque, pra essa técnica profana funcionar alguns requisitos obrigatórios tem que ser atendidos.
Tem que ser o primeiro lance do peão a ser capturado, único momento em que ele pode andar duas casas de uma só vez.
O lance de captura tem que ser feito imediatamente ao salto duplo do peão fugitivo, se fizer um lance diferente, não poderá mais fazer a captura en passant na próxima jogada, mesmo que o fugitivo permaneça no lugar.
O peão fugitivo que fez seu salto duplo tem que parar ao lado do peão que vai fazer a captura (só um peão pode fazer esse tipo de captura);
̶F̶a̶z̶e̶r̶ ̶o̶s̶ ̶s̶e̶l̶o̶s̶ ̶d̶e̶ ̶m̶ã̶o̶ ̶c̶o̶r̶r̶e̶t̶o̶s̶ ̶e̶ ̶t̶e̶r̶ ̶c̶h̶a̶c̶r̶a̶ ̶s̶u̶f̶i̶c̶i̶e̶n̶t̶e̶;̶

Olhando pra esse diagrama, não tem como dizer só por ele se a captura en passant em f6 é legal ou não, pois não sabemos se alguma peça foi movida antes, se o peão preto de f5 estava em f4 no lance anterior, etc, etc. .
A solução pra esse problema é colocar no FEN se tem alguma captura en passant disponível informando a casa de en passant, desse jeito:
6k1/6pp/8/4Pp2/8/1P6/5PPP/6K1 w - f6
O “f6” informa que o branco pode tomar em f6 e por lógica, concluímos que é o peão preto que está em f5, e quem mais seria? F6 é uma casa vazia.
Agora sabemos que podemos tomar em passant.
Contagem de movimentos e lances
FEN posição inicial:
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
O ‘- 0 1’ no final indica duas contagens de lances que são feitas durante uma partida clássica, a primeira, “indica quantos movimentos foram executados depois da última captura ou da última movimentação de peões” (tk Wikipédia), isso é necessário, pois quando esse número chega em 100, a partida é declarada empatada (é isso ou matar os espectadores de tédio). Ele é resetado sempre que um peão avançar ou alguma peça é capturada.
O segundo número indica quantos lances totais já foram feitos desde o inicio da partida. Pra que serve isso eu não sei.
Detalhe importante, movimentos são diferentes de lances. A contagem de lances é feita aos pares, exemplo: brancas fazem seu movimento jogando ‘Torre e4’ (Te4) e pretas respondem com ‘Cavalo f6’ (Cf6), na contagem será computada ‘+2 movimentos’, porém só ‘+1 lance’, pois o lance aqui é o par Te4 Cf6.
Ou seja, quando a contagem de movimentos [o primeiro número] chega em 100, temos 50 lances sem avanço de peão ou capturas de peças, e, pela regra oficial, a partida é declarada empatada, embora isso seja algo raro de acontecer.
Sintaxe do código
Pelo que pesquisei, experimentei e entendi até agora a sintaxe do código é a seguinte:
<linha8/><linha7/><linha6/><linha5/><linha4/><linha3/><linha2/><linha1/> <vez de jogar> <roques disponíveis> <casa em passant> <contagem condicional de movimentos> <contagem total de lances>
Mistérios
Fiquei fascinado por esse código engenhoso, mas ainda sim danado de simples, ainda estou pesquisando e fazendo algumas experiências pra entender melhor como funciona.
Como exemplo criei essa posição fictícia com ambos os roques disponíveis e uma captura en passant: r3k2r/pppp2pp/5p2/3Pp3/8/8/PPP1PPPP/R3K2R w KQkq e6 0 3

Algumas coisas nele ainda são um mistério pra mim.
Hifens e hifens duplos
Aparentemente são colocados quando todos os roques de brancas e negras não estão mais disponíveis. Mas é uma regra que ainda não entendi por completo. Pois na posição inicial o computador coloca um hífen. Em algumas posições claramente não tem nenhum roque disponível, mas aparece um único hífen lá. Já tive erros em FEN só por causa de hifens que coloquei.
Contagem de lances
FEN posição inicial:
rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
Por que a contagem inicial de lances, na posição inicial, com tudo resetado, é – 0 1?
O chess.com e o lichess.org colocam no FEN da posição inicial a contagem total de lances totais em 1, dessa forma quando as pretas fazem seu primeiro movimento, a contagem total é incrementada em +1 e o total sobe para 2.
Isso não faz sentido pra mim, pois, após o primeiro movimento das brancas e pretas, temos um par de movimentos formando um lance. Alguma coisa eu perdi nessa conversa.
Enfim, mistérios.
Conclusão
Apesar das dificuldades dos computadores em lidar com algum dado fora da sintaxe do código, humanos conseguem lidar facilmente com isso devido à capacidade de pensamento lateral –de alguns membros- da nossa privilegiada espécie, inclusive com a notação em português, ou misturada com português e inglês, etc.
É possível que um enxadrista mais experiente olhe pra um código desses e conseguia decifrar ele num diagrama mental, numa vibe Gambito da Dama (mas sem as drogas), vide os mutantes que jogam partidas simultâneas às cegas.
Se identificar algum erro favor [e̶s̶f̶r̶e̶g̶a̶r̶ ̶n̶a̶ ̶m̶i̶n̶h̶a̶ ̶c̶a̶r̶a̶] coloque nos comentários, como disse, tem algumas coisas que ainda não entendi bem como funciona, e o material que encontrei sobre isso é muito resumido e vago, estou fazendo algumas experiências, testes pra ver como esse código se comporta nas mais diversas situações e tentando aprender mais sobre ele.
Leia no WordPress: https://ademirdfilho.wordpress.com/2022/07/10/fen-o-codigo-secreto-do-xadrez/
1. PGN - Portable Game Notation é um formato de arquivo para computadores criado para o registro de partidas de xadrez.
Atualização 15/07/2022
Artigo atualizado para corrigir informação incorreta no tópico ‘Contagem de movimentos e lances’, constava 50 movimentos e o correto é 100 (correspondente a 50 lances), também acrescentei um parágrafo no referido tópico para complementar a explicação.