Ajedrez, Infoajedrez

Info 04. Formatos de archivos de partidas de ajedrez

En esta cuarta entrega tenía pensado hablar de programas de ajedrez para Windows y Android, pero voy a dejarlo para la siguiente porque considero más importante hablar de los formatos de archivos de partidas más comunes que permiten manejar unos y otros programas.

En primer lugar es necesario que sepamos distinguir a simple vista el Tipo de un archivo. Tradicionalmente esto siempre se hizo en Windows (y en otros sistemas operativos como UNIX o Linux, en el que está basado Android) mediante lo que se conoce por Extensión del Archivo. Se denominan así a los últimos caracteres del nombre del archivo, para ser más exactos, a los caracteres que siguen al último punto ‘.’ del nombre del archivo.

Lo que ocurre en Windows es que Microsoft, creo recordar que a partir de Windows XP, tuvo la “genial ocurrencia” de ocultar por defecto la extensión de los archivos “conocidos”, pensando que era mejor identificarlos con distintos iconos. Pues señores de Microsoft, siento decirles que en estos años se ha demostrado que lo único que han conseguido ustedes es que la mayoría de los usuarios de a pie no sepan distinguir unos archivos de otros.

Esto se puede apreciar en la siguiente imagen tomada del Explorador de archivos de Windows:

Aquí vemos que todos los archivos tiene el mismo nombre “1001 Combinaciones de Mate”, pero distinta extensión “.cba”, “.cbc”, “.cbe”, etc. (ya que en una misma carpeta no pueden existir dos archivos que se llamen igual). Sin embargo Windows en la columna “Tipo” dice que muchos de ellos son del mismo tipo “Base de datos de ChessBase”, de forma que si no vemos la extensión no sabremos distinguir unos de otros, ¡ya que tienen el mismo icono a la izquierda! Además, si no se ven las extensiones, no las podremos modificar en caso de que lo necesitemos…

Por tanto, para mí resulta imprescindible ver las extensiones de los archivos, y esto se consigue en Windows de una forma muy sencilla:

  • En Windows XP: desde el Explorador de Archivos, seleccionando en el menú la opción “Herramientas – Opciones de carpeta”, en la pestaña “Ver” hay que buscar la casilla “Ocultar las extensiones de archivo para tipos de archivo conocidos”, desmarcarla y pulsar “Aceptar”.
  • En Windows Vista y Windows 7: hay que abrir el menú “Inicio” e ir al “Panel de control – Apariencia y personalización – Opciones de carpeta”, en la pestaña “Ver” buscar la casilla “Ocultar las extensiones de archivo para tipos de archivo conocidos”, desmarcarla y pulsar “Aceptar”.En este caso también se puede hacer desde el Explorador de Archivos, “Herramientas – Opciones de carpeta”, aunque en Windows Vista para ver los menús hay que pulsar la tecla Alt.
  • En Windows 8/10: desde el Explorador de Archivos, en la cinta de opciones de menú hay que ir a la pestaña “Vista”, y marcar la casilla “Extensiones de nombre de archivo”. También se puede hacer desde el botón “Opciones” que aparece más a la derecha.

Seguramente que a más de uno todo esto le parecerá irrelevante (aparte de un rollo…), pero a lo mejor no lo es tanto cuando intente crear un archivo de texto, pegar en él unas cuantas partidas en formato PGN y no sepa cómo cambiarle la extensión al archivo y ponerle “.pgn” para que los programas lo reconozcan como un verdadero archivo de partidas en formato PGN…

Hechas estas aclaraciones, vamos ya a hablar de los tipos de archivos más utilizados para guardar partidas de ajedrez.

En general en Informática a cualquier colección o conjunto de información se le denomina Base de Datos (abreviadamente “BD”), por lo que muchas veces nos referiremos a una base de datos de partidas de ajedrez sin importar el formato de archivo en el que estén almacenadas las mismas. Ah, y no hay que confundir una base de datos con el programa que la gestiona, que no se llama base de datos, sino Gestor de Bases de Datos (o lo que es lo mismo, ChessBase no es una base de datos sino un gestor de bases de datos).

Podemos decir que principalmente existen dos tipos de bases de datos o archivos para almacenar partidas de ajedrez (lo siento, nunca he utilizado ni tengo pensado utilizar Chess Assistant…): PGN y ChessBase.

1. El formato PGN

El formato PGN responde a las iniciales en inglés de “Portable Game Notation” o notación de partidas “portátil”. En Informática el término “portable” hace referencia a cualquier software (datos o programas) que se puede utilizar o llevar sin problemas a cualquier plataforma o sistema, y en este caso quiere decir que un archivo PGN tiene un formato estándar que puede abrirse con cualquier programa de ajedrez en cualquier sistema operativo.

Los archivos PGN son archivos de texto, lo que quiere decir que se pueden abrir y editar sin problemas con el mismo Bloc de Notas de Windows (con el botón derecho en el Explorador de Archivos seleccionando la opción “Abrir con…”). Y como ya comenté anteriormente, cualquiera puede crear en Windows un archivo de texto con extensión “.txt” (botón derecho y seleccionar “Nuevo – Documento de texto”), pegar en él unas cuantas partidas en formato PGN y cambiarle la extensión “.txt” a “.pgn” para que los programas lo reconozcan como tal.

Una partida en formato PGN se puede crear escribiéndola “a mano”, pero obviamente lo normal es guardarla en dicho formato desde un programa o gestor de bases de datos de partidas. En el siguiente ejemplo se muestran dos partidas en formato PGN:

[Event “USSR-Ch23 Leningrad”]
[Site “Leningrad”]
[Date “1956.??.??”]
[Round “17”]
[White “Tal, Mihail”]
[Black “Tolush, Alexander V”]
[Result “1-0”]
[ECO “B97”]
[Annotator “Tal,M”]
[EventCountry “URS”]
1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 Nf6 5. Nc3 a6 6. Bg5 e6 7. f4 Qb6 8. Qd2 Qxb2 9. Rb1 Qa3 10. e5 dxe5 11. fxe5 Nfd7 12. Ne4 Qxa2 13. Rb3 Qa1+ 14. Kf2 Qa4 {Diagrama #} 15. Bb5 $6 ({Actualmente se sabe que} 15. Nxe6 $3 {conduce a un ataque decisivo.}) 15… axb5 16. Nxb5 f6 17. exf6 gxf6 ({Las negras no solucionarían sus problemas jugando} 17… Qxe4 {a lo que seguiría} 18. fxg7 Bc5+ (18… Qf5+ 19. Rf3 Bc5+ 20. Kg3 Qe5+ 21. Kh3 Rg8 22. Re1) 19. Kg3 Qe5+ 20. Kh3 Qxg7 21. Nc7+ Kf8 22. Rf1+ Kg8 23. Bh6 {etc.}) ({Únicamente} 17… Nxf6 $1 {ofrecía buenas posibilidades.}) 18. Re1 $1 Ra6 19. Bxf6 Nxf6 20. Nxf6+ Kf7 21. Rf3 Qh4+ 22. Kf1 e5 23. Qd5+ Be6 24. Nd7+ Kg6 25. Nxe5+ Kg7 26. Rg3+ Qxg3 27. Qxb7+ Nd7 28. hxg3 Rb6 29. Qc7 Bc5 30. Nxd7 Bc4+ 31. Re2 $138 {, Y las negras perdieron por tiempo.} 1-0[Event “USSR-Ch30 Erevan”]
[Site “Erevan”]
[Date “1962.??.??”]
[Round “2”]
[White “Tal, Mihail”]
[Black “Bannik, Anatoly”]
[Result “1-0”]
[ECO “C87”]
[Annotator “Tal,M”]
[EventCountry “URS”]
1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 d6 7. Bxc6+ bxc6 8. d4 exd4 9. Qxd4 O-O 10. Nc3 c5 11. Qd3 Bb7 12. Bf4 {Diagrama #} Nh5 $2 13. Be3 Bf6 {Reforzando indirectamente la presión contra el peón e4. No obstante, el juego de las blancas resultó inesperado para su rival:} 14. Nd5 $1 Bxb2 15. Rab1 Bxd5 16. exd5 Rb8 ({Si las negras hubiesen descifrado las intenciones del enemigo, hubieran jugado} 16… Bf6 17. g4 Qd7 18. h3 g6 19. gxh5 Qxh3 {y las blancas aún deberían demostrar que su pieza es más fuerte que los tres peones.}) 17. c3 Qf6 {Al parecer todo iba bien para las negras.} (17…Qf6 {Ya que en respuesta al movimiento} 18. Bd2 {habían preparado} Qg6 {conservando así la superioridad material.}) {Pero después de:} 18. Qe2 $1 {, se hace de pronto evidente que la octava horizontal de las negras es débil. Éstas prefirieron, por lo tanto, jugar así:} Bxc3 (18… Qxc3 19. Bc1 $1 Bxc1 20. Rxb8) 19. Rxb8 Rxb8 20. Bg5 Bxe1 21. Bxf6 Nxf6 22. Qxe1 {, Las negras abandonaron al cabo de seis movimientos.} Nxd5 23. g3 h6 24. Qe4 Nf6 25. Qc6 Rb1+ 26. Kg2 Rb2 27. Qxc7 Rxa2 28. Qb8+ {, Las negras abandonan.} 1-0

Como se puede apreciar, el comienzo de cada partida se distingue por unas cabeceras formadas por determinadas etiquetas entre corchetes que tienen un nombre fijo (Event, Site, Date, etc.). El valor de cada etiqueta se escribe entrecomillado (por tanto no se admiten las comillas dentro de los textos de las cabeceras). Hay al menos 16 etiquetas, de las que sólo 7 son obligatorias, pero de esto ya se encargan los programas cuando guardamos las partidas, así que no entraremos en detalles.

Cabe señalar que las iniciales de las piezas van en inglés, los comentarios se escriben entre llaves y las variantes entre paréntesis. Los símbolos de ventaja y demás se identifican por los códigos $1, $2, $3, etc., pero por suerte de esto también se encargan los programas.

Bien, ahora podéis intentar crear un archivo PGN con estas dos partidas para ver si habéis entendido el tema de la extensión de un archivo…

Como acabamos de comentar, el formato PGN es “universal”, y sirve por ejemplo para utilizarlo en páginas web como ésta y poder reproducir partidas en un cómodo y práctico “visor de partidas” tal como éste:


2. El formato ChessBase

Como seguramente casi todos sabréis, ChessBase es la empresa número uno a nivel mundial en la comercialización de software relacionado con el ajedrez, tanto en lo que se refiere a programas como bases de datos y libros electrónicos en formato DVD. Su programa estrella es un gestor de bases de datos que lleva precisamente el mismo nombre: ChessBase.

Si bien el formato PGN sólo admite almacenar las partidas como texto, el formato de base de datos de ChessBase es más complejo debido a que permite almacenar elementos multimedia tales como fotografías y vídeos. Además, es propiedad de la empresa y por ahora no permiten utilizarlo a ningún otro desarrollador o autor de software independiente. Es decir, una base de datos en formato ChessBase sólo puede abrirse desde el gestor de base de datos ChessBase o bien desde otros programas de la propia empresa (léase Fritz, Hiarcs, Junior, Shredder, Rybka, Houdini, etc.). De hecho ni siquiera pueden abrirse mediante la “aplicacionucha” que venden para Android…

Una base de datos en formato ChessBase está formada por un conjunto de archivos con el mismo nombre y distinta extensión, como ya vimos en la primera imagen de este artículo. Es por ello que si le pasamos una base de datos a alguien o él nos la pasa a nosotros, necesitaremos todos esos archivos (o al menos los imprescindibles). En otro caso la base de datos será inservible y nos dará un error al intentar abrirla con ChessBase.

Una forma habitual de hacer esto es comprimir todos los archivos juntos en un único archivo ZIP, RAR o 7z para poder enviarlo por correo electrónico o copiarlo en algún medio de almacenamiento. Otra forma es utilizar el propio programa ChessBase, mediante los llamados archivos CBV. Un archivo CBV no es más que un archivo comprimido que contiene a todos los demás, con la particularidad de que el propio ChessBase es capaz de descomprimirlo y abrir automáticamente la base de datos al hacer doble clic en él (momento a partir del cual podemos borrar el archivo CBV porque ya no sirve para nada). A mí personalmente me gusta tener cada base de datos en una carpeta independiente con su nombre, pero mucha gente tiene decenas de bases de datos (cada una con su conjunto de ficheros y subcarpetas) mezcladas en una sola carpeta. Es por eso que os recomiendo que antes de hacer doble clic en un archivo CBV, primero creéis una carpeta con un nombre adecuado y lo hagáis dentro de ella. Una vez abierto por primera vez el CBV, se descomprimirán y guardarán en dicha carpeta todos los archivos que contiene, y ya podréis borrar dicho archivo CBV (o bien hacer una copia de seguridad de él en otro disco duro, USB, DVD, etc.). Esto también tiene la ventaja de que podemos comprimir la carpeta (simplemente haciendo clic con el botón derecho en el nombre de la carpeta) si alguien nos pide que le pasemos dicha base de datos.

Para finalizar, y sólo como curiosidad, os pongo a continuación los distintos tipos (¡extensiones!) de archivos que pueden componer una base de datos en formato ChessBase (algunos son imprescindibles, pero otros no siempre existen).

  • Archivos que contienen toda la información de las partidas de la base de datos y que son prácticamente imprescindibles. Si por ejemplo se borra el archivo “.cba” se podrá abrir la base de datos, pero se habrán perdido todas las anotaciones de las partidas.
    • Nombre.cbh: Datos de las partidas. La ‘h’ indica “header” o archivo de cabecera de la base de datos, y es en el que se debe hacer doble clic para abrir la base de datos.
    • Nombre.cbg: Jugadas y variantes (‘g’ indica “games”).
    • Nombre.cba: Anotaciones o textos con los comentarios de las partidas (‘a’ indica “annotations”).
    • Nombre.cbp: Índice de jugadores (‘p’ indica “players”).
    • Nombre.cbt: Índice de torneos (‘t’ indica “tournaments”).
    • Nombre.cbc: Índice de comentaristas (‘c’ indica “commentator”).
    • Nombre.cbs: Índice de fuentes (‘s’ indica “sources”).
    • Nombre.ini: Archivo de inicialización y configuración de la base de datos. Aquí se guarda, entre otras cosas, el nombre y tipo de base de datos, la última partida que se abrió, el nombre del usuario que la abrió, etc.
    • Nombre.bmp o Nombre.html: Carpeta de elementos multimedia de imágenes.
    • Nombre.avi: Carpeta de elementos multimedia de vídeo.
    • Nombre.wav: Carpeta de elementos multimedia de sonido.
  • Archivos que contienen información adicional de las partidas y textos.
    • Nombre.cbe: Índice de equipos.
    • Nombre.cbj: Archivo de segunda cabecera (información sobre equipos, material final).
    • Nombre.cbm: Entradas de texto de la base de datos en formato HTML.
  • Archivos de aceleradores de búsqueda para mejorar la velocidad de acceso a la base de datos.
    • Nombre.cbb: Acelerador de búsqueda.
    • Nombre.cbgi: Acelerador de búsqueda secundario, más pequeño.
    • Nombre.cit: Índice de acceso rápido a jugadores/torneos/equipos, que se regenera automáticamente si se pierde.
    • Nombre.cip: Índice de acceso rápido a jugadores/torneos/equipos, que se regenera automáticamente si se pierde.
  • Archivos con los índices y posiciones de aperturas de las partidas de la base de datos.
    • Nombre.cko: Clave de aperturas.
    • Nombre.cpo: Posiciones de aperturas.
  • Archivos de índices para clasificar las partidas por distintos temas.
    • Nombre.ckn/.cpn: Índice de temas generales.
    • Nombre.ck1/.cp1: Índice táctico.
    • Nombre.ck2/.cp2: Índice estratégico.
    • Nombre.ck3/.cp3: Índice de finales.
  • Archivos comprimidos para enviar una base de datos o guardar una copia de seguridad.
    • Nombre.cbv: Archivo de base de datos comprimida.
    • Nombre.cbz: Archivo de base de datos comprimida y encriptada.
  • Archivos de libro de aperturas (no forman parte de una base de datos de partidas).
    • Nombre.ctb
    • Nombre.ctg
    • Nombre.cto
  • Archivos del formato antiguo de ChessBase, que pueden abrirse con cualquier versión del programa.
    • Nombre.cbf: Archivo de partidas.
    • Nombre.cbi: Archivo de índices.

Para terminar, un problema relativamente habitual para un usuario de Windows es que no puede abrir un determinado tipo de archivo al hacer doble clic sobre él, o bien que se abre con un programa que no es el que deseamos utilizar. Esto se debe a que no tiene asignada ninguna aplicación a ese tipo de archivo (extensión) o bien que tiene asignada una que no es la correcta.

Si por ejemplo no somos capaces de abrir un archivo PGN al hacer doble clic sobre él, podemos cambiar este comportamiento en Windows 7 (en el resto de versiones es similar) realizando los siguientes pasos:

  1. En el Explorador de Archivos hacemos clic con el botón derecho sobre cualquier archivo del tipo (extensión) en cuestión, en este caso “.pgn”.
  2. Seleccionamos la opción “Abrir con – Elegir programa determinado…”. Aparece el cuadro de diálogo “Abrir con”:
  3. Aquí debemos seleccionar el programa que deseamos asociar al tipo de archivo, ya sea en el apartado “Programas recomendados” o desplegando el apartado “Otros programas” haciendo clic en el icono ‘+’ que aparece a su derecha.
  4. Si ni siquiera aquí aparece el programa en cuestión, utilizaremos el botón “Examinar” para buscarlo. En Windows 7 los programas suelen estar instalados en la carpeta “Archivos de programas” (si son aplicaciones de 64 bits) o “Archivos de programas (x86)” (si son aplicaciones de 32 bits). En una de estas carpetas buscaremos el archivo ejecutable de la aplicación, es decir, el archivo con extensión “.exe”. Por ejemplo, en la carpeta “Archivos de programasChessBaseCBase12” encontraremos el archivo ejecutable de ChessBase 12 llamado “CBase12.exe”.
  5. Una vez seleccionado el programa, queda casi lo más importante: si queremos que esta asociación entre un programa y un tipo de archivo sea permanente, debemos marcar la casilla “Usar siempre el programa seleccionado para abrir este tipo de archivo” (en caso contrario la dejaremos desmarcada).
  6. Finalmente pulsamos el botón “Aceptar”, con lo que se abrirá el archivo con el programa seleccionado y a partir de este momento ya podremos abrir siempre este tipo de archivos con doble clic.

Buf, y esto, que ya es bastante, ha sido todo por hoy…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_bye.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_good.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_negative.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_scratch.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_wacko.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_yahoo.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_cool.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_heart.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_rose.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_smile.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_whistle3.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_yes.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_cry.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_mail.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_sad.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_unsure.gif 
http://guapaweb.skn1.com/wp-content/plugins/wp-monalisa/icons/wpml_wink.gif