Slashdot Mirror


Quake Bots Rock The Prefrontal Cortex

0x4B writes "Some researchers from Vanderbilt University have used id Software's Quake III Arena to test a model of the human prefrontal cortex. The model was injected into the control systems of a Quake Bot, allowing it to flexibly adapt to changing enemy characteristics. The bot was required to identify the vulnerability of its enemies to different types of weaponry through repeated combat trials. Not only are the bots busy shooting each other relentlessly, but you can catch the action by joining the battle as an observer. Source code and Quake virtual machines are available for download."

5 of 30 comments (clear)

  1. slow learners? by den_erpel · · Score: 2, Informative

    I just tried it for about 5 minutes (seems to me that this should be long enough for beasic learning), but the bots (with Quad colours) just seem to run around and do not react at all, no mather how many slugs I shoot at them.

    I tried it with various settings of difficulty :( Am I mssing some README?

    --
    Genius doesn't work on an assembly line basis. You can't simply say, "Today I will be brilliant."
    1. Re:slow learners? by JBv · · Score: 2, Informative

      Just a suggestion to make tthe pics clearer:

      \seta r_vertexlight 1
      \seta r_drawgun "0"
      \seta com_blood "0"
      \seta cg_brassTime "0"
      \seta cg_drawCrosshair "5"
      \seta cg_crosshairsize "24"
      \seta cg_marks "0"
      \seta cg_gibs "0"
      \seta cg_blood "0"

  2. Re:Caught by Devir · · Score: 2, Informative

    that would be genetic algorithms. The menioned bots use what I believe is Neural network modeling specifically the frontal lobes of the brain. If genetic, neural and fuzzy algorithms could be merged into one bot you'd have one hell of a killing machine. of course you'd need some super computer to run them. Unless you only used the genetic algorithms for in house creation.

  3. Re:AI programming by tamer*f · · Score: 2, Informative

    The model of PFC that we used is a simple backpropagation artificial neural network with some modifications. Recurrent connections to layers with special activation weights enable the working memory and cognitive control functionality of the model. It would be a little much to clearly describe it here, but if you are interested you can check out http://psych.colorado.edu/~oreilly/pubs-abstr.html #01_id_ed -the original paper describing the model. I've made an effort to describe it in simpler terms on the site we are commenting on. There are plenty of neural net resources and sites on the internet. If you are interested in Game AI I suggest checking out the book "Game AI Programming Wisdom" edited by Steve Rabin. Even if it's too technical or you're too busy to use the techniques yourself it's interesting to see what's going on behind the scenes in your favorite games. Also, the source to our mod is available and includes some very simple and useful NN utilites written by my Professor. I believe I listed the names of those files at the bottom of the downloads page. Please read the GNU public license first. Hope this helps. -T

  4. How to run the mod by tamer*f · · Score: 3, Informative

    It seems like it is a little unclear to some people how to correctly run our mod (largely due to me leaving out significant details on the download page). It is intended as an experiment involving one learning bot utilizing the PFC model and two special dummy bots. You need to make sure you run the game using the map I made so that the bots have constant interaction. Using the command line listed on the download page, start the game, and then switch yourself over to be an observer. Run the following console command: /idscenario

    Now you have some very colorful dummy bots with unoriginal names running around doing nothing. But it gets better....

    Use the console command /addannbot just like you would /addbot to put a learning bot in the mix. For best results, use a bot that doesnt suck. Now switch over to the learning bot's first person view to see the status of its Neural network and PFC layers changing as a result of its perception. Igor, its aliiive.

    Now, there is no damage or death in the mod because we didnt want this to complicate the experiment. What you should see is a blue icon appear above an enemy that is hit. A deflected shot will bounce off like it hit the invulnerability sphere. When the bot hits, you will notice the little white box at the top of the network status overlay (upper right corner of the screen) go solid. This signals that the bot got a reward.

    Directly under that are two yellow boxes, these represent how much the bot wants to choose each weapon (full is highest). Once the bot learns something you will notice these switching dramatically in response to the characteristics of its enemy. The bottom row of red boxes shows the characteristics of the current enemy (shield color, gun color, position, ID).

    Now with all this information the bot tries to figure out what about its opponent is important in deciding how to kill it. The top row of yellow boxes at the left of the screen encodes what dimension the bot is considering, shield color, gun color, location, or ID(name). When the bot picks the right dimension, it can reliably slam its opponent with the right beam color. When it chooses the wrong dimension, it performs miserably until it gives up and explores something else.

    Our experiment is set up such that the first correct dimension is shield color. After the bot figures it out the experiment will autoswitch to the ID dimension. When this happens you will see a message appear at the top of the screen in red. When its behaving well, the bot will catch on quickly.

    Thanks for checking out the mod, and sorry about being late with this info. If you've got questions a lot is explained in the code walkthrough on the site, otherwise just ask me here. cheers,

    -Tamer