While working on a mobile game with wireless multiplayer, the design team was concerned that the mode was a waste of resources. Stats showed that too few people played similar games online. Even if someone wanted to play, the chances of them finding someone else to play with at that time were slim-to-none. I suggested we have a couple AI players always online to support this mode. The game has no method of communication, so no one would know they weren’t real people. This idea was shot down as being deceptive (i’m not arguing there) and that people might be able to tell they were not playing against real people.

That night, when I went home to play Halo, I pondered what would make a believable AI. Is it a fair mix of mistakes? A variable delays in reactions? Is it simulating communication? I was then sniped by some kid for the 90th time AND IT CAME TO ME!

Make the AI an immature jerk!

When massive amounts of players have the ability to create content, you will always find penises, boobs and sexual references everywhere. Game companies spend millions on filtering inappropriate content, most of which is user-generated. Have you ever seen the warning “Online interactions not rated by the ESRB”? We all know why they display that. If you want to create an AI whom no one would question their humanity, make them swear, perform inappropriate jestures and act like a tool.

Here is a pseudo code for a believable first person shooter AI:

Target Player
Shoot at player until player is dead
Move to player
Run function (Tea Bag)

Here is pseudo code for a believable RTS AI:

If main base destroyed,
Print string to chat “You’re all gayz!!!”
Run function (Rage Quit)

I encourage you to read about the Turing test, and how programs are able to fool people into believing they’re human through spelling errors, flirting and acting crazy. In a sense, this says something about a general human feeling; that we expect the lowest common denominator from our fellow man–or at least from our anonymous fellow gamer.