Base de datos de ajedrez con IA. El código fuente (parte 1)
AIChessDB es una base de datos de partidas de ajedrez capaz de trabajar con varios servidores de base de datos simultáneamente. Actualmente soporta Oracle, MySQL y Sql Server. Además, está integrada con asistentes de inteligencia artificial, que ayudan al usuario a entender y manejar los formularios de la aplicación, realizar las tareas de configuración, e incluso pueden enseñar a jugar al ajedrez, jugar entre ellos o contra el usuario, o buscar y comentar partidas contenidas en la base de datos.
Esta aplicación forma parte además de un proyecto de código abierto orientado a aprender y practicar la integración de aplicaciones existentes con la inteligencia artificial.
Podéis descargar el código fuente desde este enlace.
Si solo queréis el ejecutable, utilizad este otro enlce.
En el artículo anterior podéis encontrar además un vídeo en el que explico como usar la aplicación y otros enlaces de descarga relacionados con la base de datos.
Aunque la integración en sí misma no es complicada, hacer que todo funcione como uno espera sí lo es. Los asistentes IA no son fáciles de domesticar: lograr que hablen y se comporten exactamente como deben requiere bastante trabajo.
En este tipo de proyectos, una buena documentación y unas instrucciones claras son tan importantes como un código bien escrito. Conseguir una interfaz de usuario amigable también resulta difícil: los tiempos de respuesta de los modelos pueden ser largos, y el lenguaje de los asistentes depende mucho de la documentación que consumen (incluso del idioma en que esté escrita).
Si la documentación es demasiado técnica, el asistente hablará en un lenguaje inaccesible para muchos usuarios; si es demasiado superficial, no sabrá desempeñar correctamente su función.
Los componentes principales de esta solución son el ejecutable AIChessDB y la librería de clases AIChessDatabase, ambos implementados en los proyectos homónimos.
AIChessDB contiene archivos de datos, documentación, librerías y el ejecutable ya compilado. Esto se debe a que algunos componentes aún están en fase beta y, de momento, no son de código abierto. Solo proporciono los binarios, protegidos para evitar que se usen con ejecutables distintos.
La librería AIChessDatabase, donde se implementa el grueso de la solución, sí es open source. Otras librerías abiertas incluidas en la solución son:
- GlobalCommonEntities: librería con interfaces de propósito general para llamadas API, inyección de dependencias y abstracciones de interfaz de usuario.
- DesktopControls: gran conjunto de controles para aplicaciones de escritorio que simplifican tareas de interfaz, normalmente laboriosas.
- Resources: principalmente archivos de recursos (.resx) con cadenas de texto, iconos e imágenes usados por otras librerías, además de clases auxiliares para la localización multilingüe.
Explicar el código fuente por escrito siempre me ha parecido demasiado pesado, tanto para el autor como para el lector. En lugar de publicar textos densos o ejemplos fragmentarios, esta vez he preparado un vídeo explicativo, que podéis ver aquí:
En este vídeo no cubro la solución completa: solo la parte general y la relacionada con la inteligencia artificial. La base de datos y las funcionalidades de ajedrez quedarán para el siguiente capítulo.
He experimentado con distintas formas de presentar el código y los conceptos más abstractos, por lo que notaréis variaciones en el estilo entre secciones. Cualquier feedback será bienvenido —positivo o negativo— para seguir mejorando el formato.
Con esto me despido hasta el próximo artículo de la serie. Gracias por leer y hasta la próxima.









