Repository navigation
SCOPE 2018 Update
Every summer, a team of undergraduates enhance this code as part of the Southwestern University SCOPE program (https://www.southwestern.edu/academics/scope-summer-research/). This release incorporates all of their work, which includes the following.
-
MM-NEAT can now evolve agents in Unreal Tournament 2004 using Pogamut. This feature was present in the past, but buggy. Not only has this functionality been restored, but related code has been incorporated. In particular, my own work on UT^2 (http://nn.cs.utexas.edu/?ut2), which won the 2012 BotPrize competition, has been incorporated. I also incorporated MirrorBot, the other bot that also won the Grand Prize that year.
-
The latest version of the Ms. Pac-Man vs Ghosts competition (http://www.pacmanvghosts.co.uk/) incorporates partial observability, and now this version of the code is incorporated with MM-NEAT. My previous dissertation research exhibited breakthrough results in Ms. Pac-Man, but was not involved in any of the official competitions. However, this latest version of MM-NEAT was used to evolve a Ms. Pac-Man agent that just won first place in the Ms. Pac-Man track of the new competition (CIG 2018, agent Squillyprice01: http://www.pacmanvghosts.co.uk/results.html). Although MM-NEAT was used to evolve this agent, a stripped down version of the code that is only for running the agent is in a separate project: https://github.com/schrum2/MsPacManEntry
-
Several methods for defining more complex custom Neural Network architectures for HyperNEAT have been defined.
-
I have incorporated all major functionality from the Mario GAN research that I conducted with several colleagues around the world (https://github.com/TheHedgeify/DagstuhlGAN). This research uses a Generative Adversarial Network defined in Python using PyTorch to generate levels for the classic game of Mario that are similar to levels from the original game. Additionally, because the inputs to the GAN are vectors of real numbers, these can be evolved to maximize arbitrary fitness functions. MM-NEAT allows you to evolve levels that an A* agent can beat, but finds difficult (in terms of number of jumps), just like in the original code. However, MM-NEAT adds an ability to evolve levels with the GAN using an interactive evolution interface.
Please contact me if you have any questions about how to take advantage of any of these new features.