[In this in-depth interview, Gamasutra talks to AI expert Dr. Ben Goertzel of Novamente about making virtual pets smarter -- and how better adaptive AI could change game design.]
As AI developers were convening in San Francisco for GDC, another artificial intelligence conference was wrapping up in Arlington, Virginia, a short walk from the Pentagon. AGI-09
, the second conference on artificial general intelligence, brings together researchers attempting to create learning, reasoning agents with broad, humanlike intelligence.
Organized by Dr. Ben Goertzel
, chief science officer of Novamente LLC, the AGI conference series is a motivated effort to steer research back in the direction of the original intents of AI, namely to make a thinking machine.
Goertzel's plan is to inch up the cognitive ladder by incrementally developing more cleverly adaptive pets in virtual worlds and massively multiplayer online games.
This discussion with the AGI designer focuses on the prospects of introducing general intelligence to non-playable game characters.
The topics addressed include contemporary examples of game AI and what steps need be taken for game designers to foster MMO environments suitable for genuinely clever artificial general intelligence.
In your presentations at various science and technology conferences, such as last year's Singularity Summit and AGI-08, you have brought up the development of virtual pets in games as a pathway to humanlike artificial intelligence. What games did you look at in researching the current landscape of virtual pet design?
Ben Goertzel: There are an awful lot of virtual pet games out there, and my daughter has played a good percentage of them. You can look at Nintendogs
, which is a Nintendo DS game, or more sandbox style games like Animal Crossing, Harvest Moon
, and The Sims 2: Pets
One of the things you see that surprised me is how attached people can become to these pets, even though there's nothing to them. It's a cute picture that moves around according to some pre-programmed rules, yet there is real emotional feeling toward these animals.
What would you say are the major stumbling blocks of the AI found in the games you just mentioned?
In Animal Crossing
or Harvest Moon
, the animals are automata. They have deterministic behavior with a bit of randomness thrown in. They cannot adapt or personalize their behavior or learn anything new, so the gameplay is focused elsewhere.
What I have found is that you cannot usually take an existing game and work adaptive, reasoning AI into it. Whatever system of rewards is set up to accumulate money or points in the game would break. This is a big issue for the invasion of advanced AI into videogames because game designers are not used to thinking: What could I do if I had an AI that could learn and adapt, that could surprise the player with different behaviors?
What might be a good testing ground for the first generation of AGI in games?
The most obvious way to put intelligent pets into games would be in sandbox type games like The Sims 2: Pets
. There, you are trying to make money, but if the pets do random, funky, non-deterministic things, that could still be okay. In games that are more tightly controlled, it would be harder to make the animals adaptive without throwing off the core gameplay.
You spoke at the Foresight Vision Weekend in Palo Alto about Novamente's flocks of virtual parrots sharing a store of knowledge. What is the purpose of having a collective parrot unconscious?
That is part of the secret of making it scalable. The only way on current processors you are going to get hundreds of parrots per computer is to have them share a lot of their knowledge. Anything that two parrots both know should be shared in some abstracted format rather than redundantly, which is of course different from you and me.
Of course, you don't want to have so much collective knowledge that you squelch all the diversity and variance. Each agent in our system has something called a personality filter, which tells us what knowledge from the collective mind to bring into each personal mind.
If it's a game where each little girl has her own personal pet, and the charming thing is how each pet is really different, you would not want to overdo the collectivity aspect.
You have mentioned that part of what allows for adaptivity in your agents is their ability to learn new behaviors through a variety of approaches. What are some of the methods you use now to train your virtual pets?
For one, they can learn through explicit or implicit reinforcement. Explicit reinforcement is like saying, "Good dog!" "Bad dog!" Implicit reinforcement is life lessons: the dog goes without food and learns that's not a good idea.
There is also imitative learning: you see what some other agent does, and copy it. That can both be unsupervised (copying because you like copying) or it can be reinforced. Then there is what I call "corrective learning:" you want your dog to sit down, so you push it down. You see some of that if you study yoga or tai-chi. The instructor will actually straighten your body out. That can be very valuable with motor learning in particular.
Is there a behavior you could look for in an artificial agent that would signal it's an AGI?
It's really not any one behavior, because that could be scripted. It is more the ability to generate new behaviors adaptively and to react to what happens.
Take the example of making friends with an AGI squirrel with its own motivational system. A traditionally scripted AI squirrel could of course be provided with a bunch of rules telling it when and how to make friends with you.
But an AI squirrel with its own motivational system and some deeper intelligence tied into that, could make friends with you in all sorts of unplanned, spontaneous ways, and that makes for a lot more interesting gameplay.
But the game environment has to have a fair amount of richness to make this kind of advanced AI worthwhile. For instance, if it happened that there were not many acorns that year in the virtual environment of the game, you could put out food and bowls for them.
Right now there is not that much richness to these virtual environments, so acorns are not going to stop falling one year, which leaves AGIs with not that much to do.
There really is not much happening in virtual worlds these days. If you go into Second Life, it's empty and kind of bleak. Part of it is the lack of AI and artificial life--you should have squirrels running around and birds landing on your shoulder.
In the AGI conference series, have there been any talks that you felt were particularly applicable to the videogame industry?
One of the stronger talks was about the combination of evolutionary and analytical methods for program learning, which is a fairly technical topic. There are many examples of genetic algorithms in gaming, such as in Grand Theft Auto IV, where NaturalMotion
used evolutionary methods to evolve natural-looking animations for the characters and the cars.
On the other hand, there are plenty of uses of analytical methods in gaming, mostly decision tree models. In a gaming context, you don't see those combined very often. That combination could provide a lot of power to flexible learning, especially in transferring learning from one domain to another.
You have mentioned that games today are generally too rigid to support the inclusion of general intelligence? How would it be possible to make an MMO for an AGI?
You could make a genuine AGI system that learns through its interaction with the players, where the game would be massively stickier. It would make for a longer lasting game experience because the game would change while the AGIs get smarter and smarter.
What are the major challenges at this point to making this design concept a reality?
The interesting and difficult question is whether it can be done in an economically viable way. I'm quite confident it can be, but this is where I see the biggest challenge lying.
Because the AGI we are running now requires a number of Linux boxes running together to make one mind, just from an economics perspective you can't have a game where each non-player character is an AGI. The real obstacle to be overcome is making the AGI code efficient enough where it becomes economical to put AGI-powered non-player characters in games. In that sense, game AGI is at an early stage of development.
How much space do they take up currently?
I can run a few parrots on my laptop, but they take up a lot of RAM. This code is at the border of research code and product code, so if you are going to run that on a console or a PC together with a game that is really intensive in terms of graphics, it's not going to work right now. This is why we are focused on MMOGs, because there you can run things on a server.
How could AGIs operate in an MMO world that is familiar to game players today?
Well, there's a huge number of different ways, of course. Virtual pets are just one example, though they're one I've been thinking about a lot. To put pets in an MMOG you would not necessarily need to make everyone's pet a powerful AGI.
You might use pets at the border between AGI and narrow AI, where they could learn new tricks and have some personalized spontaneous behaviors. That's one thing we've been experimenting with already.
Going beyond pets, I suppose that in some MMOGs you could make a few high-level bosses these powerful AGI gods that players did not get to all the time. Maybe each of those gods uses ten servers. They could communicate using some natural language and try to outsmart you, maybe even in some cases succeeding. Because there are only a few of them, it would be more tractable in terms of compute resources.
These AGI opponents would be more difficult to defeat because they would be picking up strategies from players they encountered?
Exactly. You wouldn't be able to fool them the same way three times. That makes the gameplay really different, because a lot of the time we rely on the fact that you can fool the boss the same way every time you confront it.
Do you see there being a clear path to putting together the hardware requirements for a school of AGI pets?
It's a very clear path. You would need a lot of hardcore code optimization, taking stuff that we are doing in AGI research projects and implementing it in a more efficient way. That would be aimed at packing a lot of intelligence on something like a single blade server, while using clever techniques to offload some of the intelligence algorithms onto NVIDIA PC supercomputers with a bunch of GPUs. I think it could be done.
[Images courtesy of Novamente. Video from AGI-09 can be found on the AGI-09 website.]