Uno de los mayores retos de este proyecto fue implementar algún método heurístico para lograr que la inteligencia artificial tomara decisiones según el estado del tablero, se optó por el método Min-Max.
Además de cómo lograr la comunicación entre las dos inteligencias, pues se consideraron métodos de sockets de manera local, sin embargo, con la experiencia que ya se tiene respecto a bases de datos en la nube, se me ocurrió solucionarlo mediante mensajes entrantes y salientes, threads para sincronizar las jugadas del cliente y del servidor.