Our new Indie Games subforum is now open for business in G&T. Go and check it out, you might land a code for a free game. If you're developing an indie game and want to post about it,
follow these directions. If you don't, he'll break your legs! Hahaha! Seriously though.
Our rules have been updated and given
their own forum. Go and look at them! They are nice, and there may be new ones that you didn't know about! Hooray for rules! Hooray for The System! Hooray for Conforming!
Posts
Sometimes it's just a developer being lazy, but often they intentionally give you clues (such as creatures telegraphing their attacks) that let you predict what they're going to do to give you the chance to counter it.
I remember one of the first times I played that game (still unbeaten, *sigh*) I had a memorable AI moment. I'd accidentally alerted a few guards in front of me, who yelled for eachother, and chased after me. I ran back down into some foliage halfway up a hill and went prone to hide.
Rather than one at a time, the soldiers formed a skirmish line and walked into the area I had run to. A helicopter appeared on station and dropped the mercs off at the bottom of the hill. The mercs at the bottom formed a line and swept up. Now I was stuck.
Then the fucking helicopter started shooting at me. I tried to make a run for it and died in a 3-way blaze of glory.
Imagine if the enemies in Halo just sat back, then all threw simultaneous grenades so that you couldn't escape the blast area before they went off. It's the smart thing to do in order to kill master chief, but it'd be terrible to play against. Another example is Godlike bots in Unreal Tournament who've got skill and reactions pushed to the maximum. They essentially run the course in a circuit that denies power-ups and weapons to the player at a perfect interval, staying just fast enough to make sure the player can never kill them or keep up. It's exactly how tournament players play the game, and it's unfun as hell to play against.
The goal in modern game design isn't to look at smarter AI, it's about making AI that is fun to play against. It is already smart enough that most people won't understand its motivations. The goal is to make people realize what those motivations are, how to activate them, and how they are going to affect the player. Things like killing a brute and them saying "the brute is dead, run away". Or in Fear where they say, "Grenade going out" to let you know what's going to happen. Game AI is all about smoke and mirrors.
steam-taliosfalcon
XBL-AdeptPenguin
Yes, because gamers are by and large fucking terrible at games. A good example would be World of Warcraft, who instead of using artificial intelligence instead opt for giving mobs massive advantages in pure output. The game is incredibly easy and simplistic to beat. In the Warcraft arena, you have literally millions of players who do not understand the fundamentals of the game.
All you would need would be a group of 5 bots following the rules of 1) always focus fire, 2) don't break crowd control, 3) use line of sight to deny enemy damage and stay healed, and 4) pro-actively support teammates. You'd easily land in the top 90% of the arena every single season. People are bad at winning games against anything that really understands how the games work.
Edit: Regarding the bolded part specifically. Bots in UT on Godlike will run a circuit of powerups on certain maps. They don't even have to have their reactions or accuracy high, just their 'skill' to do so. On an even footing of accuracy and reactions, they simply trash you with permanently replenishing health/armor/weapons.
steam-taliosfalcon
XBL-AdeptPenguin
So maybe developers can think of better ways to make video game characters more believable. They can give them personality, motivation, and creativity (or an approximation). If I saw characters in a game use a gun as bait for an ambush I would be impressed because that behavior has the appearance of creativity. The underlying principles behind that behavior aren't as important.
There was one encounter in WoW that put you up against a group of (relatively) intelligent enemies. It was the part of the Tier 0.5 quest chain in Blackrock Depths.
Almost nobody did it, and nobody will do it now, of course. But still. It was you versus a group of 5 enemies that generally would ignore abilities that generate aggro and so would behave more like players. Not to the degree of hiding behind things, perhaps, but it was there.
edit: and garthor, the thing is WoW is less like a game, and more like an online casino. People don't play WoW for fun per say, they play it because it caters to a part of the brain that hungers for the so called rewards the game spits out to your virtual character, thus they're much more likely to play something thats easier and gives out rewards than something that might be more entertaining but take longer to do. As I mentioned last page there are certain types of games that would benefit greatly from great AI, and others that wouldn't.
steam-taliosfalcon
XBL-AdeptPenguin
I actually did that fight a bunch of times. It was lots of fun. But yeah, tons of people complained about it.
Although, it's not the best example, since WoW relies on aggro to work properly since there's no clipping in the game.
Was this the article? It's actually quite interesting and doesn't devolve into tech-talk at all. It was actually the first thing that poped into my mind when smoke and mirrors was mentioned a few posts before yours.
http://aigamedev.com/reviews/halo-ai
EDIT: never mind, this is probably the real article since it mentions artifical stupidity by name
http://rampancy.net/blog/OldNick/02/01/2008/Artificial_Stupidity_and_how_achieve_it
Frankly, I think AI advancement has been lacking for so long because it's much easier for devs to either make a bunch of stupid, overpowered enemies or let the enemies know where you are and have access to your input (thus letting them react to something before it actually occurs in the game, but after you press the button to do it). One of my main gripes about the Halo series is that Legendary mode doesn't mean smarter enemies, just enemies with ultra-aim and permanent overshields. It's a real copout and I despise it.
Speaking of lazy AI traits that I hate, how ridiculous is it when devs make enemies know where you are all the time? As soon as one enemy sees you, the Hive Mind then knows your location forever. Every enemy you encounter will be looking directly at you as you turn a corner or come over a hill and snipers are always scoped in on you and biding their time until their isn't a physical object blocking their shot.
Let's face it, in most FPS or RPG or whatever, your kicking the shit out of hundreds of people, one after the other. In order to pull this off, they've got to be weaker and/or stupider then you. Like the example used on the last page, in something like Halo, the enemy could easily pin you down and grenade you to death if they all worked together. Just like in Action movies, the enemy can't be too smart/good or else how is the hero (ie - you) gonna kill all of them.
Well it does kind of make sense that the ai for all levels would be the same, they would want to put the advances they make into all the difficulties so everybody can enjoy it, and dumbing down what they had wouldn't make it any more fun.
and omniescent ai are indeed, incredibly lame.
One example I do have of wonderful AI is Republic Commando. Your main enemies are aggressive reptiles, bugs, and robots, so you really don't have much in the way of expectations of their AI. Your squad, however, is supposed to be a super-commando squad and actually acts like it. If they walk in front of you, they duck under your gun to not block your shooting. If you go down, they'll secure the area before reviving you instead of mindlessly running into the open and getting hosed. They'll automatically take up tactical positions without having to be ordered to do so and fire at targets of opportunity without you having to tell them to attack each and every little thing. You run roughshod all over the competition because your guys fight smart and the enemies don't.
I would vastly prefer to have enemies in Halo try to coordinate to kill you as long as the Marines with you get to be smart enough to do the same thing. I've played enough games where the AI is plenty smart enough to be a functional teammate to expect that devs do more than have allied and enemy AI perform almost the same with a few minor tweaks and still be stupid on top of that.
If LucasArts didn't have such a giant stick up it's ass, it would be nice to be able to anticipate the sequel for Republic Commando and the X-wing/TIE Fighter series. Unfortunately, the stick is firmly lodged and we all suffer for it.
Well then how do you explain his mother posting here?
That depends on how the code for A.I. develops, actually.
Context-based decision scripts are fine and dandy, but if we ever reach the point where an A.I. is developed that can effectively be licensed out the way Unreal engines are nowadays, it may eventually be cheaper to have the one great A.I. be in effect for countless different games.
Mother = Creator.
She's just keeping tabs on him.
On the subject of AI, can anyone think of any interesting/good examples of decent or clever AI in video games?
I was always intrigued by the PC Creatures series, but got fucked off with it after yelling "EAT CARROT" at the thing for the hundredth time whilst it stood there, complaining it was hungry, with a carrot in it's hand.
It did have some clever features though, if playing with a ball it'd figure out that throwing the ball was the fun part, but fetching the ball was boring, therefore if it played with someone else, they could have more fun!
PSN: SirGrinchX
Xbox Live: SirGrinch X
People claim that player clipping is going to solve all problems from WoW in WAR. I really doubt it will do much. There's too much space and too much lag for it to work reasonably well. Snares and roots are the order of the day, really.
For tuition on finding your answer click Here
If you are unsure of if this question has already been answered click Here
For my blog click Here
But seriously... Do not click Here
Hundreds and hundreds of "webs" per second for every thought. Our brains are parrallel processors on a massive scale. Current cpus will never approach this level of throughput, because they only do one thing at a time, (or two, or four).
If we linked up thousands of cpus in a parrallel processing array, maybe then we could get some interesting AI on. But the complexities of programming such a thing are immense. It's almost knowledge, and not technology, which is the limitation here. Setting up such a thing probably isn't out of our grasp, heating problems aside. Programming for something that can potentially process millions of instructions simultaneously? That's a design and ultimately human limitation.
One of the reasons my favorite AI is Durandal is his response to becoming self aware. Most AIs butcher humans to butcher humans until some plucky hero kills them (Shodan im looking at you here).
Durandal worked out an escape plan from his prison, and then stopped really caring about humans. Thank you Durandal for being a homicidal bastard, with a sense of humor, with a purpose beyond kill all humans.
</tangent>
I'm glad you people have mad this a nice thread, but good god is this a terrible OP.
At work this week they brought in a guy from the University of Alberta who is doing some cutting edge stuff on teaching computers to play poker. While there was some super cool stuff going on, the lions share of the AI was still a huge repository of data that maps out game probabilities. That was a bit disappointing, as its not really learning or anything you'd really want to term "intelligent"
猿も木から落ちる
The only way we can have a machine become self-aware is when it can solve problems that can't be solved in polynomial time. Which can't be done yet. And it is questionable if it could ever be done at all.
http://en.wikipedia.org/wiki/NP_(complexity)
Is there some basis for this assertion? If it's true for computers, why isn't it true for humans?
I went to a lecture down Boston way a few months ago to listen to the guy who wrote Chinook, the world champion checkers AI, and he went off on a tangent about how poker is the new challenge in game playing. I'm still waiting on someone to write something which tackles go, but anyway.
I just wanted to say something about that whole 'not being intelligent' thing. Yeah, its hugely disillusioning when you come in with the expectation of Hal playing chess with Dave or something, but its just how things are done, with computers and people. Theres a good reason why the best checkers players in the world tend to be mathematicians. They're better at working the odds, and they have some pretty awesome recall for board placements. I can't imagine that counting cards is any different. The really interesting idea there is inferring hidden information from an opponents actions.
Do you happen to remember which guy from U of A it was?
Edit::
Presumably because self-awareness requires introspection, and asserting properties of a program is NP-hard too. (someone feel free to correct me, complexity theory isn't my bag.)
Well yeah. It's not gonna come close to solving ALL the problems. It'll solve a few though.
Really, just like what I was talking about before with the "You Against the World" thing, this is also a problem of inherent design. The idea of "Melee in front, spell casters in back" is a strange mechanic that doesn't work very well in real life situations. Mostly because none of these games model the other aspects of combat good enough to get it to work. In real life, you don't try and run right past the guy in the front lines, cause as your going by he'll just stab you in the side/back and kill you. This doesn't happen in games like WoW/WAR.
Because humans aren't computers? The belief that brains are like really advanced computers is just a line of magical thinking.
Essentially, when you are able to find solutions to things that are NP-hard, you are creating knowledge. Computers do not possess knowledge unless we give it to them.
What's so special about cells and neurons that enables self-awareness and "human intelligence" that cannot ever be mirrored by silicon and transistors?
So we'd need to know why it happens at all before we could recreate it.
I have heard from my brother who is currently doing cognitive science that Godel used something to prove that it's not possible, but he didn't really go into detail. Could anyone shed slight on this?
The squishiness?
Sort of like Radiant AI in Oblivion before Bethesda nerfed it (Stealing things from the player while they were sleeping, etc), but to a greater extent.
Like, maybe a chance that you scare the shit out of an NPC and they kill themselves instead of fighting you, or run away and hide somewhere that you probably won't find them.
Maybe they try to reason with you/put down their weapons and beg. Maybe if you don't shoot them they'll find you later in the game and thank you and give you something.
LURK mod for SoC|Backloggery|XBL|XFire|Steam|Zune
Really, rather than trying to create some self aware ai core that you can sling into the game, more distributed smoke and mirrors ai are a better way to create "interesting" gaming AI that can interact with the world around them. You don't need the soldier to tell you he's in a game, but it is awesome when he decides to smash through a window to get away from a grenade, or kick it back at you, or they flank you intelligently and such. I think the sims way of objects telling ai how to interact with them is a pretty interesting way to go about it and could lead to some very interesting possibilities, much like half life 2's way of encoding how a brick works in its physics engine into the brick piece of code itself, so every brick works the same no matter how many you chuck in. It's interesting to think that instead of complicated pathing nodes you could have the window code TELL the soldier he can jump through it, even tell him what's on the other side so he knows if he jumps through it he will die and therefore doesn't. Then you can put a window anywhere and soldiers can jump through it if they need to. As an example.
Crysis had an interesting documentory on the collector's edition DVD on some problems they came up with with they were coding their AI. They had to code stupidity into it, then they found they had to code it back out. For example, they had to code the AI to not be able to see people behind trees so you can hide in them, but then they found that the AI couldn't see a player if they chopped down a tree, picked it up, and carried it in front of them. So they had to tell the AI that if they see a walking tree, it's most probably the player.
Good gaming Ai needs to be both stupid and smart and getting it right is a lot of work.
It'd be great if hardware makers started creating cards dedicated to AI to take a bit of the strain off the other devices, then we could see more interesting AI choices in games.
As it is there's so much focus on the pretties that it tends to take up all the available processing power so there's not much more room for AI than there was in the past. But people are demanding more and more complicated AI, they want randomness and complexity without cheapness. I think there needs to be a hardware solution.
Well here's the thing. A computer can only do one thing at a time. Yea you can have multiple processors and quad cores or whatever, but that's such a small amount of parallelization that it's negligible. You'd need to have billions of processors all running at the same time to match a human brain probably. A computer simulates multi-tasking by running each task for a few microseconds and then switching to another, and once everything has run it comes back to the first task and starts the cycle over.
Human brains at any one moment are calculating a LOT of things, TRULY parallel things. Heart rates, breathing, balance, thoughts, etc.. The amazing thing is that it's like a brain is a swarm of cells that somehow just know how to function. I don't know shit about how humans work, it's not my field. But it's amazing that each cell knows what it's role is in life. Each cell somehow knows how to respond to a specific stimuli. And they ALL work simultaneously, leading to multiple thoughts happening at the same time. And somehow from all of this, self-awareness emerges.
But calculating is the wrong word to use. See, a brain apparently solves everything without using calculations at all.
Basically a computer would have to have every transistor behaving independently with a mind of it's own to mimic a human brain's behavior, or something I think.
And also solve NP-hard problems.