Home About EIS →

Infinite Fun Mario

Once again, the IEEE conference on Computational Intelligence and Games (CIG 2010) is hosting a Mario competition. This time, they’ve added a level generation track to the competition. The goal is to procedurally generate Mario levels that are entertaining. EIS is working on an entry and here’s what we have so far:

I’ve made a few modifications to the game engine to explore a new direction in platformers. Each time the player loses, a new level is generated on the fly. The idea is to prevent the player from getting frustrated by always  presenting the player with a new level. Rather than frustrate the player, the system provides the player with unlimited fun levels. You can try out our level generator by downloading it here and running the Jar.

About the author:  Ben Weber is a PhD student at UC Santa Cruz. Read more from this author

This entry was posted in Academics. Bookmark the permalink. Both comments and trackbacks are currently closed.


  1. Posted April 24, 2010 at 3:20 PM | Permalink

    Hah, this actually does seem to be making some pretty cool levels. Awesome!

  2. Mike Simon
    Posted April 25, 2010 at 8:52 AM | Permalink

    This will also teach players adaptability instead of pattern recognition and memorization. Both useful, skills, but adaptability is arguably more useful because it’s so rare.

    The downside is that it makes high scores meaningless :)

  3. Avitar
    Posted April 25, 2010 at 10:34 AM | Permalink

    I’m sorry, but none of those levels really look like that much fun. In fact, a lot of them are stupid compared to actual Mario levels. There are question blocks with absolutely no chance of being hit, enemies and coins seem to be randomly strewn across the level without any real rhyme or reason. Unless you work in some sophisticated algorithms describing how specific elements should be placed by certain other regions, I just can’t see this working at all.

    Also, I think presenting the player with a new level after every death is even more frustrating than giving them the same level. Part of the nostalgia and skill of the Mario franchise is learning the pattern to each level. If you die at the spike pit on your first play through, you remember where it was and watch out for it on the next. With this game, it’s all at the random chance of the engine that i’ll even get a level that’s possible to complete. And from the look of that video, it’s a very slim possibility.

    If anything, I think this competition is a good example of how limited AI still is today and the importance of the human factor in software design.

  4. Jeremy
    Posted April 25, 2010 at 8:40 PM | Permalink

    I think it’s a wonderful idea. However, you really should make the game get progressively easier as the player loses more and more. My girlfriend loves mario, but she’s really bad at it and gets frustrated because there’s only one easy level (the first one). Decreasing the difficulty on loses and increasing difficulty on wins should be an important feature, or nobody will want to play.

  5. Simone
    Posted May 1, 2010 at 4:35 AM | Permalink

    I agree with Avitar: “fun” levels are the ones designed to pose very specific challenges, “?” blocks can always be collected and even experienced players will play the same level over and over to collect them.
    I believe that the aim of the competition is to find if (and how!) the concept of “fun” can be modeled so that an AI can generate levels which are fun, your approach simply ‘cheats’ it by focusing on novelty and ‘immediate’ adaptation in contrast with the objective of exploring how an AI could design a level which is fun to play over and over.
    From what I can see you already reached a grade where levels are ‘quite fun’ (which is very good for auto generated levels), now it could be the point to move from ‘quite fun’ to ‘real fun’: best wishes!!

  6. Charli
    Posted August 10, 2010 at 5:34 AM | Permalink

    I think the competition is a great idea- thanks for sharing your entry! I think Jeremy makes a good point about smaller progressions in terms of difficulty- definitely something that would go down well with a lot of newer players. I’m currently trialing Halo: Reach, which has quite good progression levels.

  7. Joe Shaw
    Posted August 14, 2010 at 3:08 PM | Permalink

    Thanks for the post. I’m impressed at your skills.


  8. Video Game Fan
    Posted September 26, 2010 at 8:03 PM | Permalink

    It’s an interesting idea. I think there might be some variant that could provide the best of both worlds…maybe have the AI engine generate only portions of a level…meaning that the player would still have parts of the same level to memorize and other parts which will always be random, require adaptability, and hopefully make the level “quite fun.”

    Another option might be to permanently lock in the level’s physical design while randomly generating the enemies throughout the level which would also require adaptation.


  9. Joe
    Posted January 20, 2011 at 8:55 PM | Permalink

    I would suggest something like a webpage where people play random levels and rate them 1 to 5 stars and then maybe a genetic algorithm takes the most successfully rated levels and tries to generate levels like those maybe by using certain aspects of them people liked. It would be hard to come up with fun levels without any input from people.

3 Trackbacks