Aplicación de Programación Genética para la generación de bots del RTS Planet Wars en CoSECiVi 2014

Este trabajo se publicó dentro del Primer Congreso de la Sociedad Española para las Ciencias del Videojuego (CoSECIVI), que se celebró en conjunción con el Gamelab 2014 en Barcelona.

En él se presentó el artículo titulado “Designing Competitive Bots for a Real Time Strategy Game using Genetic Programming”, cuyo resumen (en inglés) es:

The design of the Artificial Intelligence (AI) engine for an autonomous agent (bot) in a game is always a difficult task mainly done by an expert human player, who has to transform his/her knowledge into a behavioural engine. This paper presents an approach for conducting this task by means of Genetic Programming (GP) application. This algorithm is applied to design decision trees to be used as bot’s AI in 1 vs 1 battles inside the RTS game Planet Wars. Using this method it is possible to create rule-based systems defining decisions and actions, in an automatic way, completely different from a human designer doing them from scratch. These rules will be optimised along the algorithm run, considering the bot’s performance during evaluation matches. As GP can generate and evolve behavioural rules not taken into account by an expert, the obtained bots could perform better than human-defined ones. Due to the difficulties when applying Computational Intelligence techniques in the videogames scope, such as noise factor in the evaluation functions, three different fitness approaches have been implemented and tested in this work. Two of them try to minimize this factor by considering additional dynamic information about the evaluation matches, rather than just the final result (the winner), as the other function does.
In order to prove them, the best obtained agents have been compared with a previous bot, created by an expert player (from scratch) and then
optimised by means of Genetic Algorithms. The experiments show that the three used fitness functions generate bots that outperform the optimized human-defined one, being the area-based fitness function the one that produces better results.

La presentación del artículo se puede ver aquí:

El artículo se puede encontrar en: http://gaia.fdi.ucm.es/sites/cosecivi14/es/papers/24.pdf

Esperamos que os guste.

Y que nos citéis. :D

Advertisements

Unreal Expert Bots at IWANN 2013

Last week there was held IWANN 2013 at Tenerife, an international conference mainly devoted to researches inside the neural networks scope. In it, Antonio Fernández Leiva, Raúl Lara and Me organized the Special Session on Artificial Intelligence and Games.

There were five works in the session, one of them “Designing and Evolving an Unreal Tournament— 2004 Expert Bot“.

It describes the designing and improvement, through off-line (not during the game) evolution, of an autonomous agent (or bot) for playing the game Unreal Tournament 2004. This was created by means of a finite state machine which models the expert behaviour of a human player in 1 vs 1 deathmatch mode, following the rules of the international competition.

Then, the bot was improved by means of a Genetic Algorithm, yielding an agent that is, in turn a very hard opponent for the medium-level human player and which can (easily) beat the default bots in the game, even in the maximum difficulty level.

The presentation can be seen at:

Moreover, you can watch one example of the evolution in the following video:

Finally, the Unreal Expert and Genetic bot’s source code are available at https://github.com/franaisa/ExpertAgent

Enjoy them. ;)

Reunión con Super Mario Bros.

El pasado Viernes dedicamos la reunión al increible mundo de Super Mario Bros. :O

No, aunque lo parezca no quedamos para echar unas partidillas con el reciente (y superviciante en multijugador) New Super Mario Bros. Wii. ;) :D

En lugar de eso hicimos una charla seria, con una presentación llena de rigor acerca de dicho personaje y centrándonos únicamente en la relevancia científica de las llamadas Mario AI Competitions.

La presentación es:

En ella se comentan varios aspectos a destacar de la ‘mascota’ de Nintendo, desde sus inciertos orígenes (hay varias teorías, una de las más sólidas se puede ver en ), pasando por su relevancia dentro del mundo de los videojuegos, hasta concluir con una descripción de sus posibilidades de estudio dentro del ámbito de la ciencia (en serio). ;)  :)

De ese modo, se presentan algunas de las competiciones relacionadas con la creación de agentes autónomos que ‘jueguen’ a Super Mario y/o ‘aprendan’ a jugar, así como la generación automática de niveles en base a los gustos/criterios de un jugador específico.

Para ello se trabaja con un Framework hecho en Java (aunque se puede programar también en Phyton) que contiene el código fuente de un clon de Super Mario Bros., y que es completamente editable.

En la reunión discutimos la línea de competición por la que nos íbamos a decantar, así como posibles ideas a implementar. ;)

Desde la reunión dedicada al porno (filtrado de contenidos en navegadores :D), no se había visto otra con tanta asistencia y participación (supongo que esperarían echar una partidilla al menos). ;) :D

Taluego!

FrikiMario