In Second Life there is a place called Uruk, which is the name of humanity's first city, and it's inhabited by 16 or so citizens who do chores, chat with one another, accomplish tasks, and gather together to pray. And here's the thing: They're all bots, powered by an artificial intelligence program lead developed by Anton Bogdanovych (shaqq Korobase in SL), the University of Western Sydney researcher who's also been doing innovative work connecting Second Life to a motion capture suit. For the Uruk project, Anton's goal is to connect history students to an immersive simulation of the ancient Sumerian city. Have a look:
As you can see, the avatars interact with each other and artifacts around them, even using tools and lighting fires. A lot of these activities, Anton tells me, go into performing complex, multi-part, dynamic tasks:
"An agent that can do dynamic planning can dynamically find the right sequence of actions that will lead from its current state to the goal," he says. "In the case of this ancient city, we assume that simple workers can¹t rest before they finished their work..." So if a citizen is programmed to make a pot, his task list would go like this: 'Approach the water pot -> add water into clay mix -> make the clay -> approach the pot making place -> make the pot -> rest.'"
With this dynamic planning, Anton's AI agents can respond to other agents, or even human-controlled avatars: "In the video I show the case when I deleted the water pot, while the agent was running its 'Have Rest' plan. When he realized that there is no water, he terminated the current plan, updated the state to 'No water' and recomputed the plan with this new stat. So it was able to go into the house and grab the water. And then continue as before." Anton believes his dynamic AIs can ultimately perform 30-50 tasks. "The only slowing down factor in this case is how quickly can we design the objects and animations." (And when you think about it, how many discrete tasks do you perform on a daily basis? Maybe near that number.)
Another noteworthy AI task is collective: "Every 5 minutes the Priest agent shouts 'Pray' for the entire region to hear. All the agents can assign priority to their plans (where prayer has the high priority). So as soon as they hear this request, they suspend their current plan and run to the temple (cleverly avoiding all the obstacles along the way.) When the prayer is finished they resume whatever they were doing before."
I got a chance to watch the citizens of Uruk pray and go about their daily activities first-hand, and can say it's pretty impressive, a rudimentary approximation of Sumerian culture in the metaverse. (Come to think of it, Sumer is an important part of Snowcrash.)
Anton's Uruk project is currently competing in an AI contest, and for that reason (not to mention the threat of additional lag), it's closed off to the public. After the contest ends in the next six months or so, he tells me, he'll open it to a Sumer-starved public.
This is the first I've seen of avatars in SL that could actually be considered "NPC's"
Can't wait to check it out when it's public.
I hope this idea catches on.
Posted by: Adeon Writer | Thursday, December 09, 2010 at 07:43 AM
Great job and great project.
I Hope that you have a lots of sucess!
Hug
Gonçalo Matos
University of Trás-os-Montes e Alto Douro
Posted by: Gonçalo Matos | Thursday, December 09, 2010 at 07:46 AM
This surpasses the level of functioning of NPCs in the vast majority of games.
Combine with language-parsing capability, and the ability to seek the aid of human-controlled characters to accomplish certain ends, and you've got the seeds of a dynamic quest engine with real impacts on the game world.
Posted by: Arcadia Codesmith | Thursday, December 09, 2010 at 07:59 AM
Oh wow. I can't wait to visit this. I'm impressed!
Posted by: Mistletoe | Thursday, December 09, 2010 at 08:24 AM
Outstanding. Hamlet, you obviously behaved yourself around these bots. Shame on you.
Looking forward to the opening for the public! A nice story about education, coming in the wake of last week's closure of the Virtual Frank Lloyd Wright Museum.
Posted by: Ignatius Onomatopoeia | Thursday, December 09, 2010 at 08:32 AM
well... copyrights/property rights on the works of Gilgemesh are long expired. And I dont see many "Gilgemash Style Houses" being sold in SL ....;)
Posted by: cube inada | Thursday, December 09, 2010 at 09:28 AM
Wow, if the bots are mixing clay, presumably they are building something - a ziggurat?
Do they have life spans? Maybe they could suffer randomized deaths, at which point the remaining bots would begin a new pyramidal monument to their passed comrade.
When only one remained, it would divide its time laboring on the multiple unfinished constructs, until it too expired. Then the build would remain static - or perhaps a decay algorithm would start iterating. Virtual ruins.
Posted by: Remington Soup | Thursday, December 09, 2010 at 12:36 PM
Thanks for showing this. I checked it out, and it's fairly impressive. It's definitely a step up from previous AI bots I've seen in SL - there's definitely a few layers of logic involved.
Posted by: Hiro Pendragon | Thursday, December 09, 2010 at 01:27 PM
Pretty impressive that they pick stuff up and it looks seamless
Posted by: Metacam Oh | Thursday, December 09, 2010 at 01:56 PM
This also opens up possibilities for the machinima people out there. Crowded market place scene? No need to invite 30 friends. The possibilities are indeed endless.
Posted by: Laetizia Coronet | Friday, December 10, 2010 at 12:48 AM
How could I have forgotten to add this note? I hope our researcher will code one bot to say this at some point. Geeks will know the source :)
"Many Shuvs and Zuuls knew what it was to be roasted in the depths of the Slor that day, I can tell you!"
Posted by: Ignatius Onomatopoeia | Friday, December 10, 2010 at 04:43 AM
Hi,
I can't find this place. What is the slurl?
Posted by: Machine | Saturday, December 11, 2010 at 08:06 PM