miércoles, 28 de septiembre de 2016

Programando un jugador estratégico

Para el diseño de nuestra IA, nos basamos en la teoría y conocimientos vistos en clase, incluyendo la teoría de juegos. Al principio las quisimos aplicar a un nivel muy superficial, pero con el tiempo nos dimos cuenta que esto no es muy efectivo, así que cambiamos el algoritmo para poder “ver a futuro” los movimientos que nosotros quisiéramos. Esto nos ayudó a ver estrategias nuevas y formas de atacar y defendernos contra el adversario.

Cuando vimos por primera vez el Framework Dagor y los primeros juegos que se probaron (D10 y Super Gato), pensamos que el reto sería más ligero y que el tipo de estrategias que necesitaríamos implementar serían bastante directas. Sin embargo, cuando vimos el juego de Orugas y sus reglas, nos dimos cuenta de que se trataba de algo mucho más interesante y retador.  El día martes nos frustramos, debido a que varias veces nos costaba visualizar cual debería ser el siguiente movimiento dado el estado del tablero, resultando en una implementación lenta y poco eficiente. Sin embargo, eso no nos desmotivo y al final logramos implementar un código más entendible y práctico.

Tal vez porque somos también un equipo de programación competitiva, nos ha parecido de los mejor este reto, ya que prueba habilidades que desarrollamos constantemente y que tienen que ver mucho con nuestra carrera y a lo que queremos especializarnos. Nos hubiera gustado tener más tiempo para implementar una solución más eficiente y que incluso fuera adaptativa.


Para el torneo de mañana, esperamos lograr un buen lugar. Gracias al pre-torneo, nos hemos dado cuenta que nuestra IA es una de las más lentas, pero también de las mejores, logrando un tercer lugar ganando en una gran cantidad de casos. Aunque algunas de las soluciones son bastante intimidantes y se ven muy bien implementadas, esperamos mejorar nuestro algoritmo y conseguir un mejor lugar general. 

No hay comentarios:

Publicar un comentario