Tuesday, August 26, 2008

Confessions on...

...cheating the system.

It has been a very long and important interest of mine to experiment with and to create an artificial intelligence. I remember way back when I was about 14 or so I created a very primitive simulation of A.I. All it did was transform the input into a question. So for example if you gave the stimulus request of "I love to run", it might provide the response of "Why do you love to run?" Or if given "Are you a human or a computer", it might respond with "Why do you think I'm a human or a computer". Of course, this technique does not work in all instances. But it does the trick a good portion of the time.

Alan Turing, a leading computer scientist in his day (some say he actually created the discipline), poised a question that went something like this: "if you are, as a human, unable to determine if you are chatting online with another person or with a machine, and if you really were chatting with a machine, would that machine be then said to have consciousness and to think?" So called is the test named after him - the "Turing Test" (all computer science grads know what this is; if you are one and didn't know, shame on you). A machine is said to pass the Turing test (to have intelligence) if it can fool a human into thinking it was another human just by chatting with him/her. So in a way, he began the foundations of Artificial Intelligence.

Combining my interest in online gaming, specifically FFXI, AI, and my somewhat lazy nature, I decided to create a "bot" that would do the dull and repetitious tasks in the game. I made a bot that would kill mobs (monsters) to gain experience points as a way of "leveling up." I actually started botting in the game 2 years ago but interest dropped and then there was cancer. I've recently gotten back into it and the game as a way to keep myself busy.

Just recently I've made another bot that would transport players to other parts of the virtual world - for in-game money in exchange. A big problem to this type of bot is that it requires a lot of interaction with other players. People consider it cheating and is against the terms-of-use agreement of the game. If you're caught you could be reported to a GM (Game Master - law enforcers in the game world; in FFXI, they are hired by the company) and could possibly have the ban hammer dropped on you. So, it should be quite obvious to have a need of a good AI. Enter the world of online chatbots - bots available online for your chatting amusements (did you know that there is a "God" bot? Truly makes for some interesting confessions I would think). One of the most famous chatbot is ALICE. It has won the Loebner Prize several times over in the past and developed by Dr. Wallace who also developed AIML (dialect of XML containing LOTS of stimulus-response pairs). A site which hosts AIML files and makes available a web-service for processing chat requests, Pandorabots.com, was the key to my FFXI AI bot. A lot of time was spent on modifying the default set of chat requests and responses to contour to the lingo of the game. But not only that, the default set simulates an intelligent robot - and I wanted a simulation of an intelligent person. So if you were to ask it "Are you a real person?", it would respond with "No, I'm a real robot." This actually did happen in-game during testing of my bot. Fortunately for me, the other player thought it was being sarcastic and she responded with "was just checking sorry." I thought that was VERY funny. LOL. I keep modifying the AIML files whenever an inappropriate response is given. It's getting "smarter."

As far as I know, I'm the first person to integrate an external AI entity pretending to be a real person in an online virtual game that interacts with other online players (and that works decently). Most (if not all) of the bots in existence do not interact with other players; in fact, they avoid other players to avoid from getting caught. I eventually plan to confess my botting to a popular FFXI site, just hoping to get famous...or infamous (LOL) before I die. I hope word would then spread to other gaming sites that things like this is possible and is happening. I totally understand that dispersing this knowledge would initially have severe in-game social and financial consequences as more and more people would be doing this (can you say inflation?). How cool would it be to be the one responsible for single-handedly simultaneously crashing the financial markets of multiple virtual worlds?!?! My account would probably be canceled. And I imagine this idea would spread to other games. So I have to apologize to some friends and a cousin of mine who already play another MMORPG - "sorry to ruin the game for ya." LOL.

But seriously, I think it is a good thing in the long run. I believe it will spur innovations in online gaming AI and the AI community in general. Imagine playing an online game with a bunch of intelligent bots and not even know it! I predict that this will become reality in the not-too-distant future. It's like THE classic sci-fi film "Bladerunner" but in a virtual game world. Instead of the 'bladerunners,' you got the GMs to worry about. How would you be able to tell the bots apart from the real thing?

Go ahead and ponder on this for a moment. In the mean time, I'll continue on making virtual money while I sleep. LOL.

Now this is the ultimate application of the Turing test!


If you want to chat with my bot, you can go here. Go wild! =)

... be forewarned, the site keeps a log of your chatting!! And I can see them (but not from who, though)! LOL.



Edit: Ok, someone beat me to it: http://sl-devcorner.blogspot.com/2007/04/second-life-alice-bot-chat.html. Oh well.