PS3 Informer

The GameFlavor Network

 

Why Procedural AI is the Next Big Milestone in Gaming

procedural_ai_icon2.png

Here's a scene that will be familiar to many current-generation gamers. You are cruising down a city street in your drop top, rap music blaring from the radio. Up ahead, you spot a hot dog stand and pull your car up alongside with a well executed handbrake slide. Your car, like everything else in this world, responds accurately to physics. Jumping out, you demand a succulent and health-restoring hot dog from the vendor. The health benefits of hotdogs aside, so far your mind is blown at how lifelike all of this feels. Then things begin to go south.

Handing your meal over to you, the hot dog seller greets you with his usual cheerfulness: "Here ya go sonny, the finest dog in the city." Now that you think about it, he always seems to say the exact same thing every time you see him. The vendor then stares at you expectantly as you wolf down your meal. You begin to wish that you could engage this hot dog vendor in some more idle chit chat as you eat, but sadly your communication abilities are limited to bumping into things or shooting them. Hoping to engage the gentleman in conversation the only way you know how, you equip your shotgun and point it at him.

"Arrrrrrrrghhhhhh!" he says, like so many other people you've met, and runs away.

How can we create realistic open world games where people that we meet in the street repeat more than the same 3 phrases over and over ad infinitum? Well, there are two main approaches that developers could take. The first approach would involve rounding up hot dog vendors and then recording thousands and thousands of lines of dialog from each, ensuring that the simulated characters you met in the game would always have something unique to say. Of course, this would require the invention of a new kind of storage medium just to contain the millions of lines of spoken dialog that the finished product would contain. This approach is not very practical. Luckily, there is another technology looming on the horizon that could enable game developers to craft truly convincing worlds full of speaking characters: Procedural Artificial Intelligence. This would involve creating complex behavioral algorithms and synthesized speech routines so that characters in the game could literally decide what to say based on how they were feeling that precise moment.

Procedural content generation has already been used effectively by game designers to create incredibly detailed graphical environments using tiny file sizes. Rather than storing all of the necessary textures to render, say, a forest on the game disk, procedural algorithms tell the game what to draw on the fly using numerical instructions. At a basic mathematical level, there isn't that much difference between a painstakingly hand-drawn texture of tree bark and a short set of numerical instructions that tell the computer how it could draw its own tree bark.

Take for example the first-person shooter game .kkrieger, which was almost entirely created using procedural content generation. Because of its innovative approach, the game weighs in at only 96 kilobytes in size. That's right, a fully featured first-person shooter with current generation graphical detail can be stored in a file the same size as its own screenshot, pictured below.


procedural_kkreiger.jpg

This screenshot from .kkrieger contains more bytes of data than the entire game itself.





Procedural artificial intelligence would be based on exactly the same principles used to create textures and graphics, except that algorithms would be used to generate lines of socially-acceptable dialog for game characters. Some designers are already experimenting with procedural approach to artificial intelligence. Right now it is being used to program "flock" routines which allow enemies in popular first person shooters like Killzone 2 to act together as a group convincingly. But much more progress needs to be made before this technology can be used to craft living, breathing NPCs with simulated personalities.

There are two main hurdles that academic researchers need to overcome before game developers can utilize these techniques in their products. The first is that computer scientists need to find ways to more realistically synthesize a human voice. Right now, when you are speaking to a computer-generated voice over the telephone, it is immediately clear that it does not belong to a human being. This effect is similar to the "uncanny valley" feeling we get when looking at a poorly-made 3D model of a person. However, computer scientists are close to getting this technology right, and soon it will be impossible to detect a computer's robotic speech. In fact, developers will be able to synthesize many diffrerent kinds of voices, male and female, young and old.

However, an even more serious obstacle standing in the way of effective procedural AI is the ability for computers to make meaningful connections between words. Right now, the closest technology we have to this is found in search engines like Google, which create massive databases of words that are semantically related to improve search accuracy. For example, Google knows that "Bridgestone" and "Pirelli" are two words that commonly appear in searches for the word "Tires". The next step of creating a computer program that can come up with meaningful and grammatically correct sentences is a monumental task for linguists, computer scientists and AI programmers.

The cool thing is that once this technology is perfected, it won't take long before it starts to appear in our video games. Furthermore, while the thinking involved in crafting procedural code is extremely onerous, the actual amount of physical storage required for something like this is not very weighty. Considering that video games of a decade ago contained only rudimentary AI and physics routines, we wouldn't be surprised to start seeing games like this in as little as ten years.


------------------------------
Kris Erickson is a lifelong gamer, researcher and technology enthusiast.






Stumble It!

Comments

pablo

 - March 5, 2009 10:57 PM

great piece! very interesting...

klarax

 - March 6, 2009 3:06 AM

Don't see how this would work. I can see how it can generate random lines of code for diffferent dialogue. But to get a human sounding voice, it would need to be voice acted. otherwise your left with a robot sounding voice like that in Word.

UltraNova

 - March 6, 2009 5:32 AM

This must be the best article I've read in weeks! Well done Kris keep it up!

Well if they manage to pull this off in ten years along with the near-photo realistic visuals of 2019 (well, as the computing power law dictates)games will surely surpass movies in every single aspect!

I am a gamer since the days of the Atari 2600 and from what I've seen so far (Killzone 2 AI, Crysis visuals on very high mind you) we are definitely on the right track!

Ben F Rayfield

 - December 28, 2009 11:36 PM

http://en.wikipedia.org/wiki/Procedural_programming

"Procedural" is not the right word for this kind of software. Its the opposite of "procedural". Its where the software thinks about what to do instead of PROCEEDING exactly as the programmer designed, which results in things the programmer could not have expected. Despite it being called the wrong thing, the ideas expressed in this article are important to building more interesting and advanced AI in games. Just don't call it "procedural".

Kris

 - December 29, 2009 6:55 PM

Ben, thanks for your comment and link.

I should have been more clear about what I mean by "procedural" as opposed to standard AI. What I envision is still artificial and directed, as you say, by the programmer. It's just that instead of manually recording a million lines of voice dialog, the designer uses procedural algorithms to generate believable amounts of player-computer interaction (voice, animation, NPC behavior).

Of course, this is still several years out, unless programmers know some new techniques that I don't.

Ben F Rayfield

 - December 30, 2009 12:57 AM

Kris, we mostly agree, but I tend to think in a more abstract and long-term-strategy way of how to build the best AI.

The ways that I think are not good for making money in the next few years. I think more long-term than that, and thats why most businesses and people reject my ideas, but hardcore AI researchers and math people tend to be more interested in them. I prefer Neat in low-level things and Scruffy in high-level things, and that often requires rejecting dependent softwares that are incompatible with that design strategy. It requires keeping things simple at the low-level and letting the AI build most of the higher levels. Its very theoretical. Neat is similar to "procedural".

I'll quote from http://en.wikipedia.org/wiki/Neats_vs._scruffies

"In artificial intelligence, the labels neats and scruffies are used to refer to one of the continuing philosophical disputes in artificial intelligence research. This conflict is over a serious concern: what is the best way to design an intelligent system? Neats consider that solutions should be elegant, clear and provably correct. Scruffies believe that intelligence is too complicated (or computationally intractable) to be solved with the sorts of homogeneous system such neat requirements usually mandate."

You said:
"the designer uses procedural algorithms to generate believable amounts of player-computer interaction (voice, animation, NPC behavior)."

I think of that more as a hack and a shortcut, something necessary if you want to make money in the next few years, but in the long-term is not a good idea. In my AI research, I try to hard-code (procedural) as little as possible and let the AI design the rest. I'm just getting started, but I've written many design documents about how to build more advanced things, like the things I describe here. Read http://audivolv.com for details and downloads of my musical instrument evolver.

We're both trying to advance AI past what most people think is possible, but I'm going at it in a more abstract way.

Post a comment

(Comments are moderated, and will not appear until the author has approved them. Thanks for waiting.)

Join the GameFlavor Forums

Tasty Talk. Join the conversation on the GameFlavor Forums!

Subscribe

-->
 
GameFlavor: Delicously good video games coverage

Copyright © GameFlavor 2005-2009. All rights reserved - Privacy. Don’t steal our stuff!