RPGDot Network    
   

 
 
Chaos League
Display full image
Pic of the moment
More
pics from the gallery
 
 
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

FAQ
Members
Usergroups
Kinda off topic- just wanted to share it with y'all
  View previous topic :: View next topic
RPGDot Forums > Arx Fatalis

Author Thread
Chekote
Where’s my Banana?!?!
Where’s my Banana?!?!




Joined: 08 Mar 2002
Posts: 1540
Location: Dont know, looks kind of green
   

Your problem is realy how to get this all started, and since you are using human thought processes as a model, you need to know how THAT started.

Figuring out the origins of life and how it evolved into what it is today is a path I am sure you dont want to go down right now

My (very) basic understanding of Human Psychology tells me that you will need at least SOME static programming to give your AI something to start with.

For the AI to learn anything it needs "motivation", something that lets it know what it did, or is about to do is either good, or bad. Using human terminoligy we would just call this Pain and Pleasure.

Now you need some way of experiencing those sensations. Using the human terminoligy again we can just use the five senses (Sight, Hearing, Taste, Touch, Smell).

Now this is where the hard part comes in (and my understanding of Human psychology hinders me). I have absolutely NO idea how a newborn child initiates actions. As you say, this could be attributed to instinct, but I personaly dont think its that simple. In the beginning there was no instinct, just like everything else, that instinct had to be learned.

But how do you learn instinct? How does the baby start to do things? Do neurons just start randomly firing in its brain, and depending on the sensation that is experienced the brain somehow starts to build some kind of database on what was a good idea and what was bad?

Its kind of like people trying to develop drugs. They always have this top down approach. Not because they think its better, but simply because we do not understand enough about how genetics and life itself works. If we understood the beginnings of life and how genetics worked, then we could make drugs from the bottom up. You will run into similar problems trying to mimic human AI...

Edit:

A quick note about Pain & Pleasure: Keep in mind, that anything the AI has learned through personal experience, it can apply to other "life forms".

Taking the example in my previous post of the electricity in the water thing. The AI has learned that shooting an lightening gun (ala quake) in the water is a very bad idea, because it caused it pain. But later on it sees an adversary in the water, and it remembers that lightening + water = pain, so it COULD deduce that shooting the water now will hurt its adversary.

This may or may not be true depending on the rules of the specific "reality", As determined by the programmer.

Of course the AI would have to have deduced originaly that the only reason it was hurt when it shot that gun was because the AI was IN the water, and not just because the AI SHOT the water.

One Last thing (Before this postbecomes monstrous).

Instead of having all this done in real-time, a requirement of your AI could be that it needs to be given a "rule-set" of how its reality works. Then you can process this when the game is first run. From that point instances of the AI can access this "database" searching for relationships between things it can currently sense.

Obviously this would change the way in which the AI would learn (since EVERYTHING possible within this specific reality is stored in the DB). Also the DB would start becoming HUGE as games get more and more complex...
_________________
IMHO my opinion is humble
Post Fri Jul 23, 2004 1:27 pm
 View user's profile
thrash3002
Head Merchant
Head Merchant




Joined: 22 Jun 2004
Posts: 61
   

quote:
But how do you learn instinct? How does the baby start to do things? Do neurons just start randomly firing in its brain, and depending on the sensation that is experienced the brain somehow starts to build some kind of database on what was a good idea and what was bad?


lol, that reminds me of something my sister used to do before she ever learned to crawl.. every once in a while, her little hand would find her hair, and like all kids, she had a habit of wrapping her fingers around whatever they find, and so she'd grip her own hair in her fingers, and pull, and then start crying out, and we'd have to come and help her release her hair lol.. she couldn't associate the pain with her hand...

but anyway, i'm not actually going after Ai that mimics human behavior at all.. my previous post was just my thoughts on your post lol.. the funny thing is, there is still no fixed definition of AI..

some scientists decide it is the pursuit of having a computer think and behave the same way a human does (altho, i don't see how that's really gonna help us all that much in the future.. We might end up with a future like that portrayed in the matrix trilogy, or otherwise we have more beings that take 20 years to gain enough intelligence to survive in the world without anyone else's support..)

other scientists believe AI is the pursuit of building a machine that can behave intelligently in given situations.. again, how the word "intelligently" is defined varies from group to group, researcher to researcher..

and there are yet many other ways AI is defined and pursued

What I'm actually trying to do is quite simple.. I'm trying to form a sort of "Strategy/AI generator" that game AI programmers can interface to any game they are making.. What this Strategy generator will then do, is, at given intervals, it will try to come up with a totally new strategy for an NPC or group of NPCs to use against the player. One of the reasons to do this is to cause NPCs to have some unpredictable behavior, so that a player won't always know what's coming next, and hence it makes games more enjoyable.. it'll also allow for less frequent AI crashes..

The strategies it should come up with will be completely different from it's previous strategy.. no learning, no evolving. (i might try to incorporate those 2 if i have the time, or maybe later after i finish my degree and am bored with myself)..

Now, if you model strategies as a sequence of actions, for example (a stupid way to do it i reckon, but it works as an example**), the more actions the generator has available to it to search from, the longer it takes, and the more difficult it becomes to come up with a plausible strategy.. my focus at the moment is trying to get the generator to search efficiently and come up with a VERY plausible strategy about 70% of the time.. The other 30% of the time the strategies it'll come up with will be more experimental.. strategies that are risky, but might pay off big time.. (even if they don't pay off in terms of the NPC succeeding, it still allows for better unpredictability.. and besides, you gotta let the player win some of the time lol)

Learning and evolution can always be achieved on top of this by allowing the NPC to try out strategies it's generator comes up with, and then allowing it to save/remember the strategies that work well for use in similar situations, in essence allowing it to "learn" what to try in given situations, instead of having the programmer code it to do what he or she THINKS is a good strategy..

**a better thing to do might be to model a strategy as a sequence of goals or objectives to be met, and then model each objective as subobjectives, and to keep dividing sub-objectives until they can be modeled by exactly one simple action..
_________________
Knowledge is the key to success.. but you won't unlock success unless you USE that key
Post Fri Jul 23, 2004 2:14 pm
 View user's profile
Chekote
Where’s my Banana?!?!
Where’s my Banana?!?!




Joined: 08 Mar 2002
Posts: 1540
Location: Dont know, looks kind of green
   

I presume you intend this strategy generator to work in any game type?

If so, how do you propose to make the system flexible enough to work in any game type, yet conform to a single standard of how to define what the AI can do in that game world?

Even in the same game types (FPS for example) there can be hugely varying differences in the way the game world acts (and thusly how strategies should be developed).

A few things that can change between various FPS games:

Height of drop before fall damage occurs
interactive elements (Doors, bridges, vehicles etc)
weapons and how they interact with other game elements

I am interested to see how you propose each game developer would define these and other properties in a way that the AI can process...
_________________
IMHO my opinion is humble
Post Fri Jul 23, 2004 3:01 pm
 View user's profile
thrash3002
Head Merchant
Head Merchant




Joined: 22 Jun 2004
Posts: 61
   

quote:
I am interested to see how you propose each game developer would define these and other properties in a way that the AI can process...


Ahh, the benefits of object orientation my friend

I'm going to develop a Strategy generator class, and I can document interfacing guidelines so that any developer can write his or her own classes to work with my generator. The programmer has to define within his/her classes how a strategy is to be specificed, and how a strategy is to be graded in terms of how good that strategy might be when tested. Of course, the true test happens when the strategy is pitted against the player, but my generator will need some sort of prediction as to how good or bad a strategy might be.. Since it'll only ever be a prediction, experimentation with strategies that achieved crappier predicitons is also necessary..

This separation of the strategy generator from the strategy model allows the programmer freedom to define strategies anyway he/she pleases, the freedom to choose on what terms a strategy is to be graded against, and it also allows programmers to define strategies in a way that best encapsulates domain specific data, such as:

quote:
Height of drop before fall damage occurs
interactive elements (Doors, bridges, vehicles etc)
weapons and how they interact with other game elements


This way, it just becomes a search problem.. my Ai generator doesn't need to know what the hell each strategy is, how it works, why it's good or bad, it doesn't need to know anything, except which strategy gets what grade.. and accordingly it'll output good strategies. The main issue is to guide the search intelligently enough for it to be usable within a game..

The biggest problem with search algorithms is that they are generally extremely slow for even medium sized search spaces.. for search spaces of infinite size, you're in big trouble.. that's one of the issues i have to overcome.. my generator has to do the search efficiently and quickly no matter what it has to search thru..

All of this is still in the discussion and design phase, so the finished product might work in a completely different way.. but nonetheless, i'd really like to see this become a reality so that all game developers can use it to make their games more fun..
_________________
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 3:59 pm; edited 1 time in total
Post Fri Jul 23, 2004 3:54 pm
 View user's profile
Chekote
Where’s my Banana?!?!
Where’s my Banana?!?!




Joined: 08 Mar 2002
Posts: 1540
Location: Dont know, looks kind of green
   

I guessed that much, I am interested in specifics
_________________
IMHO my opinion is humble
Post Fri Jul 23, 2004 3:57 pm
 View user's profile
thrash3002
Head Merchant
Head Merchant




Joined: 22 Jun 2004
Posts: 61
   

specifically what specifics are you after?
_________________
Knowledge is the key to success.. but you won't unlock success unless you USE that key
Post Fri Jul 23, 2004 4:01 pm
 View user's profile
Chekote
Where’s my Banana?!?!
Where’s my Banana?!?!




Joined: 08 Mar 2002
Posts: 1540
Location: Dont know, looks kind of green
   

Basicaly, detailed instructions on how to use your Class.

But since it doesnt exist yet, and when it does I presume you would want to (understandably) make money from it, I doubt you want to give anything away.
_________________
IMHO my opinion is humble
Post Fri Jul 23, 2004 4:08 pm
 View user's profile
thrash3002
Head Merchant
Head Merchant




Joined: 22 Jun 2004
Posts: 61
   

Anywayz, i'm hungry, and i have a late nite event to attend to.. plus i believe i've been exposed to too many flashing lights and loud sounds from my pc to do me any good.. so now if you'll excuse me, i'm gonna go somehwere where there are more flashing lights, and louder sounds, and where i can get something nice to wet my throat with
_________________
Knowledge is the key to success.. but you won't unlock success unless you USE that key
Post Fri Jul 23, 2004 4:08 pm
 View user's profile
thrash3002
Head Merchant
Head Merchant




Joined: 22 Jun 2004
Posts: 61
   

Well of course, it'd be nice to be able to make some money off it, but i think since i'm doing it as a thesis, the university owns it, and not me..

but my main goal is to imporve games in general, not to sell it off to soem company and have then get the edge over everyone else in that their games become a bit better but it doesn't help the majority of the public who want a better gaming experience.. if that makes sense?

I'll give you the interfacing details once they are finalised.. probably in a month or so.. after that, even if there are changes, they'll be significantly minor, and so you won't have to change all that much in your code if you're planning to use it as soon as it gets published

i should mention that it IS just an experimental thing, and there are no guaruntees on how good it may be.. and plus the final product is still a year off at least..

That said, i'm gonna work my butt off to make it happen
Wish me luck yall
_________________
Knowledge is the key to success.. but you won't unlock success unless you USE that key
Post Fri Jul 23, 2004 4:16 pm
 View user's profile
Scrib
Head Merchant
Head Merchant




Joined: 26 May 2004
Posts: 68
Location: West Palm Beach, FL
   

quote:
Originally posted by thrash3002
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

:


Well, if you do get a chance to play deus ex-invisible war, do it, and see what you think about it's AI.

I finished the game over the weekend, and to sum up my finding about it's AI:

Overall, good, better than some I've seen. Specific observations/improvements:

I liked the fact that the enemies will duck and cover when attacked from a distance and re-organize their tactics based on the knowledge that they are under attack.

If they can see where the attack is coming from, either by sight (you fire a missle) or by sound- ( you shoot a pistol) they will advance in that general direction until they see you physically, yet, to my disapointment, they do not effectively use the object along the terrain for cover, rather going for more of an open, linear assualt. Object-awareness would be good for an AI.

As I mentioned earlier, when they do not know where an attack is coming from, as when you have a sniper rifle and silencer ata a distance, they scatter and reorganize usually retreating for cover. That was good. Yet, when the programmed 'loop' finished, they come out in the open again, thereby allowing the patient, crouching player to take another shot.
If you happen to be in their line of sight, they break off and attack your position, but as long as you stay hidden, they repeat the- duck/cover/reorganize loop, which, sensing no further attack from you, they return to normal routine.

True AI would perhaps understand that there is a sniper out there, and not allow themselves to go back out into the open, knowing that the sniper is waiting for just that.
How could one get this adapted behavior into the AI?
--Scrib



_________________
+ A video game hero gone bad +
+ Plays with recalled toys +
+ Celebrity mutant during my day job +
Post Mon Jul 26, 2004 5:37 pm
 View user's profile
thrash3002
Head Merchant
Head Merchant




Joined: 22 Jun 2004
Posts: 61
   

lol, there's always more than one way to prgram something, as a veteren programmer like you would know.. AI is no different.. if the NPCs learn, say there are 10 of them in the area you're sniping.. if one gets shot, the other 9 go for cover.. after a while they come back out.. and you shoot again.. 8 go for cover.. if their learning mechanism is good, they'll learn to relate staying in that area with being sniped, and stop doing it..

but then it depends.. if you've ever watched a millepede, it's defence mechanism is that it curls up if it senses danger.. so you poke it with a twig and it'll curl up into a little ball.. but after a while, it starts scurying away again.. you poke it again, it'll url up again, and this keeps happening, it doesn't sense that you're still there watching it.. it'll keep doing the same thing for as long as you keep poking it..

So often, if you haven't shot for a really long time, and the NPCs were performing some task, they'll go back to doing it if they think you aren't there anymore.. does that make sense?
_________________
Knowledge is the key to success.. but you won't unlock success unless you USE that key
Post Tue Jul 27, 2004 5:48 am
 View user's profile
Scrib
Head Merchant
Head Merchant




Joined: 26 May 2004
Posts: 68
Location: West Palm Beach, FL
   

Yes, it certainly does make sense. Then I would have to sum up my findings of the invisible war AI like the millipede-poke with stick metaphor you brought up. Good overall, but it never realized I was there, waiting to poke it with a stick again. That, plus true object knowledge would be nice. I'm glad I did not see the stupid 'NPC trying to walk through a solid wall' in IW that the maid in the castle in Arx kept trying to do on the top floor.

I am looking forward to seeing how they handle the AI in Fable, with all the hoopla surrounding that game, I truly hope it goes beyond your millipede metaphor.

--Scrib
_________________
+ A video game hero gone bad +
+ Plays with recalled toys +
+ Celebrity mutant during my day job +
Post Wed Jul 28, 2004 5:05 pm
 View user's profile
thrash3002
Head Merchant
Head Merchant




Joined: 22 Jun 2004
Posts: 61
   

See, the problem with AI nowadays is that it's nowhere near what movies depict, and hence it's nowhere near what people generally think is possible..

So, unless our rich friends over at microsoft have been able to come up with some breakthru technology that allows Ai to be close to what we consider true intelligence, i think you're gonna be dissappointed with fable..

tell me, have you played project gotham? did you like it? According to most, it wasn't half as good as all the hype made it out to be.. but even now the guys who worked on it say it's a breakthru in many ways because it apparenlty fully utilises xbox's capabilities.. I haven't played it much, so i don't know all that much about it, but from what my friends have said, it's just another racing game.. so i'm thinking if u keep reading all the hype, u'll be dissappointed.. rather, don't read anythign about it until AFTER you've played it.. then you'll like/dislike it on it's own merits

Also, let me mention another problem more specific to game and robot AI these days. If you look at our bodies, and the body of most living creatures, we have nerves ALL over.. it's therefore VERY easy for us to "feel".. i.e. detect where we are getting which sensations. Hence, this decentralisation allows us to pinpoint feelings of pain and pleasure and hot and cold (etc.) without oveloading our brains. With game AI and robot AI, this is something that's difficult to solve. it would be too expensive to put a few milion microprocessors into it's body, each acting as a nerve, or the like.. for this reason, it cannot "feel" efficiently enough. For the same reason, it's extremely difficult for the bots to locate you by "feeling" which direction they are getting shot from. A computer game cannot hog enough processing power to allow them to "feel" their entire bodies in real time. In most cases, this is overcome by giving a bot information on the bullet (etc.) in terms of who it was fired from and their current location, so that the bot can simply return fire. This, along with other methods used, is extremely buggy, especially because in most cases, you can tell that the NPCs are "cheating"..
_________________
Knowledge is the key to success.. but you won't unlock success unless you USE that key
Post Thu Jul 29, 2004 9:25 am
 View user's profile
Scrib
Head Merchant
Head Merchant




Joined: 26 May 2004
Posts: 68
Location: West Palm Beach, FL
   

In response to your question about project gotham, I have played it, and found it to be 'just another' racing game, albeit a good one. It held my interest for a short time, but I only pull it out when I absolutely want to play that genre.
In truth, like any business, advances are short in the coming when it comes to major earth shattering changes in technology, whether it be AI, cars or computers.
All the work you are doing for the advancement of AI is notable, but profits are made not from a major change, but rather from small, minutes upgrades, done over time, with a newer version showing only a slight improvement over the last (yet with massive marketing trumpet-blowing)
A software developer would take all your concepts and findings, thank you, shake your hand, perhaps give you a little something for your trouble, then put your ideas on the shelf. Then, some of them will get filtered into future modifications of the AI, over a period of months and years. All the while, sharing the findings with the 'perceived' competition, so that no one company raises the bar so far that it hurts the others. - I'm not trying to be negative here or shatter dreams, I'm just giving you a view from the boardroom.
--Scrib
_________________
+ A video game hero gone bad +
+ Plays with recalled toys +
+ Celebrity mutant during my day job +
Post Fri Jul 30, 2004 4:19 pm
 View user's profile
thrash3002
Head Merchant
Head Merchant




Joined: 22 Jun 2004
Posts: 61
   

lolz, thanx for your insight, much appreciated

But for that reason, i'm probably not gonna make any money for my efforts. At the moment, my main goal is to help improve game AI for all the gamers of the world. For that reason, I think if i succeed in what i'm doing, i may just leave it as open source for anyone to use. That way, it isn't restricted to certain games except that the developer decides it would be good to use.

I don't want it to be advertised as some earth shattering breakthru the way they do with everything else, only to have gamers dissappointed when they finally play it.. I just want to help make game AI better

I don't expect it to be THAT good, especially considering i've gotta finish it within a year, and plus i've got other thigns to worry about since i'm not getting paid for it.. the first version's probably gonna be real crap anyway lolz.. but i plan to work on it and make imcremental improvements to it in the coming years Heck, Maybe i'll even do a PhD on it as some people are suggesting

So hopefully in a couple of years you'll see an AI generator being used in games so that NPC AI is a whole lot better than a millipede's intelligence lolz
_________________
Knowledge is the key to success.. but you won't unlock success unless you USE that key
Post Fri Jul 30, 2004 5:05 pm
 View user's profile


Goto page Previous  1, 2, 3, 4  Next
All times are GMT.
The time now is Wed Apr 10, 2019 2:10 am



Powered by phpBB © 2001 phpBB Group
 
 
 
All original content of this site is copyrighted by RPGWatch. Copying or reproducing of any part of this site is strictly prohibited. Taking anything from this site without authorisation will be considered stealing and we'll be forced to visit you and jump on your legs until you give it back.