Slashdot Mirror


New AI Is Capable of Beating Humans At Doom (denofgeek.com)

An anonymous reader quotes a report from Den of Geek UK: Two students at Carnegie Mellon University have designed an artificial intelligence program that is capable of beating human players in a deathmatch game of 1993's Doom. Guillaume Lample and Devendra Singh Chaplot spent four months developing a program capable of playing first-person shooter games. The program made its debut at VizDoom (an AI competition that centered around the classic shooter) where it took second place despite the fact that their creation managed to beat human participants. That's not the impressive part about this program, however. No, what's really impressive is how the AI learns to play. The creator's full write-up on the program (which is available here) notes that their AI "allows developing bots that play the game using the screen buffer." What that means is that the program learns by interpreting what is happening on the screen as opposed to following a pre-set series of command instructions alone. In other words, this AI learns to play in exactly the same way a human player learns to play. This theory has been explored practically before, but Doom is arguably the most complicated game a program fueled by that concept has been able to succeed at. The AI's creators have already confirmed that they will be moving on to Quake, which will be a much more interesting test of this technologies capabilities given that Quake presents a much more complex 3D environment.

5 of 170 comments (clear)

  1. no video? by spongman · · Score: 3, Insightful

    this is a video game, after all...

  2. Re:The screen buffer? Really? by Gibgezr · · Score: 5, Insightful

    You totally miss the point: it's trivial to write a perfect bot that hooks into the game's internals and always wins. It's difficult, and more generally applicable, to make a bot that learns to play by watching only the same info the human players get: the screen buffer.

  3. So... in a few years... by WheezyJoe · · Score: 4, Insightful

    Can I rig Call of Duty with an AI auto-pilot plug-in, and just sit back and watch it steam-roll over all the sucker humans in the game? If I play an online game like Overwatch and get smeered over and over by an opponent(s) with perfect aim and lightning-quick moves, will I just assume someone's introduced a bot into the game and I'm wasting my time with my hopelessly inferior carbon-based reflexes? Gaming may need its own version of the Butlerian Jihad.

    --
    Take it easy, Charlie, I've got an Angle...
  4. Ramifactions for the Future of Gaming by TranquilVoid · · Score: 4, Insightful

    It will be interesting to see how future games develop to keep them fun for humans in an AI-filled world.

    Imagine your AI setup gets to the point where it truly has the same input, not needing to be directly fed the screenbuffer but can use a camera pointed at your monitor. Suddenly current anti-cheating technologies mean nothing, and enough people using these would quick ruin a game.

  5. Re:Don't most games do this... by Anonymous Coward · · Score: 4, Insightful

    Modern re-implementations of Doom and Wolfenstein have a depth buffer. The original do not.

    Doom used BSPs to sort walls from front to back and a scanline like algorithm that guaranteed no overdraw, so there is no use for a depth buffer. Sprites were sorted from back to front, and occlusion with other sprites was handled by painter's algorithm, and occlusion with walls was done by using a list of drawn walls and direct intersection testing. Again, no use for a depth buffer.

    The algorithms in the original Doom wasn't perfect, and there are some severe artifacts to find if you know where to look, especially if sprites where near a step. Also, re-implementing Doom in something with a depth buffer like OpenGL either requires modification to how sprites are rendered, or you will get a visual difference from the original game. In Doom, the lack of clipping of sprites against the floor and ceiling is usually easy to handle by just shifting of sprites vertically, for example. But some other games made with the Doom engine depended more heavily on the lack of such clipping in the perspective used by the artists creating the sprites, and it can take some effort to get OpenGL to not clip things clip when that weren't clipped in the original game.