Slashdot Mirror


Mario AI Competition

togelius writes "We're running a competition to see who can program the best AI for a version of Super Mario Bros. It's about deciding what to do at each time step — run, jump, shoot etc. — based on a description of the platforms, items and enemies around Mario. This is hard. It's so hard we believe that some sort of machine learning algorithm will be necessary to reach good playing performance. But really, any approach is fair game. We welcome hard-coded submissions, commercial AI programmers, academics and amateurs alike. Whoever wins, it will be really interesting. The competition is associated with two IEEE conferences, and there are cash prizes available for the best submissions."

11 of 110 comments (clear)

  1. Re:Uhhhh by Toridas · · Score: 4, Informative

    If you had read TFA you'd know that they are using the game Infinite Mario Bros, which has randomly generated levels.

  2. Re:Uhhhh by Anonymous Coward · · Score: 1, Informative

    Too bad. Otherwise, you could send them one of the files from the TAS of SMB (available somewhere on here) which is very probably frame-perfect at this point.

  3. Let's see if any of these guys have a go... by VinylRecords · · Score: 4, Informative

    http://tasvideos.org/

    TAS = Tool Assisted Speed Runs. Basically you program controller inputs (at very slow speeds) and then play them back at 1:1 speeds and you watch a pre-programmed controller run through an entire game as quickly as possible. There are runs for basically most of the more popular NES and SNES games as well as other games. Pretty interesting stuff and usually a daunting task is creating a TAS of a game.

  4. Re:The prize seems kind of paltry by Anonymous Coward · · Score: 2, Informative

    I love how you included fuzzy logic in your list of otherwise hard to pull of AI functions.

  5. Re:Shard of glass in my delicious pie! *gruff* by RegularFry · · Score: 3, Informative

    "Java only? What the hell !?"

    Um... no.

    Controllers written in any language are welcome, as long as they can be interfaced to an unmodified version of the marioai package - directly if written in Java, through the TCP interface otherwise. In any case, the controllers must be able to run in real time on an Intel machine running either Mac OS X (preferred), Ubuntu Linux or Windows XP.

    --
    Reality is the ultimate Rorschach.
  6. Re:The prize seems kind of paltry by jtogel · · Score: 3, Informative

    Actually, this is not true. The competition is mainly aimed at academic researchers, who work with these techniques anyway, and for whom 500 dollars (into your own pocket, not your research fund) is not a completely insignificant amount. But of course, the main motivation for researchers to take part is of course the recognition. And of course others than academics are very welcome to take part as well! We're very much looking to broaden the participation.

  7. Re:The prize seems kind of paltry by jtogel · · Score: 3, Informative

    In previous competitions on simulated car racing AI we've had submission from Imperial College, National University of Singapore, Politecnico di Milano, University of Birmingham and other internationally leading universities. So a submission from MIT would not surprise me the least.

  8. Re:Thanks for the advanced notification! by jtogel · · Score: 3, Informative

    We did some advertising for this within the academic research community in spring, but for various reasons we were a bit late with reaching out beyond academia. Definitely an oversight on our part. Still, the deadline for the CIG phase (you don't have to submit to the first phase) is almost a month away, and if the competition is a success this year we'll run it next year as well.

  9. Re:Shard of glass in my delicious pie! *gruff* by jtogel · · Score: 3, Informative

    Personally, I love Java, but I recognize that not everybody does. As another poster has already commented below, any language is permitted as long it can somehow interface to the game code. To begin with, there are several languages other than Java that run on the JVM (Scala, for example) and these can interface directly to the code. You can also interface via the provided TCP interface; we've included a Python example. Or via JNI (Java Native Interface) for c programs.

  10. Re:This is hard by hesiod · · Score: 3, Informative

    even the most advanced AI doesn't learn.

    Depends how you define that. If human learning is just based on strengthened signals between synapses, then a weighted neural net certainly DOES learn.

  11. Re:Uhhhh by alexandreracine · · Score: 3, Informative

    Here is one guy doing it. Pretty impressive... http://www.youtube.com/watch?v=0s3d1LfjWCI

    --
    No sig for now.