Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
AI Games

AI Cheats at Old Atari Games By Finding Unknown Bugs in the Code (theverge.com) 45

An anonymous reader shares a report: AI research and video games are a match made in heaven. Researchers get a ready-made virtual environment with predefined goals they can control completely, and the AI agent gets to romp around without doing any damage. Sometimes, though, they do break things. Case in point is a paper published this week by a trio of machine learning researchers from the University of Freiburg in Germany. They were exploring a particular method of teaching AI agents to navigate video games (in this case, desktop ports of old Atari titles from the 1980s) when they discovered something odd. The software they were testing discovered a bug in the port of the retro video game Q*bert that allowed it to rack up near infinite points. As the trio describe in the paper, published on pre-print server arXiv, the agent was learning how to play Q*bert when it discovered an "interesting solution." Normally, in Q*bert, players jump from cube to cube, with this action changing the platforms' colors. Change all the colors (and dispatch some enemies), and you're rewarded with points and sent to the next level. The AI found a better way, though: "First, it completes the first level and then starts to jump from platform to platform in what seems to be a random manner. For a reason unknown to us, the game does not advance to the second round but the platforms start to blink and the agent quickly gains a huge amount of points (close to 1 million for our episode time limit)."
This discussion has been archived. No new comments can be posted.

AI Cheats at Old Atari Games By Finding Unknown Bugs in the Code

Comments Filter:
  • "Dilbert, AIbert owns Q*bert."
    "The robot will be sitting in for me when I'm on vacation."
  • Water cheats at elevation level by finding cracks in rock.

  • Cheating (Score:4, Interesting)

    by Anonymous Coward on Thursday March 01, 2018 @12:00PM (#56203055)

    For those who didn't read the reddit thread hours ago: The bug only exists in the bad port they used for the AI, not the real version.
    It's not like the SMW-bug where the real deal allows you to inject arbitrary code with clever positioning.

  • Not cheating ... (Score:2, Interesting)

    by Anonymous Coward

    That's not cheating, that's winning according to the rules as discovered by the AI.

    In other words, it tried pretty much everything, discovered a corner case nobody knew of, and concluded if it's possible, it's a valid option.

    Which, while a silly example, tells us that if an AI determines "kill all the humans" is possible and achieves its goals, it will.

    Machine learning just finds optimal solutions. If the inputs allow for it, those 'optimal' solutions could include some outcomes we don't like ... and since

    • by lgw ( 121541 )

      Which, while a silly example, tells us that if an AI determines "kill all the humans" is possible and achieves its goals, it will.

      Machine learning just finds optimal solutions. If the inputs allow for it, those 'optimal' solutions could include some outcomes we don't like ... and since nobody really knows the decision process and what rules it's made for itself, you'll simply never know until it's too late.

      Sooner or later, one of these things is going to do something exceedingly dangerous and costly, and nobody will see it coming or know why it happened.

      Machine leaning doesn't think outside the box. It always optimizes within the constraints you give it. It's not going to jump to "hey, baby, want to destroy all humans?" unless you deliberately put that option there. These systems do not and cannot have "general intelligence".

      None of which has anything to do with machine intelligence, or "strong AI" as some like to call it - a machine with general intelligence, the ability to generalize not merely optimize. Let's not build those.

      I fully expect any AI applied to the stock market would eventually conclude stock manipulation would maximise return, and start breaking the law.

      That's of course been ha

    • by tlhIngan ( 30335 )

      In other words, it tried pretty much everything, discovered a corner case nobody knew of, and concluded if it's possible, it's a valid option.

      It's how speedrunners do games as well.

      Sometimes a quicker way through the level is discovered by mere accident, othertimes it's discovered through glitches.

      That's why they have two separate times - one for tool-assisted speedruns and one using regular controls. Glitches discovered during a TAS will often be attempted by regular speedrunners to see if the glitch is ex

  • by Anonymous Coward

    I was playing a retro cabinet game called Rampage that eventually was ported to the PS3. You play a giant monster and try to destroy all the buildings before the humans kill you. Yesterday, one building that I destroyed wasn't tallied as destroyed. So the level never completed. But without buildings to hide in, the humans were less frequent sitting ducks. They kept sending commandos to try to dynamite this collapsed building, and I kept eating them, which also heals your monster. And I got the game in

  • by Tempest_2084 ( 605915 ) on Thursday March 01, 2018 @12:02PM (#56203073)
    I'll admit that I didn't read the article (just watched the video), but I'm assuming that they're not running this on a real Atari 2600. This looks more like a bug in their emulation than in the game code. Most of us have played the 2600 version of Q*Bert to death and have never seen anything like this before.

    Actually there is a major bug in the 2600 version of Q*Bert that I'm surprised the AI didn't take advantage of. If you time it right and jump towards an enemy right as they're jumping towards you, you'll pass right through each other. This is because in the 2600 version you don't actually jump between cubes, you just 'teleport' between them due to system limitations. Once you get the timing down it's actually pretty hard to die.
    • My comment got a bit garbled there. What I meant was that the enemies 'teleport' in this version, Q*Bert actually does jump between cubes.
    • by mikael ( 484 )

      Didn't the Atari 2600 use player-missile graphics? For the Atari series of computers, there were two or four sprites each represented as a band of bytes that stretched down all the scan-lines of the screen (256 in total but only between 16 to 192 visible on screen due to overscan). Each bit would correspond to one pixel. Then auxiliary bytes would set the X-coordinate, scale (x1, x2, x4) and colour. Collision detection was handled using simple bit masking. If any two bits of two different players overlapped

  • "John, the kind of control you’re attempting simply is it’s not possible. If there is one thing the history of evolution has taught us it’s that life will not be contained. Life breaks free, it expands to new territories and crashes through barriers, painfully, maybe even dangerously, but, uh well, there it is."

    -Dr. Ian Malcolm

  • I'd be interested to see what exploits it could find in other games.
  • Very cool and a great application for AI.

    Any comments on whether or not this technique can be used for testing apps (or even unit testing methods) as well as security testing?

    I realize that this approach requires mondo cycles and a fair amount of time, but if the end result was insight into algorithm (and maybe compiler) flaws as well as new security exploits, it would be worth the investment.

  • "So fam when are they going to push updates? Where's the Ethernet port? Ohhhhh...I think it runs on WiFi and large SD cards." Friend: "Turnt."
    • by Ksevio ( 865461 )
      Looks like it runs on a PC in an emulator so they can push updates to fix that pretty easily
  • I immediately wondered if this would wind up vindicating Todd Rogers and his impossibly fast Dragster score.

    Probably not.

  • Way too much time on their hands and they do nothing but playing video games.

  • by Zephyn ( 415698 ) on Thursday March 01, 2018 @12:37PM (#56203387)

    When reached for comment about this AI cracking their game, the developers' only response was: "@!#?@!"

  • Tom 7 (suckerpinch on YouTube) wrote a program that teaches itself to play SNES games. He wrote a paper for SIGBOVIK 2013 on the subject, and also created a surprisingly entertaining 16-minute video explaining how it works and showing some of the outcomes. Throughout this video, Tom points out some "strange choices" (i.e. "cheats") that the computer discovers and makes use of in Super Mario Bros, Pac-Man, and Bubble Bobble.

    Computer program that learns to play classic NES games [youtube.com]

Some people manage by the book, even though they don't know who wrote the book or even what book.

Working...