don't click here

OpenAI Retro Contest

Discussion in 'General Sonic Discussion' started by Aquova, Apr 5, 2018.

  1. Aquova

    Aquova

    Professional nerd in training Member
    146
    1
    18
    USA
    OpenAI is holding a contest from April 5th to June 5th to try and train a computer to play custom Sonic levels that it's never seen.

    https://contest.openai.com/

    The idea looks pretty cool, but this also seems stupid hard. The best CPUs playing games that I've seen can only play a handful of levels that it's had practice on for hours.
     
  2. Black Squirrel

    Black Squirrel

    no reverse gear Wiki Sysop
    8,543
    2,465
    93
    Northumberland, UK
    steamboat wiki
    Welcome to evolutionary learning :eng101:

    The idea behind a good chunk of AI is to basically define a set of win and lose parameters, and let the computer brute force every combination until it gets an answer. But it's only ever really going to be good at one thing unless you give it a super varied training regime.
     
  3. biggestsonicfan

    biggestsonicfan

    Model2wannaB Tech Member
    1,608
    406
    63
    ALWAYS Sonic the Fighters
    This is the most elaborate "do our work for us" I've ever seen posted on Retro. Props.
     
  4. Sappharad

    Sappharad

    Oldbie
    1,413
    70
    28
    6 years ago there was a similar contest to develop an AI to play Mario games. I think this is just an indirect successor of that:
    http://www.marioai.org

    It's actually a fun idea to give to students learning how to write AI.
     
  5. Ritz

    Ritz

    Subhedgehog Member
    4,083
    107
    43
    That's real ambitious. People can't even figure out how to get through a loop in Sonic 1. Can't brute force that like SMW 1-1 where the right permutation of inputs will eventually win because the stage is flat.
     
  6. DigitalDuck

    DigitalDuck

    Arriving four years late. Member
    5,338
    412
    63
    Lincs, UK
    TurBoa, S1RL
    Luckily someone made a hack that can generate levels :v:

    (Note to self: get back to working on that at some point.)
     
  7. biggestsonicfan

    biggestsonicfan

    Model2wannaB Tech Member
    1,608
    406
    63
    ALWAYS Sonic the Fighters
    Is this legal?

    EDIT: With all the literal hacks on the steam thing who cares I guess.
     
  8. null

    null

    Member
    2
    0
    0
    Thanks for making that! I suspect that making good randomized training environments could be an interesting way to avoid overfitting on the training levels. We haven't run any experiments using S1RL, but I did make a preliminary integration for it. Do you know if I can set the memory at 0xffc950 for different seeds, and am I limited to 256 different levels? Based on my testing, putting different byte values there would produce different levels but I wasn't sure if that was the correct way.
     
  9. DigitalDuck

    DigitalDuck

    Arriving four years late. Member
    5,338
    412
    63
    Lincs, UK
    TurBoa, S1RL
    $C950 is absolutely the wrong one to set; although it will affect the seed, it's because it's used to store the options menu, so it can only choose "randomly generated" or the six presets available in the menu. The random number generator is the longword at $CA0C, with $CA08 being used for fixed level generation, so some messing around with those might net you what you're looking for.

    The easier way to produce different levels is to just randomise the controller input and length of time before starting the game.