Jogo de xadrez estático (Static Chess)
(val.town)- Static Chess é um experimento de xadrez na web que cria todas as telas do jogo apenas com HTML e CSS, e cada jogada é feita clicando em links
- Depois que um jogador faz sua jogada e envia o link gerado para um amigo, o outro responde enviando outro link para continuar a partida
- Com uma interface brutalista que abre mão de animações e interações suaves, o foco fica no tabuleiro e na própria escolha das jogadas
- As funcionalidades ainda são bastante limitadas e pode haver partes quebradas, então ainda existem restrições para jogar de fato
- No futuro, o projeto deixa em aberto possibilidades de expansão como suporte a partidas reais, uma interface simples para jogos longos e um oponente de IA estática
Xadrez estático jogado por links
- Static Chess é um site de xadrez com a proposta de ser “plain, brutalist, no bloat chess”
- A interface é composta apenas por HTML e CSS, e as jogadas são executadas por cliques em links
- A partida continua por meio da troca de links
- Um jogador faz sua jogada e depois envia o link para um amigo
- O amigo faz sua jogada nesse link e envia outro link de volta para passar o turno seguinte
- Animações e interações suaves foram deliberadamente excluídas
- O autor também levanta a questão de saber se, ao indexar o site, o Google acabaria calculando todas as jogadas possíveis de xadrez
Limitações atuais e ideias de expansão
- As funcionalidades ainda são limitadas e pode haver partes quebradas
- O autor pede que avisem caso encontrem bugs
- O projeto foi inspirado por uma discussão no HN sobre um site com todos os estados possíveis de partidas de jogo da velha
- Há planos de expandi-lo para dar suporte a partidas reais no futuro
- Ele pode evoluir para uma interface simples para partidas longas entre amigos
- O autor também acha que seria interessante adicionar a opção de jogar contra uma IA estática
- Se houver alguma funcionalidade desejada, é possível sugerir mudanças por meio de um PR
1 comentários
Opiniões no Hacker News
Se você anexar uma FEN à URL, também dá para usar Chess960 (Fischer Random Chess) ou outras variantes com “posição inicial personalizada”. Basta trocar os espaços por underscores
Ex.: https://chess.maxmcd.com/bbnqrknr/pppppppp/8/8/8/8/PPPPPPPP/...
Não sei bem se o primeiro parágrafo, sobre “xadrez puro, tosco e sem firulas”, é uma vantagem ou desvantagem desta implementação
Uma coisa é divulgar que foi implementado de um jeito incomum para explorar possibilidades; outra é descrever software feito com a tecnologia adequada como inchado, com animações ridículas e interações suaves que atrapalham o jogo
No segundo parágrafo, ele diz que os recursos são limitados e que talvez esteja quebrado, o que expõe ainda mais as limitações desse tipo de implementação. Claro, talvez tudo fosse sátira e eu tenha caído. De todo modo, é uma implementação inteligente e bem feita
As limitações de recursos ainda assim parecem se referir a outros recursos, não às coisas que ele chamou de inchaço
Gosto bastante da ideia de jogar por meio de links sem estado, e a “beleza” das animações e interações, pelo menos para mim, não parece um ganho líquido
A “tecnologia correta” depende muito da experiência de usuário que se quer criar. Para este objetivo, HTML e CSS eram as tecnologias certas, assim como, para as metas de UX de um site com mais recursos, outro conjunto de tecnologias seria o adequado
Estritamente falando, isto não seria um site estático, certo? A cada requisição, o backend renderiza dinamicamente
Não acho que exista, em algum lugar do servidor, 999999919291293923 páginas pré-renderizadas
Além disso, ele também serve normalmente posições totalmente ilegais como esta: https://chess.maxmcd.com/rnbqkbnr/qqqqqqqq/8/8/8/8/QQQQQQQQ/...
[1] https://github.com/tromp/ChessPositionRanking
É bom ele detectar lances legais, mas parece que não reconhece xeque-mate?
https://chess.maxmcd.com/r1b1kRnr/p1ppB2p/n2P2p1/8/7P/1p6/PP...
Não deveria mostrar que é xeque-mate?
Idealmente, cada página deveria conter uma string resumindo todos os estados anteriores do tabuleiro que levaram até aquele estado. Assim, seria possível pesquisar o estado atual do tabuleiro junto com “checkmate white” e encontrar todas as formas de vencer a partir de uma posição específica
Para transformar o Google no oráculo supremo do xadrez, só falta convencer o adversário a jogar exatamente os lances encontrados
Eu esperava que fosse uma variante de xadrez em que nenhuma peça pudesse se mover
Trabalho bacana. Seria interessante colocá-lo atrás de uma CDN como a Cloudflare e ver como fica a taxa de acerto de cache
https://lichess.org/analysis#explorer
Acho que ficaria mais próximo do banco de dados do Lichess, que é bem diferente do banco Masters. Por exemplo, no Masters, 46% respondem a e4 com c5, mas no Lichess c5 fica em apenas 19%
https://chess.maxmcd.com/rnbqk3/pppp2pB/2P1p3/1P1P2Bp/3n4/b2...
Muito legal; fui até o fim e consegui fazer xeque-mate
Há algum tempo eu também fiz uma página de xadrez estática e adicionei uma conexão P2P via WebRTC para poder jogar com amigos
A promoção de peão está fixa como dama. Seria bom suportar outras promoções também: https://www.chess.com/forum/view/game-showcase/checkmate-by-...
Muito legal. Além da FEN, seria bom ter também o histórico de lances, e talvez dê para colocá-lo no fragmento
Ex.: https://chess.maxmcd.com/rnbqkbnr/ppp1pppp/8/3p4/3P1B2/8/PPP...