Learning track‎ > ‎


For the submissions to take part in WCCI phase, have to be submitted on or before July, 11 2010. You can win any of the phases without being present at the associated conference. After the competition, the scores will also be presented on this web page, along with complete source code for each submitted controller. 

Your competition entries should be submitted by email to both Sergey Karakovskiy and Julian Togelius. The subject line of the mail should be "MARIOLEARNINGSUBMISSION %firstname% %lastname%", with %firstname% and %lastname% replaced with your first and last name.

Controllers written in Java, C++, Python are welcome, as long as they can be interfaced to an unmodified version of the MarioAI Benchmark - directly if written in Java, through the AmiCo library otherwise. In any case, the controllers must be able to run in real time on an Intel machine running either Mac OS X, Ubuntu Linux or Windows XP. 

Please send your competition score, as measured using the ch.idsia.scenarios.champ.LearningEvaluation class with seed 0, along with your submission; we will rerun the ch.idsia.scenarios.champ.LearningEvaluation with a new seed to determine your final score. The submission should include complete instructions for how to run your controller. The submission should also include complete source code, and a short description of how it works. 

You can resubmit your controller as many times as you like, in however modified versions, up until July 11, 23:59 CET .
If you develop your controller using a combination of Java code and some learning algorithm (as will be the case for the majority of the contestants) the following submission format is strongly encouraged, in order to make life as easy as possibly for all of us: 

.zip file containing:
  • A WOX file with the particular learned parameters (e.g. neural network connection weights) of your controller, called firstnamelastname.xml (e.g. juliantogelius.xml)
  • The source code for any java classes used in a directory called firstnamelastname (e.g. juliantogelius). The java classes should therefore be in a package with the same name as the directory (e.g. a class could be called juliantogelius.NeuralNetwork, and be located in juliantogelius/NeuralNetwork.java). It is perfectly fine to not use any classes of your own at all, and just submit a WOX file specifying parameters for one of the predefined controller representations.
  • Any external libraries, if used, in a separate jar file named firstnamelastname.jar, e.g. juliantogelius.jar.
  • A short text document or (preferrably) 2-4 Powerpoint or Keynote slides describing your controller and how it was developed.