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.

4 of 170 comments (clear)

  1. Re:Don't most games do this... by lgw · · Score: 4, Informative

    The point is that the AI learned to play the game from only screen data. No maps, no preset strategy, just visual data. So, it has to learn to recognize threats and obstacles, and what to do when it does.

    Beating humans is a good test, because humans are good at exploiting patterns, so shortcuts like always taking a fixed route wouldn't work for long.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  2. Re:Don't most games do this... by swb · · Score: 4, Informative

    In-game bots may be operating on a limited view, but they're operating on actual hard data in basically machine-usable form. What's impressive about this is that it learns from what's on the screen -- distances, obstacles, paths, its location are all learned from visual input.

    What I'm curious about is how adaptable their visual learning system is or whether it's extremely Doom specific. I'd also be curious at how long it took to learn to play. I'd also be curious what the learning curve was -- linear, non-linear, flat, steep or what.

  3. Re:Don't most games do this... by Dutch+Gun · · Score: 3, Informative

    Ehh, a first-person shooter is not really all that great a test for AI. Being a videogame programmer, and one who has programmed his share of AI in commercial videogames, the trick is not to create unbeatable AI, but to create an interesting experience for the player. Granted, we use a lot of internal data structures to assist the AI (like for navigation), and we obviously approach things from a completely different angle, but we also have to drastically handicap the AI's responsiveness and aim in shooter-type games.

    Remember, it's trivial for a computer to paint a bulls-eye between your eyes from 500 yards out with a sniper rifle no matter how you're moving or hiding. It's still reasonably easy even with true projectiles, as the AI can calculate perfect flight trajectories so that rocket will precisely intercept a moving target. An AI can't get disoriented, or confused, and has near-instant reflexes that no human can match.

    One trick I've used for shooter bots is to incorporate virtual springs attached to the bot's targets, helping to throw off their aim according to how the target is moving. You can also dynamically adjust the target spring tension or based on other factors, like difficulty scaling, whether the AI agent is running, jumping (throwing off his own aim), etc. That sort of thing, along with adding blind spots, artificial reaction times, intentional mistakes, and so on, are the things you have to do to keep the bots from kicking the crap out of human players just because they could instantly headshot you from across the map otherwise.

    Don't get me wrong... this is a neat little project. But beating humans in a shooter where fast reflexes and perfect aim dominate isn't really the end-all and be-all of AI tests, because our strengths and weakness are in different areas than for computer-based opponents.

    --
    Irony: Agile development has too much intertia to be abandoned now.
  4. Re:Don't most games do this... by Anonymous Coward · · Score: 3, Informative

    From TFP

    b) Game Settings: A state was represented by the most
    recent frame, which was a 60 × 45 3-channel RGB image.
    The number of skipped frames is controlled by the skipcount
    parameter. We experimented with skipcounts of 0-7, 10, 15,
    20, 25, 30, 35 and 40. It is important to note that the agent
    repeats the last decision on the skipped frames.

    and

    b) Game Settings: The game’s state was represented by
    a 120 × 45 3-channel RGB image, health points and the
    current tick number (within the episode). Additionally, a kind
    of memory was implemented by making the agent use 4 last
    states as the neural network’s input. The nonvisual inputs
    (health, ammo) were fed directly to the first fully-connected
    layer. Skipcount of 10 was used.

    The only thing they gave the AI for the experiments were the screen image, the time, and in the second case, the health.