Este sitio utiliza cookies de Google para prestar sus servicios y analizar su tráfico. Tu dirección IP y user-agent se comparten con Google, junto con las métricas de rendimiento y de seguridad, para garantizar la calidad del servicio, generar estadísticas de uso y detectar y solucionar abusos.Más información

View site in english Ir a la página de inicio Contacta conmigo
domingo, 2 de noviembre de 2025

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.

Comparte este artículo: Compartir en Twitter Compártelo en Facebook Compartir en Google Plus Compartir en LinkedIn
Comentarios (0):
* (Su comentario será publicado después de la revisión)

E-Mail


Nombre


Web


Mensaje


CAPTCHA
Change the CAPTCHA codeSpeak the CAPTCHA code