» Burritos and Weighted Vertices

We went to La Hacienda today in celebration of Treinta de Abril, and enjoyed fine Mexican cuisine along with mariachi music. Our discussion was particularly interesting, as we covered such topics as the evolution of gaming hardware and the shortcomings of today’s popular operating systems (Vista).
It was our unanimous conclusion that the gaming industry should take a break, at least for a while, from focusing almost exclusively on pushing the graphics envelope. Instead, some effort should be devoted to AI development and storytelling aspects of gameplay, which haven’t seen real revolutionary changes in the last several years. Nintendo, above all with Wii, has proved that graphics alone do not sell consoles, and FPS fans alone do not buy them.
My idea was that the open source community (or an enterprising group of local developers…) should put together an extensible artificial intelligence library that could be “plugged in” to some of the already amazing graphics engines out there. By unifying a lot of people efforts on a project like that, it may open the way for a new wave of “independent gaming” culture, and get us out of the corporate rut we’re in… if only for the people who really value the art form as much as the simple gratification of video gaming. (Paradox?)
“No small task, that,” I hear you say. AI is immensely complicated and custom-tailored to each game you encounter. Behavioral science dictates, however, that the archetypes we encounter in the virtual reality are just as constant as those in true reality, and the experiment itself would be at least worth a shot for the sake of education.
Random folly from a non-game developer aside, we’re curious to hear what our 5 visitors think about the direction gaming should take in the not-too-distant future. Did Nintendo get it right going after a new demographic? Will variations on user input bring on the rise of an all new round of Pac-Man and Galaga-style games (zero depth of gameplay) with the gimmick of an accelerometer-packed magic wand to sate the hunger of pop-culture zombies? Will storytelling prevail over lens flares and 20-pass antialiasing of partical-based ambience effects? Think about it! Better yet, spout off about it in comments!
Tags: artificial intelligence, discussion, ideas, opinion, random










April 30th, 2008 at 1:56 pm
Unfortunately, now is a really horrible time to try and push a project like this. Lets face it, multiplayer is the status quo right now, who needs proper AI when you can play against actual people? Sure, having good AI systems in place would be great but there’s just no economical reason to develop that technology at the moment. Supply and demand for games still only dictates two things for the most part: 1) pretty graphics 2) mindless fun. AI doesn’t even come into play for 90% of gamers.
All that said though, the current state of AI in games is crap. Not because the concepts are so hard to implement but because nobody is trying, and nobody’s trying because nobody cares. You can’t sell computers and video cards with amazing AI, but you can with amazing graphics. As fickle as this system is, it does support a rather large industry ecosystem. Corporations are always going to follow the money. Innovation may be cheap, but it’s rarely profitable on its own.
If there’s going to be a major push in AI development, it’ll probably be in the porn industry, but they’re notoriously cheap as a rule.
April 30th, 2008 at 2:03 pm
+ 5 points for Chris to refrence porn in a article titled “Burritos and Weighted Vertices”
April 30th, 2008 at 2:04 pm
RE: Chris -
I agree to a great extent, but on the other hand, you have hundreds of thousands - even millions - of regular and hardcore gamers playing MMORPG’s like World of Warcraft (I am Skaabt the Warrior Orc in Burning Blade realm for any other enthusiasts) that could really benefit from some AI. I know that MMO’s as a rule right now don’t really even scratch the surface of AI stuff, and that the point of massively multiplayer games is human-human interaction, but I think this is the perfect time to start breaking into that aspect of the genre. If Elder Scrolls ever did an MMO, I would hope that it could live up to the gameplay and NPC (non player character) interaction of Oblivion - which was a benchmark of artificial intelligence capabilities at the time of its release.
In MMO’s, people generally communicate naturally and it has become the anti-RPG in that sense. What they really need, in my opinion, to get back into full immersion is NPC’s that encourage character building and playing out daily life (and battle) by utilizing a more complex AI. Just sayin’… I don’t have all of the solutions there yet.
April 30th, 2008 at 2:23 pm
>> What they really need, in my opinion, to get back into full immersion…
We’ve never gotten there to begin with. For every moment in the Elder Scrolls games where I started to feel truly immersed, something retarded would take place, jarring me back into reality and reminding me that the “living, breathing world” on my computer screen was in actuality living off an oxygen tank.
I agree with Chris that multiplayer has done great damage to AI advancements. Although I disagree about the supposed simplicity. While the concepts of weighted graphs or neural nets may not be very complex, they also make for very unimpressive AI, in my experience.
April 30th, 2008 at 3:40 pm
I didn’t mean to imply that developing AI was in any way simple. I was just saying that it’s “cheap” to decide to innovate. That is to say, innovation is only what you make it, and you can’t really quantify ideas and conceptualization. Basically, innovation, in a cost/benefit sort of analysis is pretty much transparent.
Lets also keep in mind that the industry’s current largest boon to AI is Peter Molyneux with his boundless stories of Fable 1/2 BS. I’m sure he means well, but he talks out of his ass like he lives there.
April 30th, 2008 at 3:53 pm
“Lets also keep in mind that the industry’s current largest boon to AI is Peter Molyneux with his boundless stories of Fable 1/2 BS. I’m sure he means well, but he talks out of his ass like he lives there.” - Chris Rasys
I nominate the above as quote of the day.
Speaking of which, the intricacies of player/pet relationships bore me, anyway. How about something really useful, like the ability to determine if the player’s movements and actions are suspicious-seeming for guard NPCs in the next Thief game or Assassin’s Creed?
Half Life 2 (particularly the episodes) really innovated with NPC/environment interaction. Now someone do it with NPC/player interaction! Maybe that’s why they’re so quiet with news about episode 3? The graphics are great, now surprise us.
May 1st, 2008 at 12:24 am
re HL2: I think it’s amazing how much can be added to the immersion of a game just by implementing lip-synching and eye-tracking. Going back and playing older FPSs that lacked either of these makes a larger difference in believability than polygon count - and these are relatively low cost. Also, a lot of the more memorable AI highlights in the HL2 camp were more scripted than procedural - the way Alyx squints and complains if you shine the flashlight in her eyes, or the jokes she makes whenever you have to solve a vent puzzle. Not very impressive algorithmically, but these moments add character to Alyx and the game, and they don’t feel forced since they don’t arrive in the form of a non-controllable cutscene. There’s still low hanging fruit.
Technically speaking, it is very hard to generalize AI. Just adding a cover system (the latest “must have” fad in shooters) requires that your NPCs know what “cover” is (the side of the wall/knocked over eighteen wheeler/overturned picnic table that your bullets can’t reach from your current position), that they don’t get stuck in each other or you trying to go into cover or hopping over short obstacles, that they play the right animations when going into/out of cover (and blend appropriately with any damage animations as they get shot), that they don’t just stand in cover if the player runs up and starts hitting them, that they pop out of cover to shoot or throw grenades if the player has been hiding for too long, that they leave cover to avoid grenades, etc… And that these “cover points” and the “path nodes” leading to them be stored in standardized data structures. How are you going to convince me that this engine is not too watered down or too mainstream-focused to be used in my zany cart racer, or pony breeding simulator? I fear that such an engine, if implemented poorly, would merely cater to the popular genres and magnify their abundance, perhaps even hindering innovation in other AI-driven titles as competitive pressure forces them to change their game design into something more suited for the AIWare engine. Every game has to have bloom, every game has to have HDR, every game has to have a cover system now - and every game has to have a group of soldiers flocking together, barking shuffled orders, and kicking open doors while searching for the lone player. Only now we can implement this flocking faster; not a huge gain in my book.
I would love to work on a generalized AI system, if not done so poorly. And if done for commercial reasons, it will be done poorly for the reasons mentioned above; only the currently successful genres will have behaviors implemented, as this is the only way to guarantee profit, and innovation would be further stifled. We would be worse with it than without it. But if done for the sake of improving modern game design, by a group of people with the right intentions (an “enterprising group of local developers”), I think it could be a great benefit.
I think the biggest challenge to good AI is a dispersion of responsibility blended with an unfortunate indifference to the topic. Designers generally have these ideas for how they want their AI to behave, then have to wait for code to put it into the game, then test it and see if it needs ripping out or not. They are scared to take risks because it could mean man weeks of effort for nothing. More than a general purpose AI engine, or perhaps on top of one, I would like to see more effort put into AI development studios for designers, or at least AI-specific scripting languages (no, lua doesn’t count; lisp might, but can be a bit unfriendly to designers). With the right setup, a designer should be able to prototype AI behaviors quickly on their own machine with little programmer intervention. I hear Bungie has used such an approach in Halo, but I don’t know the details, and it almost certainly isn’t general purpose.
So what are some ideas you have for what such an AI engine would contain? If I was tasked by my boss to use this tool to make our NPCs walk more cautiously for a few minutes if they hear a strange noise nearby, what would that skeleton code look like using your classes/scripting language/graphical editor?
May 1st, 2008 at 1:32 am
http://www.youtube.com/watch?v=s9G7DRTuB5s
I didn’t watch it all.
May 1st, 2008 at 8:37 am
Well, first of all, a good AI engine should be built like a good physics engine: using non-specific formulas and algorithms. But this would require a much better and broader understanding of intelligence and psychology. Before a system can even be designed, the rules of behavior would have to be well defined and be generic enough to apply to unknown and unforeseen situations. You don’t write a script to make things fall down, you write code to implement gravity; you don’t write a script to make somebody pay attention to strange behavior, you write code to implement situational comprehension.
Personally, I don’t think we have a good enough understanding of the basic concepts of psychology to properly implement a fully-featured and well-rounded AI system yet. At least not without significant help from psychology experts, and that’s extremely costly. However, if you start with the extreme basics, that’s at least a place to start. Then again, what are those basics? What comes first, situational awareness, personal awareness, want/need systems?
Realistically, we should start by trying to accurately model known behaviors of simple organisms and work our way up from there. While humans certainly do not act like amoebas or insects, they should still *contain* the same fundamental psychological instincts. I think those instincts can be boiled down to just one, the primary instinct: reproduction. Sure, that seems silly for a lot of games, but that is how all life works. Continuing the genetic line is the primary function of all life. If you make the primary instinct just that of staying alive, then the organism/person/whatever would have no need to improve themselves.
Take this hierarchy for example: 1) stay alive 2) need food to live 3)need money for food 4) get job for money. That’s it. Done. There’s no imperative to get a *good* job, or even to get a place to live in. But if you change the tier to start with reproduction (or to make it sounds more PG, “attractiveness”) there is an overarching imperative to get a better job, more money, a better house, a better car, etc etc ad infinitum.
Sure, this system sounds pretty deplorable but it is realistic. A proper AI system should define what aspects make a character “attractive” and subsequently generate a tiered-system of how to achieve those goals. Once you have that, you can change how that tier looks for individual characters, such as the strength of each goal, or the order of the tier, or removing/altering certain definitions of attractiveness.
Is this sort of system useful in every game? If implemented correctly, yes. Take an FPS for instance. If you have soldiers who have an underlying goal of appearing “attractive” to their squad leader, and you implement a tier that states their leader likes it when they shoot people in the face, then that squad will, to some degree, attempt to shoot people in the face. Basically, if you have well-defined attractiveness goals, and a good hierarchy for achieving those goals, this system can be implemented pretty much anywhere.
Of course, that’s just one aspect of AI…
May 1st, 2008 at 9:27 am
Perhaps we could see a more immediate benefit in AI by increasing the dramatic aspect of NPC interaction. Chris Crawford’s work in this area is pretty interesting:
http://www.storytron.com/
May 1st, 2008 at 9:33 am
I guess the real trick is striking a balance between doing too much or too little in such a framework. Ultimately it could go a number of different ways, one of which being that of a psychological predictor tool. For example…
psy = new PsychEngine(npc); npc.onPain = function( event ) { response = psy.predictResponse( event ); switch( response ) { case 'anger': npc.charge(); break; case 'fear': npc.runAway(); break; default: npc.idle(); } }Granted, that example doesn’t really reveal a whole lot of usefulness or breaking developments. However, just as it is with database abstraction for web and other applications, this could save some time for the developer out of the gate, and ultimately could be a way to encapsulate entire social systems…
npc.onKiss = function( event ) { npc.removeEnemy( event.kissGiver ); npc.addLover( event.kissGiver ); npc.setInfluenceFor( event.kissGiver, 10(pts) ); }I don’t pretend to know the intricacies of game development, as it’s a completely different ball game from what we do here usually. You (Wall) are definitely right about possibly diluting quality by generalizing non-player activity. Discernment and reasonableness when considering abstraction these actions is very important. I’m going to think about this some more and maybe post again later.
May 1st, 2008 at 11:02 am
scripting out specific sequences like that will never work in a real AI system. The system needs to be capable of determining what those events are and how to react to them itself. Otherwise there would be no end to the number of functions/events you would be hand coding.
May 2nd, 2008 at 8:43 am
Peter Molyneux is soooooooooooo annoying. I’ve stopped paying any attention to his over the top hype for games he only half delivers on. He just tries to get sales up for crummy games. While Fable was fun… it was not at all when I expected… thanks to his rants. Now to hear him go on and on about Fable 2 and the pet dog you can have… gimme a break. It makes me nauseous to hear him talk.
July 19th, 2008 at 4:18 am
virtual pet on the computer…
…