Pages: [1]
|
 |
|
Author
|
Topic: AI Chip (Read 4440 times)
|
Morfiend
Terracotta Army
Posts: 6009
wants a greif tittle
|
Didnt we just talk about this in a different thread? I couldnt remember which one, but I love the idea. AI is the one area we havnt seem very much imporvement in the last few years. Full Artice Here.A new company called AIseek announced what it describes as the world's first dedicated processor for artificial intelligence. Called the Intia Processor, the AI chip would work in conjunction with optimized titles to improve nonplayer character AI. Similar to the way in which physics accelerators can make a game's environment look much more realistic, Intia would make the NPCs act more true to life.
*edit* One of the interesting things is the message board discussion linked to the article. Pretty much everyone on that site posted that this is pointless and if your games have bad AI its the designers fault. So does that make pretty much every game have bad designers? I havent been very impressed with the AI in any game I have ever played. HL2 had some cool stuff, but I think most of that was scripted. Oblivion had some cool moments, but nothing that was like, "wow they act alive".
|
|
« Last Edit: September 06, 2006, 01:49:43 PM by Morphiend »
|
|
|
|
|
Riggswolfe
Terracotta Army
Posts: 8046
|
Interesting. I'll need to read it but I wonder how the chip helps with AI. Between this and that physics chip I'm getting a mental picture of a computer built out of different gaming subsystems. Though maybe this is just the next logical evolution after video and sound cards.
|
"We live in a country, where John Lennon takes six bullets in the chest, Yoko Ono was standing right next to him and not one fucking bullet! Explain that to me! Explain that to me, God! Explain it to me, God!" - Denis Leary summing up my feelings about the nature of the universe.
|
|
|
Lt.Dan
Terracotta Army
Posts: 758
|
Is it purely parallel processing for AI functions or are they also developing AI libraries? I'd guess both are potential bottlenecks - processing in, well, processing; and, libraries in Dev time and budget.
|
|
|
|
Kenrick
Terracotta Army
Posts: 1401
|
"wow they act alive". The day we can say that is the day I start stockpiling canned goods and heavy weaponry. The machines will rise.
|
|
|
|
Trippy
Administrator
Posts: 23657
|
I haven't read those message boards yet but I think people are misunderstanding what they mean by "AI". It's not AI as lay people understand it -- as in, why can't the computer controlled characters act more "human-like"? -- it's the computer science subset of AI that deals with graphs (i.e. pathfinding) and also geometry issues (calculating line of sight and hit boxes). And just like the physics coprocessor, an AI coprocessor will become marginalized (or even more so) once multi-core computing is the norm.
|
|
|
|
Margalis
Terracotta Army
Posts: 12335
|
My question is where is the bottleneck in AI? In graphics it is clearly in computational power. Most techniques that are "new" in game terms have been around for decades. Self-shadowing? That existed in 1978 or so! Some neat techniques have been invented through experimentation (like light blooming for example) but the technology has generally lagged far behind the research.
In AI I don't think computational power is the bottleneck. More like developer time and priorities, and a lack of understanding of AI in general.
|
vampirehipi23: I would enjoy a book written by a monkey and turned into a movie rather than this.
|
|
|
Trippy
Administrator
Posts: 23657
|
In AI I don't think computational power is the bottleneck. More like developer time and priorities, and a lack of understanding of AI in general.
Pathfinding is remarkably CPU intensive.
|
|
|
|
Margalis
Terracotta Army
Posts: 12335
|
It is. I can see this being useful in MMORPG servers for example. But I think that the complaints people have about bad AI go way beyond bad pathfinding and things like that.
Most people want *lifelike* AI, which is different than good AI. People want an opponent that won't fall for the same thing 20 times in a row. An AI that will hit upon "obvious" solutions, but will also play imperfectly. Most AI in games today will not hit upon what should be extremely obvious solutions, even to the developers.
Perfect example: AI that attacks the tank first. Let's see, the tank has high defense and low damage output. Yeah, sounds like a good target. Oh, but the tank can "taunt" me. Yeah, that makes sense. Some Mage fires off a huge fireball that does 1000 points of damage but I don't attack them because the tank gave me the finger.
Real humans attack mages first.
Now of course changing the AI to attack mages first will fundamentally alter how all of combat works, but my point is that sort of thing isn't a processing issue.
|
vampirehipi23: I would enjoy a book written by a monkey and turned into a movie rather than this.
|
|
|
Righ
Terracotta Army
Posts: 6542
Teaching the world Google-fu one broken dream at a time.
|
Real humans attack mages first.
Kill the healers first, the DPS second and the tanks last. MMOs are CPU intensive. You have to split the CPU power up among thousands of click happy horrors and keep everything startlingly responsive, so even little processor tasks aren't trivial.
|
The camera adds a thousand barrels. - Steven Colbert
|
|
|
Ironwood
Terracotta Army
Posts: 28240
|
The irony in those two posts tastes delicious.
|
"Mr Soft Owl has Seen Some Shit." - Sun Tzu
|
|
|
Sky
Terracotta Army
Posts: 32117
I love my TV an' hug my TV an' call it 'George'.
|
Didnt we just talk about this in a different thread? I couldnt remember which one, but I love the idea. AI is the one area we havnt seem very much imporvement in the last few years. http://forums.f13.net/index.php?topic=7983.msg221019#msg221019 ;) I agree with Trippy, though I've been championing an AI processor since the late 90s, because of the advent of multicore cpus in the mainstream. With a quad-core, it's pretty much a done deal to have a multithreaded game with a core dedicated to AI. My biggest hope from this little guy is that it gives AI processing a kick in the ass, because it REALLY NEEDS IT. Having a dedicated processor, aipu or extra core, would have benefits beyond just more realistic AI (and here I mean more realistic like reacting in interesting ways, not an aimbot, reaperbot was a badass but almost a cheat and not fun). Imagine every troop in a RTS having Oblivion-like AI. You could have pathfinding and decision making power to populate a gameworld up to the capabilities of advanced gpus. Better AI means better gaming, if I weren't so old and shitty at math I'd love to learn how to program AI :) People want an opponent that won't fall for the same thing 20 times in a row. "We" might want that, but it seems "people" want a fairly repeatable experience so they don't get pushed out of their comfort zone. My question is where is the bottleneck in AI? In graphics it is clearly in computational power. Most techniques that are "new" in game terms have been around for decades. Self-shadowing? That existed in 1978 or so! Some neat techniques have been invented through experimentation (like light blooming for example) but the technology has generally lagged far behind the research.
In AI I don't think computational power is the bottleneck. More like developer time and priorities, and a lack of understanding of AI in general.
Good question. I tend to agree. Joe Nascar notices pretty graphics, but does he care about a deeper gaming experience? But by that metric, there are devs out there who care about a deeper experience, so where is the stunning AI in their games? There's a few nice tricks here and there, but it's all very rudimentary, even the most 'complex' stuff, which needs to be more complex by a factor of ten, imo. But I also have a feeling it's just not 'cost effective' or some other management speak. Hell, many companies don't even bother finishing or polishing games, why would they 'waste' time on good AI? It really bothers me. An aside about light bloom effects. NFL: stop it. Now.
|
|
|
|
StGabe
Terracotta Army
Posts: 331
Bruce without the furry.
|
In AI I don't think computational power is the bottleneck. More like developer time and priorities, and a lack of understanding of AI in general. It's both. Pathfinding, etc., does take lots of CPU. However, mostly the challenge of creating good AI is a design/implementation challenge. Good AI is really hard. The "state-of-the-art" in academia isn't very good and so it's no surprise that AI in games isn't that great either. And a lot of what people want doesn't have to do with AI or computation at all. It has to do with scripting. An engine that can handle the types of behaviors you see townsfolk doing in Oblivion isn't that hard or probably even that CPU intensive. It is more an issue of having someone sit down and script all the behaviors in a way that is interesting and makes sense.
|
|
|
|
Sky
Terracotta Army
Posts: 32117
I love my TV an' hug my TV an' call it 'George'.
|
Scripting is fine, but it needs to be so much more conditional. More branches. My lack of actual AI programming knowledge prevents me from properly conveying the kind of stuff I'd like. Would scads of mini-scripts make sense?
I'm a big fan of pointless detail for immersion, as well as a game world that works while you're not around. Some guy is muscling in on an inn you prefer, but you go adventuring and miss the time the innkeep is walking down to the wharf to check the fisherman's catches of the day, whistling one of his favorite tunes, and gets jumped by the rogue in question. With the whole thing kind of playing out procedurally (if I may borrow a buzzword). The innkeeper can develop a favorite fisherman dependant on what the npc and pc customers of his inn buy and the pricing (which is set by the fisher who actually goes out and searches for good fishing spots in his boat). The innkeep hums a tune he knows, but he can pick up new tunes from the bard in his tavern or he might hear another npc whistling one. So I guess a lot has to go with the memory size of each AI container.
I don't realistically expect to ever see this level of immersion in an rpg. But it'd be nice. Maybe if Garriot had kept making Ultimas (and blocking out U9 from my memory...).
|
|
|
|
StGabe
Terracotta Army
Posts: 331
Bruce without the furry.
|
Right. All of that stuff is cool and has absolutely nothing to do with this chip and is only marginally an issue of AI. Basically the game needs two elements for this:
1) A deep enough scripting engine with adequate tools for the design team. (which most large adventure games are going to have these days) 2) Writers on the design team with time scheduled just to write dialogue/scripts for obscure NPC's.
Why you won't see that in most games is an issue, not of technology, but of budgeting and priorities. Most games aren't going to have enough time/money to do everything they want to do and when it is a question of adding obscure dialogue or adding to core functionality you're going to see the time/money going to core functionality.
That's why a game like WoW has more obscure jokes peppered throughout it. Blizzard had both time and money in copious ammounts and so they could let people spend it on less essential stuff.
|
|
|
|
Sky
Terracotta Army
Posts: 32117
I love my TV an' hug my TV an' call it 'George'.
|
It has a lot to do with having a processor free, because it'd be a resource hog like crazy. A seperate processor could even run the worldstate for non-visible game areas while the player plays on the main processor. I already talked about the budgeting and priorities problems.
|
|
|
|
Morfiend
Terracotta Army
Posts: 6009
wants a greif tittle
|
More from the article: AIseek will offer an SDK for developers that will enable their titles to take advantage of the Intia AI accelerator. According to the company, Intia works by accelerating low-level AI tasks up to 200 times compared to a CPU doing the work on its own. With the acceleration, NPCs will be better at tasks like terrain analysis, line-of-sight sensory simulation, path finding, and even simple movement. In fact, AIseek guarantees that with its coprocessor NPCs will always be able to find the optimal path in any title using the processor.
Intia will enable developers to support much larger maps, including the possibility of dynamically changing maps that the NPCs could then adapt to. AIseek's hope is that use of Intia will result in the "creation of new game worlds that are based on large, rapidly changing environments."
|
|
|
|
Riggswolfe
Terracotta Army
Posts: 8046
|
Ok, I'm confused, which is the human? Margalis or Righ?
Beyond that, it looks like a cool idea though right now it's nothing but talk from some company I haven't heard of.
Speaking of AI, why do I keep hearing things like this by developers?
Interviewer: So tell us about your AI? Dev: It's awesome! In fact, it's so unpredictable and crazy we had to tune it down!
I remember an interview very much like this regarding Oblivion and I've heard it other times as well. Give me some of that crazy AI! I don't care if it just randomly gangrapes a donkey in town square, I'd love to have the game be totally unpredictable like that!
|
"We live in a country, where John Lennon takes six bullets in the chest, Yoko Ono was standing right next to him and not one fucking bullet! Explain that to me! Explain that to me, God! Explain it to me, God!" - Denis Leary summing up my feelings about the nature of the universe.
|
|
|
Sky
Terracotta Army
Posts: 32117
I love my TV an' hug my TV an' call it 'George'.
|
Play Thief 3 long enough and you'll see some real funny shit in the streets. Hell, that's part of what I love about that game, it's not as good as Thief 2 otherwise. Screaming citizens running for their lives from bloodthirsty town guards, good stuff. Not really intentional, though.
|
|
|
|
StGabe
Terracotta Army
Posts: 331
Bruce without the furry.
|
It has a lot to do with having a processor free, because it'd be a resource hog like crazy. A seperate processor could even run the worldstate for non-visible game areas while the player plays on the main processor. I already talked about the budgeting and priorities problems. Not really. The stuff you are describing isn't very CPU-intensive. Updating some states according to a script isn't going to hog much CPU. If you have a lot of scripts to get through then you're going to be seeing an I/O bottleneck more than you'll see a CPU bottleneck and throwing more CPU's of any kind won't help you at all. The aspects of AI that require a lot of CPU are those that require search of some sort or another. Pathfinding is probably the biggest. And no matter how many CPU's you have you're not going to run pathfinding on every NPC in every bit of a world like Oblivion. Basically CPU-intensive means at least hundreds of thousands of cycles. I.e. some recursive search like A*. 5 cycles (instructions) to look at a bartender's state and update according to a script is not an issue and it will take the game a lot more time to load the script from cache/memory/hard-drive than it will take to execute it.
|
|
|
|
Sky
Terracotta Army
Posts: 32117
I love my TV an' hug my TV an' call it 'George'.
|
But if the cache and memory are on a PCI card that contains the processor and it only has to transfer state information to the cpu...
|
|
|
|
StGabe
Terracotta Army
Posts: 331
Bruce without the furry.
|
But if the cache and memory are on a PCI card that contains the processor and it only has to transfer state information to the cpu... Really going too far with it (not to mention that it would require some sort of generalized scripting language, etc., that I don't think exists and might not fit developer needs anyway). The sort of scripting you are talking about was possible with Ultima 6 and it's certainly not a huge strain on a computer now. This isn't what is preventing the sort of AI you are talking about from being in the games you play. The limiting factor here is, as mentioned, time and budget.
|
|
|
|
Sky
Terracotta Army
Posts: 32117
I love my TV an' hug my TV an' call it 'George'.
|
not to mention that it would require some sort of generalized scripting language Exactly! Look what shaders did for 3d rendering. And please stop mentioning time and budget, I agreed with you about that several posts ago. I'm assuming some company wants to take the time and budget to make good AI, but not sacrifice cpu cycles to it. There are cpu-bound games out there, even with the Conroe 'extreme'.
|
|
|
|
StGabe
Terracotta Army
Posts: 331
Bruce without the furry.
|
I'm mentioning time and budget again and again because, whether you did allow for it for or not, it is the answer to why you don't have this AI. Executing simple scripts does not take any amount of time along the order of what doing pixel-shading does. And if somehow in some game it did, it would be I/O bound time where it would be much harder to farm something out to a card (if not completely impossible). Like I said, unless it is hundreds of thousands of cycles running constantly it really isn't relevant for performance. 5 cycles to check and update a variable is not a technical challenge and the sorts of scripting you want was in Ultima 6, 16 years ago.
You seem to be suffering from the common malady of assuming that more technology will fix what is actually not something that can be solved by brute force (nor even needs brute force). Throwing technology at this problem won't get you what you want.
|
|
|
|
Sky
Terracotta Army
Posts: 32117
I love my TV an' hug my TV an' call it 'George'.
|
And you seem to be missing the assumption I've posted several times. 5 cycles to check and update a hundred thousand variables is what I'm talking about. An exponential leap in AI processing. Why does it seem that everyone who has the knowledge to explain in technical terms what I would like to be able to explain puts blinders on to the potential of ridiculously powerful AI? Because even when companies claim to have AI as a core component of their game, it sucks. All AI sucks, it's primitive and shitty. All I'm putting out there is the possibility with proper time and funding, that it can be so much better that it would be 1st gen 3d decelerators vs shader model 3.
If you don't want to explore that possibility, fine. You have plenty of company. Enjoy another decade of shitty AI. It'll look pretty.
|
|
|
|
StGabe
Terracotta Army
Posts: 331
Bruce without the furry.
|
5 cycles to check and update a hundred thousand variables is what I'm talking about. Except no one needs that. Because you'd have to script 100,000 behaviors first and companies don't have time/money to script dozens of such behaviors let alone 100,000. Not to mention that you would only need to update those variables on the order of minutes instead of doing 30+ frames per second like you do with graphical computations. Why does it seem that everyone who has the knowledge to explain in technical terms what I would like to be able to explain puts blinders on to the potential of ridiculously powerful AI? Because even when companies claim to have AI as a core component of their game, it sucks. All AI sucks, it's primitive and shitty. Because the history of AI is one of very slow progress, progress that is throttled by understanding and not computational power. 50 years ago Alan Turing, et al, thought we'd be far beyond where we are today with AI. And they were wrong because they underestimated the problem. Doing good AI isn't a problem like pushing lots of pixels on a screen. It's not just a matter of cranking up your efficiency, having enough cycles and enough memory I/O, etc. It's a matter of being able to design and create algorithms that we don't have yet. Our AI technology and understanding, in general, is at yet very primitive and resorts to crappy algorithms like searches, lookup tables and scripting. Scripting itself is arguably not even AI although that is what you are asking for. Scripting itself is well understood but is a very weak solution because the computer can't generate any scripted behaviors on its own. All the scripting has to come from a human. Real AI would be AI that generated the behaviors you want automagically and generally we can't do anything like that yet. Nobody is doing really good AI, not because they're lazy or because they lack technology, but because no one knows how to do really good AI. Because it's an unsolved problem and games are just faking with it with crappy half-solutions.
|
|
« Last Edit: September 08, 2006, 08:57:29 AM by StGabe »
|
|
|
|
|
Murgos
Terracotta Army
Posts: 7474
|
And you seem to be missing the assumption I've posted several times. 5 cycles to check and update a hundred thousand variables is what I'm talking about. An exponential leap in AI processing. Why does it seem that everyone who has the knowledge to explain in technical terms what I would like to be able to explain puts blinders on to the potential of ridiculously powerful AI? Because even when companies claim to have AI as a core component of their game, it sucks. All AI sucks, it's primitive and shitty. All I'm putting out there is the possibility with proper time and funding, that it can be so much better that it would be 1st gen 3d decelerators vs shader model 3.
If you don't want to explore that possibility, fine. You have plenty of company. Enjoy another decade of shitty AI. It'll look pretty.
Sorry Sky, you are really confused here. AI problems are things like deciding how to get the npc to walk a realistic least distance path while avoiding random obsticals along a random loosely defined path. Deciding to actually go down the path is trivial. If I want to move an NPC from position 0,0,0 to position 100,100,100 I have to consider something like a 100,000 possible routes. Now multiply that for every possible NPC at every moment of the game. Games do it today by having set paths for NPC's to travel along and they basically travel by Manhatten distance to and from those set linear rigid non changing paths (and stuff still gets stuck ALL THE TIME). Real AI would mean that players can plop down dynamically structured multi story cities anywhere and cities full of NPC's could navigate around them without ever bumping into things while taking reasonable paths to and from their destination all while avoiding players running around them constantly and other dynamically changing scenarios. The NPC deciding to go to work is just a matter of paying a guy to put some some code in somewhere that says: If time is less than 5 pm or greater than 9 am and not at work then 80% go to work or else go to park and masturbate. And is 95% a matter of budget/manpower/time and not CPU time. Taking that onus off the CPU would help a small amount but solving that problem would be poor a allocation of resources where there are other problems that even a small advance in would increase available CPU power by an order of magnitude.
|
"You have all recieved youre last warning. I am in the process of currently tracking all of youre ips and pinging your home adressess. you should not have commencemed a war with me" - Aaron Rayburn
|
|
|
Miguel
Terracotta Army
Posts: 1298
कुशल
|
I wonder how specialized AI related tasks are that would require a dedicated processor. I mean, I can think of half a dozen things that can benefit from having dedicated hardware algorithms (CRC and ECC calculation come to mind). However are AI algorithms specialized enough to require a dedicated hardware system? In other words, can't we do that same thing with another CPU core and not redesign the wheel again? If this thing comes out we'll have to pay for their R&D and design time, and we already have good CPU cores in mass production today.
My limited memory of AI algorithms were that it was mostly table lookups and matrix transformations, which have been done to death on standard x86 and RISC architectures today.
|
“We have competent people thinking about this stuff. We’re not just making shit up.” -Neil deGrasse Tyson
|
|
|
Trippy
Administrator
Posts: 23657
|
I wonder how specialized AI related tasks are that would require a dedicated processor. I mean, I can think of half a dozen things that can benefit from having dedicated hardware algorithms (CRC and ECC calculation come to mind). However are AI algorithms specialized enough to require a dedicated hardware system? In other words, can't we do that same thing with another CPU core and not redesign the wheel again?
Sure you can. However you can custom design a processor to handle certain problems more efficiently. For example, AISeek claims that their coprocessor is optimized to handle graph calculations (which pathfinding uses). DSP chips which are optimized to do FFTs are a more common example. Again a general purpose CPU can do FFTs too just usually not as fast and/or as cheaply.
|
|
|
|
Samwise
Moderator
Posts: 19324
sentient yeast infection
|
Does pathfinding really chew up that much processor time? I played games on my old Pentium II that could do perfectly respectable pathfinding (i.e. pathfinding that's better than what I see in some modern games - bots that don't run into walls, RTS units that get where they're told to go, etc) for upwards of a hundred agents at once. Is Intia's pathfinding so much more complex that modern CPUs, orders of magnitude faster than that old PII, can't handle them on their own?
|
|
|
|
WindupAtheist
Army of One
Posts: 7028
Badicalthon
|
|
"You're just a dick who quotes himself in his sig." -- Schild "Yeah, it's pretty awesome." -- Me
|
|
|
Trippy
Administrator
Posts: 23657
|
Does pathfinding really chew up that much processor time? I played games on my old Pentium II that could do perfectly respectable pathfinding (i.e. pathfinding that's better than what I see in some modern games - bots that don't run into walls, RTS units that get where they're told to go, etc) for upwards of a hundred agents at once. Is Intia's pathfinding so much more complex that modern CPUs, orders of magnitude faster than that old PII, can't handle them on their own?
There are algorithms other than A* that are less computationally expensive like Best First Search but there are disadvantages to using them. Also you can "cheat" and do things like precompute longer paths and remove inaccessible areas from the search graph to simplify the amount of work the pathfinder has to do. The problem with those sorts of things is that it makes it harder to have "dynamic" maps where obstacles and paths can change on the fly.
|
|
|
|
Samwise
Moderator
Posts: 19324
sentient yeast infection
|
I guess there aren't really any games out right now that try to do pathfinding across a dynamic map, so maybe that's the big difference. I'd still like to see some sort of benchmarks demonstrating the actual performance gain you'd get from this card.
|
|
|
|
|
Pages: [1]
|
|
|
 |