|
Site Navigation Main News Forums
Games Games Database Top 100 Release List Support Files
Features Reviews Previews Interviews Editorials Diaries Misc
Download Gallery Music Screenshots Videos
Miscellaneous Staff Members Privacy Statement
|
|
|
thrash3002
Head Merchant
Joined: 22 Jun 2004
Posts: 61
|
On thing that needs to be overcome with game AI nowadays is that of AI crashes.. foir example in arx fatalis, if you've read the the spoiler on how to beat the golden ylside using *something* on level 3 (hope i haven't given it away too easily...).. Well, the only reason we can beat it this way is because the AI crashes.. we use something the rpogrammer didn't anticitpate, and hence didn't hardcode into goldie's AI.. also, if you've faught goldie in the open and survived to talk about it, you'll know that when she fires off her magic missiles, she just fires them in whichever direction she's facing, and not towards you specifically, which is kinda dumb don't you think??
Of course, all the ylsides in the game are kinda think-headed it seems, including goldie.. so i guess it suits..
but yeah, this is the kinda thing AI is meant to try to avoid.. Things like gola-based planning will eventually help to put a stop to this.. which means goldie will REALLY become undefeatable lol..
The problem with goal-based planning, is that in essence, it's a search algorithm.. and all search algorithms that tend to guarantee finding the best solution if it exists, is that they take a lot of time, and if there's more to search thru, then the time they require grows exponentially..
So if there are a vastly large number of possible methods to solve a situation that an NPC gets into, goal-based planning will leave the NPC "thinking" literally for hours.. which is no good to us.
Therefore, research is still happening into methods to get AI to think of workable solutions in real time.
This, however, is not what i'm trying to do.. well, not at this moment in time anyway.. maybe later.. one thing at a time _________________ Knowledge is the key to success.. but you won't unlock success unless you USE that key |
Wed Jul 14, 2004 11:10 am |
|
|
thrash3002
Head Merchant
Joined: 22 Jun 2004
Posts: 61
|
and you CAN'T be finished with arx!! there are so many different characters you cna play!! lolz
i actually got bored of arx and dug out my lovely joystick and went onto a game called Strike fighters.. reliving my passion for fighter jets
the one thing i really don't like about arx is that you cna't really be a brute fighter and excel at the game.. if you get caught off by 3 ylsides at a time and you're only skill is with a sword, then you're pretty screwed.. unless of course you're fingers excel at slow swordfighting lol
well, the other one thing i don't like about arx is that you cna't actually kill the beast on level 8 yourself.. you have trick it into jumping into lava.. THAT sux.. _________________ Knowledge is the key to success.. but you won't unlock success unless you USE that key |
Wed Jul 14, 2004 11:33 am |
|
|
thrash3002
Head Merchant
Joined: 22 Jun 2004
Posts: 61
|
quote:
These particular ones are not that fast, so the best tactic is just to rush them and circle around while they follow, albeit a bit too slow.
At the moment, THAT is the kind of AI crash i'm trying to overcome.. does the bot ever try turning the other way all of a sudden to catch you off guard? wouldn't it be more fun if they could decide to try doing that?
I'm trying to come up with a method in which the computer should be able to overcome AI crashes in any situation, without the programmer having to predict every possible occurance and then telling the computer how to overcome it action by action.. _________________ Knowledge is the key to success.. but you won't unlock success unless you USE that key |
Wed Jul 14, 2004 11:55 am |
|
|
thrash3002
Head Merchant
Joined: 22 Jun 2004
Posts: 61
|
what i was initially trying to do was use AI to solve problems for more critical applications.. but then i was told that what i'm trying to do hasn't been done before, and that every attempt at it has failed miserably...
So, i decided i probably can't finish off the research, but i can begin it by targetting game AI only.. that way, i can experiement with it without killing anyone or destroying million dollar equipment in the process lolz _________________ Knowledge is the key to success.. but you won't unlock success unless you USE that key |
Wed Jul 14, 2004 12:16 pm |
|
|
thrash3002
Head Merchant
Joined: 22 Jun 2004
Posts: 61
|
quote:
Well, you should say 'evolve' because changing or learning through experience gained by the NPC after monitoring the actions of the player is what you are after, is it not?
i mean, a constantly changing in-game strategy is a simple procedure of programming multiple paths and variables by coding, yet I thought you were trying to stay away from that.
Ok, firstly, evolving is changing according to experience, which is not what i'm after at this point in time.. evolution as such has been taken care of by genetic algorithms and other means.. learning to improve has also been taken care off..
I'm simply trying to increase the unpredictability of an NPCs actions.. things it may do may have nothing to do with what it's learnt from experience.. after all, often humans learn by experimentation.. so why shouldn't an NPCs Ai allow it to experiment with different techniques and strategies? _________________ Knowledge is the key to success.. but you won't unlock success unless you USE that key |
Wed Jul 14, 2004 3:20 pm |
|
|
Scrib
Head Merchant
Joined: 26 May 2004
Posts: 68
Location: West Palm Beach, FL |
--That seems workable- you would just need to give them 'experimentation' routines that they could choose to follow based on some random parameter, which, when acheived, they go off and experiment. Take the roulette metaphor- when the ball hits a certain number, you win. So, a subroutine is always running for this bot- the normal routine runs in the foreground, the sub in the back- when the sub hits this particular 'go experiment' result, it goes off and experiments, breaking it's normal routine, unexpectedly.
-Something I found interesting in the Deus Ex-Invisible war AI- Most NPC's carry on conversations with one another. You can stand ther and listen to their conversations, which sometimes get pretty elaborate. And, this a a BIG plus in the game- the normal routine has become more unpredictable. Take this example. Normally an NPC gives you a quest, that when completed, you come back for a reward. I completed such a quest for a paricular NPC gave him what he wanted, yet he refused to give me my reward- a choice. I could kill him, or perhaps wait in the hopes that he will give it to me later in the game with an explanation.
Another time, after receiving the quest result, I was sent somewhere else to collect my reward, which was a quest in and of itself. My point? Creative storytelling and breaking the known routine play a very important role in good game design. They keep a game from getting boring. And, to tell the truth, Arx was mediocre at best because it was too precictable. Quest-reward, quest-reward in a pretty straightforward way.
-SJ
_________________ + A video game hero gone bad +
+ Plays with recalled toys +
+ Celebrity mutant during my day job + |
Wed Jul 21, 2004 4:12 pm |
|
|
Scrib
Head Merchant
Joined: 26 May 2004
Posts: 68
Location: West Palm Beach, FL |
--That seems workable- you would just need to give them 'experimentation' routines that they could choose to follow based on some random parameter, which, when acheived, they go off and experiment. Take the roulette metaphor- when the ball hits a certain number, you win. So, a subroutine is always running for this bot- the normal routine runs in the foreground, the sub in the back- when the sub hits this particular 'go experiment' result, it goes off and experiments, breaking it's normal routine, unexpectedly.
-Something I found interesting in the Deus Ex-Invisible war AI- Most NPC's carry on conversations with one another. You can stand ther and listen to their conversations, which sometimes get pretty elaborate. And, this a a BIG plus in the game- the normal routine has become more unpredictable. Take this example. Normally an NPC gives you a quest, that when completed, you come back for a reward. I completed such a quest for a paricular NPC gave him what he wanted, yet he refused to give me my reward- a choice. I could kill him, or perhaps wait in the hopes that he will give it to me later in the game with an explanation.
Another time, after receiving the quest result, I was sent somewhere else to collect my reward, which was a quest in and of itself. My point? Creative storytelling and breaking the known routine play a very important role in good game design. They keep a game from getting boring. And, to tell the truth, Arx was mediocre at best because it was too precictable. Quest-reward, quest-reward in a pretty straightforward way.
-SJ
_________________ + A video game hero gone bad +
+ Plays with recalled toys +
+ Celebrity mutant during my day job + |
Wed Jul 21, 2004 4:14 pm |
|
|
Chekote
Where’s my Banana?!?!
Joined: 08 Mar 2002
Posts: 1540
Location: Dont know, looks kind of green |
This thread is the poster child of multiple post offenders! _________________ IMHO my opinion is humble |
Wed Jul 21, 2004 6:28 pm |
|
|
thrash3002
Head Merchant
Joined: 22 Jun 2004
Posts: 61
|
quote:
This thread is the poster child of multiple post offenders!
lol, say something productive Chekote.. any ideas/thoughts/comments about the TOPIC that you might enjoy sharing with us?
And to scrib, yeah, i agree with you.. Arx was fairly mundane in terms of playing out the story.. but it was still fun to play for me because i prefer hardcore action games over rpgs in which you just search for what the hell you're meant to do for hours..
I've recently gone back to soldier of fortune II double helix.. and i noticed that the NPCs have conversations too.. but i didn't manage to listen in because i'm REALLY bad at hiding lol.. so i got spotted by one of them and they started shooting at me, so unfortunately i had to slaughter all of them instead of listening in.. next time i'll listen in on what they say and see if they actually do have a fairly adequate convo..
I've had soldier of fortune on my PC for a while but never played it, only played the single mission generator.. but from what i've seen, the NPC AI is fairly good, in that they don't shoot unless they know they can hit you.. they don't try to shoot through walls, but they do try to shoot thru doors.. if they can't get a clear shot on you, they use grenades.. if you throw a grenade at them, they run for cover.. they've tried surrounding me, they've tried sneaking up behind me while another one is in front of me just shooting away so i cover.. don't know if that was a fluke, but it seemed like that's what they were trying to do lol.. heck, they've even split up fire between myself and a hostage i'm trying to save and so i failed the mission because they managed to kill the hostage
Of course, sometimes they still do stupid things.. like say "i think i heard something" from the other side of a door when you're about to open it, but i guess that's part of the game, since it'd be too difficult if you DIDN'T know there were 5 soldiers behind a door and you just walked in lol..
but then it's better than arx in that if you've killed a soldier silently, when you open the next door, if your weapon is concealed, they don't attack you until you either pull out your weapon, or someone else who was following you starts shooting.. whereas in arx, if you're seen killing soemone on a level, almost EVERYONE on that level instantly knows of it and is after you.. which i find pretty stupid.. _________________ Knowledge is the key to success.. but you won't unlock success unless you USE that key |
Thu Jul 22, 2004 4:31 am |
|
|
thrash3002
Head Merchant
Joined: 22 Jun 2004
Posts: 61
|
quote:
when the sub hits this particular 'go experiment' result, it goes off and experiments, breaking it's normal routine, unexpectedly.
I think that doing it that way would be a bit too subtle.. generally, unless you've memorised an NPCs behavior relative to yours, it'll be really hard to tell when he/she is actually doing something different..
what i figure is that the NPC's behavior has to change quite frequently, since that's what you'd see in normal human behavior. A football player, for example, will not use the same move twice if it's been defeated the first time, unless, of course, he/she has nothign else up his/her sleave. So in this kind of case, it might be an idea to set the subroutine to trigger "experiment" mode right after a failed move.
Of course, this might be overdoing it in other situations, but in any case, the odds with which you may win at roulette i think are too low to apply to this. In fact, you'd want the odds to be the opposite..
Another point though, is that if an NPCs behaviour is SO unpredictable, it may be too difficult to beat, and hence you'd have players bored anyway.. To avoid this, i'm thinking you'd want to either allow the player the ability to vary the unpredictability of NPCs, or keep the behaviour predictable for beginners, and then make them more unpredictable at harder levels.
This ties in with your idea of NPCs growing and gaining eperience throughout the game the same way the player might.
This way, at easier levels of game play, or at the beginning of the game, it might be relatively easy to beat NPCs, but as the game prgresses, or as you choose more difficult levels, NPCs will have more tricks up their sleaves, and will vary their strategies, and have more chances of beating you.. and therefore, it's not too difficult at the beginning, and not too easy or boring as you become a master at the game _________________ Knowledge is the key to success.. but you won't unlock success unless you USE that key |
Thu Jul 22, 2004 4:49 am |
|
|
thrash3002
Head Merchant
Joined: 22 Jun 2004
Posts: 61
|
Also, i'm not sure if i mentioned this before, but in case i didn't, i'll mention it now..
At harder levels, players who cna defeat these levels consider themselves masters. This is especially true for one on one fighting games such as street fighter, mortal combat, tekken, soul blade, dead or alive, and the other millions out there. It is also true for skill games such as tenchu, sports games, and battle strategy games.
Trouble is, they aren't really masters since they've only played ONE or TWO opposing strategies. I used to consider myself a master of tekken back when i was a kid lol.. but i had only played the AI for hours and hours, and i knew exactly what it would do, and so i could counter it's moves before it had a chance..
I was a heartbroken little boy when i got beaten in it by some other kid who came to my brother's birthday party lol.. Now i realise that it was like that because i had learned exactly how to beat the computer, not how to master fighting with the character i was using. And unless i played a LOT of people, i could never really call myself a master at tekken..
That little anecdote brings into light 2 different issues. Firstly, that an AI that pitts the player against many different strategies will bring out true masters in a game, and not just people who THINK they are masters.. but we can't expect programmers to think up a million different strategies in the short time they have to produce a game, and so a computer's AI needs to do that as the AI itself is pitted against different situations..
Secondly, I got bored of tekken because i could beat the computer with my eyes closed, and i dind't have a lot of people to play against. For games like this, they get boring very quickly for this exact reason. Game AIs nowadays don't give a very rich experience in this sense.
For both these issues, i think the next step after better learning for game AI would have to be to allow AI to come up with different possible solutions to every situation and be allowed to try them out in those situations against players and gauge how well they work, and go from there.
This doesn't always involve "evolving", in that sometimes we humans have bright lights click on in our heads when we come up with an idea that has absolutely nothing to do with what we're currently doing.. haven't you ever come up with a solution to a problem that seemed to come out of nowhere? When something isn't working for us, we try things that are totally different, that have nothign in common with our previous failed attempt. So, why shouldn't game AI be allowed to do this too? _________________ Knowledge is the key to success.. but you won't unlock success unless you USE that key |
Thu Jul 22, 2004 5:25 am |
|
|
Chekote
Where’s my Banana?!?!
Joined: 08 Mar 2002
Posts: 1540
Location: Dont know, looks kind of green |
quote: Originally posted by thrash3002
lol, say something productive Chekote.. any ideas/thoughts/comments about the TOPIC that you might enjoy sharing with us?
Fair enough...
I think what you are trying to accomplish CAN be done, but there is one key thing that your AI will either need to know initialy, or learn somehow:
The rules governing the reality in which it operates
Most game AI as it stands nowadays has no understanding of the reality in which it operates. As you stated earlier, it just has a preset list of behaviors to apply when encountering pre-defined situations.
I am not sure whether this can be accomplished with computers nowadays as it can be very calculation heavy. Here is an example:
You have an adventure game such as Tomb Raider for example. To apply AI to the level of sophistication you want would require the AI to fully understand (or learn from experimentation as humans do) the following
1. its "Body" e.g. the game AI can LEARN to use its arm to grab a weapon through a gab that its whole body could not fit through.
2. its environment (Water, Walls, Air etc) the game AI could LEARN that staying under water too long is bad, but if its enemy is under water, using electricity is a good tactic.
3. weapons the game AI would LEARN novel ways to make use of its weapon. E.g. they might not be able to see you directly, but they know if they shoot the chain on the crate hanging above your location it will fall on you.
This method of AI development is already in use in many Space Vehicles. They are called Imobots.
Basically the engineers give the AI all the information on how its systems work, and some pre-defined solutions to known problems.
First the AI will try these pre-defined solutions, but if they dont work, then it will use its knowledge of its systems to try and devise its own solutions, much like your game AI would do.
Is that a valid enough post? _________________ IMHO my opinion is humble |
Thu Jul 22, 2004 1:18 pm |
|
|
Scrib
Head Merchant
Joined: 26 May 2004
Posts: 68
Location: West Palm Beach, FL |
Not only valid, but an excellent post. Welcome to the poster child for multiple post offenders topic. LOL.
Seriously. a number of good points were raised by the previous post, however, my mind can't wrap around this right now, so I'll just state what I intended.
I keep getting impressed by the impact a great story has on gameplay. In Invisible War, I came up to what appeared to be my final goal in the game-- it built up to a climax, ready to resolve itself, jumped through hoops to get there, confronted a certain person who you were being prepared to meet since the beginning...(remember in the movie 'the ring' when it looked like it was over?') you are like, man, this game was fun, it sucks it has to end now-- then BAM! it turns out that it's not the end at all, it just morphed the game into a whole new venue. Back to somewhere you have been before, old enemies managed to re-capture a place you freed before (with a vengeance) - all the while their leader is constantly trying to convince you that they are right, and to join their side, even countering things that the poeople you have chosen to side with as lies. Definetely a game where the mysteries and surprises happen often. nice. It plays as well as any novel reads.
-SJ _________________ + A video game hero gone bad +
+ Plays with recalled toys +
+ Celebrity mutant during my day job + |
Fri Jul 23, 2004 3:11 am |
|
|
thrash3002
Head Merchant
Joined: 22 Jun 2004
Posts: 61
|
To Scrib: now you're getting me real interested in dues ex damn thesis and damn uni.. takes up too much of my play time.. lol
Oh, and i listened in to the convos NPCs in Soldiers of Fortune have.. turns out they're real heavy smokers.. they just keep askin each other for cigarettes and lighters
And to chekote: Thanx for that post, that was awesome.. i just wish mor epeople would come in and give some feedback and ideas instead of just browse thru and go "meh, what crap.." lol
A few major problems that computer scientists have faced time and time again over the years when trying to research Ai that would in essence mimick human behavior is just what you mentioned in your post. These are general Ai problems, and i cannot aspire to solve them all on my own, and especially not in the few months that i'm going to get for this thesis of mine..
Up to date, it can't be claimed that any AI can actually UNDERSTAND.. not only can it not understand it's environment, (in your terms, the reality in which it operates), but neither can it understand Itself.. We understand (or at least try to) how our body works.. we can deduce, for example, that i we turn our heads in a certain direction, it improves our vision in that direction.. Even as a child, we can form our own experiments in which our brain will send a message to our eyes and say "try to look at that.. what do you see?", and our eyes will tell our brain what it can see, and our brain has the capacity to try moving our head right to see an object that's to the right, depending on what output our eyes give our brain.. we weren't taught to do this by our mums or dads.. some would argue that this comes as instinct.. either way, the question is how do we teach a computer to be able to do this?
a child wil get into many different situations, and a mother can't possibly teach her child what to do in EVERY single situation it will find itself in within it's lifetime.. In the same way, it's not feasible for a programmer to code into a machine what to do in every possible situation it will encounter.
Instinct does not teach a child to improvise.. instinct would not teach a child to pull down a table cloth with chocolate bars on it if the table is too high to reach.. the child learsn this itself. How do you teach a computer to improvise in the same fashion?
quote:
the game AI could LEARN that staying under water too long is bad, but if its enemy is under water, using electricity is a good tactic.
if you know that the Ai will encounter such a situation, it's easy to tell it what to do.. but how do you cause it to figure THAT out on it's own? If you didn't know what electricity was, would you know that it'd kill your enemies thru water? the AI always has to have some predetermined knowledge of things. Trouble is, if you want it to be truely generic, how do you know what to teach it? it must be allowed to experiment on its own.. but then you have to teach it how to experiment.. that brings up another issue.. how are humans able to predict the outcome of an experiment with generally good accuracy? how do we know what experiments to bother trying and what not to bother with? that can all be answered by studying psychology, but what psychology can't answer, is how the hell do you teach all that to a computer?
quote:
they might not be able to see you directly, but they know if they shoot the chain on the crate hanging above your location it will fall on you.
In the sense of a game, you know they might encounter this kind of situation.. but would you think of teaching the AI to look for this kind of a thing in general? At the moment, one of my friends are trying to program AI to fly a small unmanned rescue helicopter and to control small unmanned monster truck to aid it.. these were derived from radio control models, but they are being designed now for use into rescue missions where sending in more lives could be dangerous. This Ai must steer the helicopter/truck clear of obstacles and locate mission objectives and communicate with each other and do other cool stuff..
Now, if these were to also be programmed to defend themselves in the event of hostility, would you really think of programming it into the AI that "oh, by the way, if you can't see who's shooting you directly, but you see a chain with a crate hanging above their heads, if you shoot the chain, they might die.."?
My point is, you can't teach it every possible situation it may come into.. and if you try to, then it won't be generic, because being human means that you'll always miss one possible situation or another..
it'd be really cool if we could get an AI to be able to think up solutions to random situations based on their knowledge of world physics (etc) and their power of observation.
Giving them a knowledge of worl physics isn't all that difficult.. tedious, but not difficult. What the real challenge is, is giving the AI the power of observation.. it's easy to tell the Ai about how gravity works and how tension in ropes works, but it's quite difficult to give it the ability to go "hmm, if i shoot at that chain, the power transfered from the kinetic energy of my bullet to the chain will cause it to break, and this in turn will cause gravity to act on the crate, causing it to accelerate toward my aggressor, and then the kinetic energy of the crate will cause it to harm it"
Of course, we humans don't consciously think of it so elaborately because our brain does it all subconsciously..
By what i've just said, it doesn't sound all that difficult to get an Ai to deduce that at all, especially from aprogrammer's point of view.. the problems arise when you're in an actual room or location or situation where there are very large number of objects that the Ai can use, and an exponentially large number of physical relationships between those objects. Consider that the Ai has to search the the relationships between it's position, it's bullets, the opponent's position, the table in front of the opponent, all the walls, the chain holding the crate to the ceiling, the crate itself, the doors, windows, the bowl of rice and glass of water on the table, etc etc etc.. That's be a LOT of relationships, and searching thru all of them for somethin that MIGHT work takes a LOT of time.. by when our little robot helicopter gets shot down..
We humans are good at thinking up these strategies quickly, but for an Ai that uses a search algorithm to find out a strategy in it's situation, it'll take a while..
Plus, in the case of the actual helicopter and monster truck, if successful, it's missions will involve treading into unknown territory, in which what objects there are, and the physical relationship between them will be unkown and difficult to determine.. also, considering computer vision isn't all that advanced yet either, that complicates things further...
Ok, i've just thought out aloud again.. if you've read thru all that, congratulations, i admire your attention span
_________________ Knowledge is the key to success.. but you won't unlock success unless you USE that key
Last edited by thrash3002 on Fri Jul 23, 2004 7:31 am; edited 1 time in total |
Fri Jul 23, 2004 7:20 am |
|
|
thrash3002
Head Merchant
Joined: 22 Jun 2004
Posts: 61
|
If you HAVEN'T read thru all that, the congratualtions to you, You're smart, and i admire you for that
but chekote, thanx for sharing your thoughts, i really appreciate it.. I wish more people would join in and give me more ideas _________________ Knowledge is the key to success.. but you won't unlock success unless you USE that key |
Fri Jul 23, 2004 7:23 am |
|
|
|
Goto page Previous 1, 2, 3, 4 Next
All times are GMT. The time now is Wed Apr 10, 2019 2:10 am
|
|
|
|
|
|