Ajedrez estático (Static Chess)
(val.town)- Static Chess es un experimento de ajedrez web estático que construye toda la interfaz del ajedrez solo con HTML y CSS, y cada jugada se realiza haciendo clic en enlaces
- Después de que un jugador hace una jugada y envía el enlace generado a un amigo, la otra persona continúa la partida enviando otro enlace
- Con una interfaz brutalista que deja de lado las animaciones y las interacciones fluidas, se enfoca en el tablero y en la selección de jugadas en sí
- Todavía tiene funciones bastante limitadas y puede haber partes rotas, así que aún existen restricciones para jugar de verdad
- Más adelante deja abierta la posibilidad de ampliarlo con soporte para partidas reales, una interfaz simple para juegos largos y un oponente de IA estática
Ajedrez estático que avanza por enlaces
- Static Chess es un sitio web de ajedrez cuyo objetivo es ser “plain, brutalist, no bloat chess”
- La pantalla está construida solo con HTML y CSS, y las jugadas se ejecutan con clics en enlaces
- La partida continúa intercambiando enlaces
- Un jugador hace su jugada y luego envía el enlace a un amigo
- El amigo hace una jugada desde ese enlace y vuelve a enviar otro para pasar al siguiente turno
- Las animaciones o interacciones fluidas se excluyen intencionalmente
- También deja la pregunta de si Google, al indexar el sitio, terminaría calculando todas las jugadas posibles de ajedrez
Limitaciones actuales e ideas de expansión
- Las funciones siguen siendo limitadas y puede haber partes rotas
- Pide que le avisen si encuentran errores
- Está inspirado en una discusión en HN sobre un sitio con todos los estados posibles de una partida de tres en raya
- Planea ampliarlo en el futuro para dar soporte a partidas reales
- Podría evolucionar hacia una interfaz simple para partidas largas entre amigos
- También cree que podría ser divertido agregar una función para jugar contra una IA estática
- Si hay alguna función deseada, se pueden proponer cambios mediante un PR
1 comentarios
Comentarios en Hacker News
Si le agregas un FEN a la URL, también se pueden jugar variantes como Chess960 (Fischer Random Chess) u otras con “posición inicial personalizada”. Solo hay que cambiar los espacios por guiones bajos
Ej.: https://chess.maxmcd.com/bbnqrknr/pppppppp/8/8/8/8/PPPPPPPP/...
No me queda claro si el primer párrafo, eso de “ajedrez puro, tosco y sin adornos”, es una ventaja o una desventaja de esta implementación
Es distinto promocionarlo como una exploración de posibilidades con una implementación poco común, que describir software hecho con tecnología adecuada como hinchado, con animaciones ridículas e interacciones pulidas que estorban al jugar
En el segundo párrafo dice que las funciones son limitadas y que puede estar roto, así que ahí se notan más las limitaciones de este enfoque. Aunque también puede ser que todo fuera sátira y yo haya caído. Igual es una implementación inteligente y bien hecha
Y las limitaciones de funciones probablemente apunten a otras cosas, no a las mismas que llamó hinchazón
Me gusta bastante la idea de jugar pasando enlaces sin estado, y la “belleza” de las animaciones e interacciones, al menos para mí, no se siente como una ganancia neta
La “tecnología correcta” depende mucho de la experiencia de usuario que quieras construir. Para este objetivo, HTML y CSS eran la tecnología adecuada, igual que para sitios con más funciones puede ser adecuado otro conjunto de tecnologías
Técnicamente esto no sería un sitio estático, ¿o sí? El backend renderiza dinámicamente cada vez que hay una solicitud
No creo que haya 999999919291293923 páginas prerenderizadas guardadas en algún lugar del servidor
Y además también sirve posiciones completamente ilegales como esta: https://chess.maxmcd.com/rnbqkbnr/qqqqqqqq/8/8/8/8/QQQQQQQQ/...
[1] https://github.com/tromp/ChessPositionRanking
Está bueno que detecte jugadas legales, pero parece que no sabe qué es un jaque mate
https://chess.maxmcd.com/r1b1kRnr/p1ppB2p/n2P2p1/8/7P/1p6/PP...
¿No debería marcarlo como jaque mate?
Idealmente, cada página debería incluir una cadena que resuma todos los estados previos del tablero que llevaron a ese estado. Así uno podría buscar el estado actual del tablero junto con ‘checkmate white’ para encontrar todas las maneras de ganar desde una posición específica
Para convertir a Google en el oráculo definitivo del ajedrez, lo único que faltaría sería convencer al rival de que haga exactamente las jugadas encontradas
Yo esperaba que fuera una variante de ajedrez donde ninguna pieza pudiera moverse
Gran trabajo. Estaría bueno ponerlo detrás de un CDN como Cloudflare y ver cómo sale la tasa de aciertos de caché
https://lichess.org/analysis#explorer
Probablemente se parecería más a la base de datos de Lichess que a la de Masters, que es bastante distinta. Por ejemplo, en Masters responden a e4 con c5 un 46% de las veces, pero en Lichess c5 apenas llega al 19%
https://chess.maxmcd.com/rnbqk3/pppp2pB/2P1p3/1P1P2Bp/3n4/b2...
Está muy bueno, y fui hasta el final para lograr un jaque mate
Hace tiempo yo también hice una página de ajedrez estático, pero le agregué conexión P2P con WebRTC para poder jugar con un amigo
La promoción de peón está fija en dama. Estaría bueno que soportara otras promociones: https://www.chess.com/forum/view/game-showcase/checkmate-by-...
Está muy bueno. Además del FEN, estaría bueno tener también el registro de jugadas, y probablemente podría ir en el fragmento
Ej.: https://chess.maxmcd.com/rnbqkbnr/ppp1pppp/8/3p4/3P1B2/8/PPP...