Why Procedural AI is the Next Big Milestone in Gaming
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.
This screenshot from .kkrieger contains more bytes of data than the entire game itself.
- What's on Your Christmas Shopping List?
- Sony Still Losing Money on Every PS3 Slim
- Court Says Interplay Can Publish Fallout MMORPG
- Why Did Sony Lose Sales Momentum in November?
- Feeling Creative? Try the Samsung Wow Challenge
- Halo: Reach Bigger Than God of War III? Impossible!
- Dead Space 2 Costume for PlayStation HOME
- Game: Drive Around the World on Facebook
- Yakuza 3 Coming to America and Europe in March
- Yakuza 3 Coming to America and Europe in March
- Mass Effect 2 on PS3 Nixed: Or How MS Stole Back Exclusivity
- Jurassic: The Hunted Preview
- God of War III Demo is Here... in Japan
- Kanye West Among Scratch Artists
- Super Street Fighter IV is a Bad Move for Capcom
- The Dead are Rising in Tatsunoko VS Capcom
- Massive Sega Leak Reveals Motion Control Plans
- Trine Now On PSN
- Yakuza 3 Coming U.S. and Europe After All
- Tales of Vesperia on PS3 Smashed Sales of 360 Version
- Introducing the Subsonic Arcade Stick for PS3
- Splitfish Dives into 2nd Annual Access Hollywood "Stuff You Must..." Lounge
- SplitFish GameWare Dominates Two Continents During 2007 Holiday Season
- AccessKey IP, Announces Plans to Spin-Off Retail Sales Subsidiary TeknoCreations
- Guitar Hero III: Legends of Rock Wireless Guitar Controllers Hitting Retail Shelves in Early 2008
- New LavaGlow Wireless Controller Lights up PS3 Gaming Experience
- Mad Catz Secures Extended License to Produce NBA Accessories
- DUALSHOCK3 Wireless Controller with Rumble Feature to be Introduced for Playstation3
- Logitech Unveils Bluetooth-Enabled Headset and Keyboard Designed for PS3
- SplitFish's FragFX Peripheral Ships
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.
Related Articles:
Gaming in the Year 2020: What Does the Future Hold?
Are Video Games Getting Dumber?
Tasty Talk. Join the conversation on the GameFlavor Forums!
GameFlavor Forums
- Go PSP. Unlimited PSP Downloads!
- Net Games Now! Unlimited Video Game Downloads!
- Join over 3 million people enjoying the widest range of free games including RPG, sports, racing, FPS and more!
- Get access to the largest downloading network on the planet!
- Overload Your Console! Unlimited Movies Downloads For PS3, PSP!
- Get instant access to unlimited game downloads! No download fees!
- PSP Download Center Unlimited Access!
- PSP Expert - Unlimited Movie Game & TV Show Downloads!
- MovieZone Nova Unlimited Movie Downloads!
- Make Money Video Game Beta Testing!
- Game Copy Wizard. Backup any game!
- Copy That Game - The Easiest Way To Copy Games!
- Get A Free IPhone, XBox, PS3, Wii, Pc, Laptop, Etc..Easy!!
- LinuxforPS3installer. This Is Scorching! Totally Unique Product That Installs Linux On A PS3!!
- PS3. Overload Your Console! Unlimited Movies Downloads For PS3!
- PS3. The Best Media Online! Get unlimited access to the largest download network on the planet now!



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.