jueves, 23 de abril de 2009

PFC: Ms. Pac-Man

El primer juego sujeto a investigación se trata de Ms. Pac-Man, videojuego lanzado en 1981 como una secuela no autorizada de Pac-Man. El juego es casi idéntico al original. El jugador tiene que ir comiendo píldoras y esquivar fantasmas. Las píldoras de mayor tamaño permiten comerse a los fantasmas y hacen que éstos huyan en la dirección contraria. A medida que se van completando niveles, se va incrementando la dificultad.

Ms Pacman logo

La mayor diferencia con respecto al Pac-Man original, es que, al contrario que este, Ms. Pac-Man es un juego no determinista. Además, es bastante difícil para la mayoría de los jugadores. Esto hace que desarrollar una Inteligencia Artificial para este juego se convierta en un autentico reto. El récord mundial para un jugador humano (en la versión original de arcade) es actualmente de 921360 puntos. ¿Podría alguien desarrollar un agente software capaz de superar ese record?

Partiendo desde este interrogante, Simon M. Lucas, doctor en informática y miembro de la IEEE Computational Intelligence Society lleva organizando desde hace varios años una competición internacional cuyo objetivo es desarrollar una inteligencia capaz de controlar a la señora Pac-man y hacer que ésta alcance la mayor puntuación posible. Para ello, el señor Lucas ha creado un kit de desarrollo lo suficientemente completo para que los competidores puedan centrarse casi en exclusiva en la concepción de la inteligencia artificial.

El kit en cuestión está programado en Java y su modo de interacción es el siguiente: 15 veces por segundo el programa recibe información sobre el juego (posición de los fantasmas, del personaje, de las píldoras, etc), dicha información es procesada y la inteligencia artificial debe enviar una orden para decirle al personaje hacia que dirección tiene que moverse. Para ello, el agente realiza capturas de pantalla del emulador que usemos para, posteriormente, analizar su contenido. Es decir, el código del juego no se toca, y se carece de información de cómo están programadas las inteligencias de los fantasmas, se debe de realizar el programa usando éste sistema controlado por capturas de pantalla. El modo de funcionamiento puede entenderse mejor observando el siguiente video:


Así, mi primera meta será dotar a la señora Pac-man de una inteligencia básica creada por mí, implementándola con de una máquina de estados sencilla. Estoy ya con ello y cuando tenga otro hueco libre iré mostrando los avances.