Slashdot Mirror


Chip Promises AI Performance in Games

Heartless Gamer writes to mention an Ars Technica article about a dedicated processor for AI performance in games. The product, from a company called AIseek, seeks to do for NPC performance what the PhysX processor does for in-game physics. 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." Is this the 'way of the future' for PC titles? Will games powered by specific pieces of hardware become the norm?

53 of 252 comments (clear)

  1. hm by JeanBaptiste · · Score: 2, Insightful

    sounds like it just speeds up existing AI routines..... and existing AI routines, well, SUCK.

    I dont think we are going to get any good AI until it has some method of "learning"

    1. Re:hm by Snarfangel · · Score: 4, Funny

      sounds like it just speeds up existing AI routines..... and existing AI routines, well, SUCK.

      This will suck 200 times faster, though. That's like a straw compared to a fire hose.

      --
      This tagline is copyrighted material. Please send $10 for an affordable replacement.
    2. Re:hm by MBCook · · Score: 4, Interesting

      I read the blurb this morning. The idea is that it accelerates the basic operations that everything uses (line of sight, path finding, etc.). The more complex AI (actual behavior, planning, etc) is built the normal way. It simply offloads the CPU and thus allows faster calculations.

      The other real difference is that it is better than current algorythms. So instead of using A* for pathfinding, it works correctly even on dynamicaly changing terrain. This would mean things like no longer having NPCs getting stuck on rocks or logs or some such (*cough* half-life 1 *cough*).

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    3. Re:hm by orasio · · Score: 5, Funny

      This will suck 200 times faster, though. That's like a straw compared to a fire hose.

      Fire hoses don't suck. You need a more visual analogy.
      Maybe something like this:

        "That's like a tick compared to your mother!"

    4. Re:hm by Da+Fokka · · Score: 2, Insightful

      sounds like it just speeds up existing AI routines..... and existing AI routines, well, SUCK.


      That's largely because most CPU cycles go to the pretty graphics. More computing power might help the AI in some games (although many AI routines are basically flawed anyway). This chip offers a more powerful tool to the AI programmer. It's still up to him to make an AI that's not totally stupid.

    5. Re:hm by Terminal+Saint · · Score: 2, Funny

      At least the tick shuts up occasionally...

      --
      It's sad when choosing an installation directory on your own qualifies you as an "advanced user."
    6. Re:hm by Chas · · Score: 3, Informative

      Jeeze. What the hell is with the whole accellerator thing now?

      A physics accellerator which does jack and shit when compared and mid to high end graphics solutions. It's offloading some of the CPU load, sure. But at high-res, the CPU is NOT the bottleneck.

      A network accellerator which is going to do jack and shit. It's offloading some of the network processing from the CPU, sure. See "the CPU is not the bottleneck". Sure, some people are going to build apps for the embedded Linux. Great.

      Now an AI accellerator. So the AI runs faster. When the AI isn't really the issue. Nor is the CPU underlying it. It offloads the AI from the CPU, sure. See "the CPU is not the bottleneck". Nor is there a real need to have 60,000 AI running simultenously in a scene with 4 characters in it.

      So what's going to happen? What difference is this going to make to your real gaming experience?

      1. Jack
      2. Shit
      --


      Chas - The one, the only.
      THANK GOD!!!
    7. Re:hm by jimmichie · · Score: 5, Funny

      Fire hoses don't suck.

      They do at the other end.

    8. Re:hm by SnowZero · · Score: 3, Interesting

      The problem with the state of AI today is not that the algorithms are too processor-intensive, it's that they flat-out suck.

      Please don't take what you see in games to be state of the art. Watch this video of my RoboCup team and tell me that AI still completely sucks. You'll see two teams playing 5 on 5 soccer with zero human input, i.e. fully autonomous. Game AIs may suck, but that's because their AI programmers are graphics people trying to do AI. The result looks about as good as me trying to make a state of the art graphics engine.

      The only reasonable application of hardware AI acceleration that I can think of would be a massively parallel chip that runs thousands or millions of neural net nodes at once... but this would mainly be a benefit for academic AI research, not for games.

      Neural nets died down as a fad in academic circles almost 10 years ago. There's a common saying that "Neural nets are the second best way to do everything." ... meaning that if you analyze a problem, some other approach almost always turns out to work better. They are a reasonable approach for unstructured classification problems that aren't fully understood, but after some analysis other approaches almost always take over. This has been the case with things like OCR and face recognition.

      I'm pretty sure that most games use simple "heuristic" algorithms for AI, rather than anything complicated like neural nets or Bayesian learning or SVM.

      NNs, Naive Bayes, and SVMs are all classifiers (and often slow ones at that). They aren't really directly applicable for defining policies for an agent, so they don't get used much (as well they shouldn't). Most agent decision systems use a combination of heirarchical finite state machines (FSMs), planning on a small set of high level actions, and motion planning.

      Games tend toward the absolute simplest of FSMs with only binary inputs, and yield the expected highly rigid behavior in a given situation. For the most part, they don't even use randomness, which is absolutely necessary in any kind of situation where one player is trying to outguess another. I've heard that non-RTS games only budget about 1% of the CPU to AI, and it shows. Rich FSMs, action-based planning, and proper motion planning get swept aside, and that is unfortunate. However the coming multi-core revolution may offer some hope. Game programmers are having trouble splitting up graphics routines, so it might be that AI can get the core or two that it deserves when we hit quad-core CPUs. Due to the many algorithms, AI benefits from general purpose CPUs, and parallelizes quite well.

      Whether enough real AI people will ever get hired to do games right remains to be seen. At the moment it seems even primarily systems companies like Google are more interested in AI people than game companies.

    9. Re:hm by MoxFulder · · Score: 2, Interesting
      The problem with the state of AI today is not that the algorithms are too processor-intensive, it's that they flat-out suck.
      Please don't take what you see in games to be state of the art.

      Sorry, didn't mean to cast aspersion on AI in general... merely game AI. My point was that game AI algorithms are hopelessly lame, so speeding them up isn't going to help. I'm very much aware of more impressive AI efforts, such as in RoboCup. In games, AI often seems to be an afterthought, whereas in RoboCup AI is pretty much the whole interesting part of the problem.1

      Neural nets died down as a fad in academic circles almost 10 years ago. There's a common saying that "Neural nets are the second best way to do everything." ... meaning that if you analyze a problem, some other approach almost always turns out to work better.

      Well, I wouldn't say that Neural Nets have completely died out. But your point that neural nets are a fuzzy second-best solution is a good one. Basically, neural nets are way too expressive, so they basically become a brute-force route to an "intelligent" solution. Since they're basically a brute-force massively parallel approach, I gave them as an example of a type of AI that might benefit from hardware acceleration.

      the coming multi-core revolution may offer some hope. Game programmers are having trouble splitting up graphics routines, so it might be that AI can get the core or two that it deserves when we hit quad-core CPUs.

      I'm pretty skeptical that this would make any difference! As you rightly pointed out, most game AI is based on extremely simple FSMs and such. There's no way such algorithms can be easily expanded to use a whole core's worth of CPU power.

      Game AI uses little processing power NOT because it can't be spared, but because game programmers typically lack the imagination and expertise to use more complex, CPU-intensive AI algorithms in their games.
    10. Re:hm by beaverfever · · Score: 2, Interesting

      "I dont think we are going to get any good AI until it has some method of "learning""

      That would be great, but in the meantime other approaches are available. Going back several years, Unreal Tournament had the capability of customising individual bots' gameplay style with several different parameters beyond mere difficulty levels, and I found that this was very much worth the effort. A large library of custom characters could be saved, and they could be selected randomly to add unpredictability to gameplay with bots. If you notice one bot is an idiot (or unbeatable), you can adjust that specific character.

      Admittedly I am not a super-hardcore gamer, but I have played several different titles. UT is the only game I have seen this bot customisation feature in.

  2. Al? by gEvil+(beta) · · Score: 4, Funny

    Who is Al and why do I want him controlling everything in my games?

    --
    This guy's the limit!
  3. Separate box just for the gaming HW? by Zanth_ · · Score: 2, Interesting

    What may occur is a separate box consisting of the GFX card, Physics Card, AI card, PSU for the above along with supporting memory modules just to power existing games. Mulitple cards consisting of mulitple chips with multiple cores will likely overpower the common case. Thus for the hardcore games, a separate box wired to the main rig could be the norm. Thus, for the average home user, we will get smaller and smaller (Mac mini et. al) but for the gamer we'll see module system, with multiple boxes and multiple PSU's to help with cooling and overall performance goodness.

    1. Re:Separate box just for the gaming HW? by gEvil+(beta) · · Score: 5, Insightful

      And then they can take everything and put it all in a big case with the a monitor and speakers and a special panel with the controls on it. And then all you need to do is put a slot in the front that says $1.

      --
      This guy's the limit!
    2. Re:Separate box just for the gaming HW? by gregmac · · Score: 5, Insightful
      What may occur is a separate box consisting of the GFX card, Physics Card, AI card, PSU for the above along with supporting memory modules just to power existing games.

      what an interesting idea.
      --
      Speak before you think
    3. Re:Separate box just for the gaming HW? by MBGMorden · · Score: 2, Interesting

      Ok, link speak is annoying. Don't do that ;).

      The systems you mention though are all scaled down computers. They don't really have any extra hardware that a standard computer doesn't have. The GP's comment seemed to be talking about putting all the "extra" hardware out of the case, which doesn't fit your model of just making a smaller and more focused computer.

      --
      "People who think they know everything are very annoying to those of us who do."-Mark Twain
  4. Well.. by geniusj · · Score: 3, Funny

    Well if Chip promises it, I believe him..

  5. Not Gonna Work by TychoCelchuuu · · Score: 4, Insightful

    The physics card could theoretically work because if the player doesn't have it, you could always leave out some of the eye candy and only calculate fancy physics for objects that affect gameplay. With an AI card, you don't have that luxury. Either they player has it, or you have to just dump all the AI (obviously not) or do it all on the CPU, which begs the question: why program your game for a dedicated AI card if you're just going to have to make it work on computers without one?

    --
    Against stupidity the Gods themselves contend in vain.
    1. Re:Not Gonna Work by arthurh3535 · · Score: 2, Interesting

      Actually, they could do something similar to the graphics, just allowing for "weaker" AI routines that can work on standard system.

      It will be insteresting to see if games are "more fun" with smarter AI or if AI really isn't the big and important thing about making interesting games.

      --
      No! It's a *SIG*. Keep the Special Interest Groups away! (Con joke!)
    2. Re:Not Gonna Work by Dr.+Spork · · Score: 4, Interesting
      I think this is the right question, but it may have an interesting answer. Maybe the way they picture future game AI is similar to present-day chess AI: Chess games evaluate many potential what-if scenarios several moves into the future, and select the one with the best outcome. Clearly, the more processing power is made available to them, the more intelligently they can play.

      Maybe future RPG AI could have some similar routines regarding fight/flight decisions, fighting methods and maybe even dialogue. But that would require a pretty universal processor, which would just speak for getting a second CPU. I don't have much hope of this catching on, but I'd welcome it. For one thing, writing AI that can run in a separate process from the rest of the game is something I'd love to see. I want something to keep that second core busy while I'm gaming!

      Plus, it would be pretty cool for hardware manufacturers if AIs really got smarter with better hardware (be it CPU or add-in card). That would require big coding changes from the way AI is written now, but I do think those would be changes for the better.

    3. Re:Not Gonna Work by MBGMorden · · Score: 3, Insightful

      The flip side though, is that if most AI's could really think well, almost no human could compete with them in a game. You'd loose almost every time.

      --
      "People who think they know everything are very annoying to those of us who do."-Mark Twain
    4. Re:Not Gonna Work by izomiac · · Score: 2, Insightful

      Computing possible outcomes is only one of the strategies humans use to make a decision. For chess that may be enough for a decently human-acting AI. But for most games such an AI would either be terrible or impossible to beat (at which point it would be programmed to make mistakes thus go back to being terrible). Throwing more processing power at the problem won't fix it, though it might make the AI slightly better. What's really needed is a better approach to creating AIs.

      A learning neural network would be an interesting solution, but has a few problems that make it undesirable IMHO. First, it would start out really bad (when it knew nothing). Now, that could be fixed by training it beforehand, but then you'd run into the second problem faster. The second problem would be that it would soon get to be too good to really be fun for most people. (Hardcore players would probably love it, since they seem to only really care about winning and not about playing, IMHO, but perhaps those are just the ones I've encountered.) You could artifically slow down its learning, but then it wouldn't have much of an advantage over a preprogrammed AI. Third, the AI could progress in an unexpected direction which would of course lead to unusual behaviors. (Like if it found a way to instantly kill the player on sight 100% of the time, or it started practicing "safety in numbers" and all the bots would just hoard together.) Fourth, I doubt a neural network would be very efficient, and I would hope the processor cycles could be better used elsewhere.

      A good AI should follow an algorithm similar to what a human would do (plus a fair degree of randomness). It shouldn't be predictable, and it shouldn't be exempt from the rules the player has to follow (omniscient, infinite ammo/mana/stamina, being super strong to compensate for stupidity, etc.). It also should have the rough limitations of a human player (non-zero but realistic and variable reaction time, non-perfect aim, not knowing the exact stats in realtime of the player, not picking the perfect attack every time, etc.). A way to program this would be to have your beta testers explain how they play and program the various tatics into AI algorithms. The AI should use some overarching strategies (pincer attack, various unit combinations, etc.), but it shouldn't use them exclusively (like in Red Alert, the computer would send predictable teams, like 3 Heavy Tanks and a Mammoth Tank, which were ineffective in later game). Perhaps it could even adapt to the player (record and later use player strategies, more frequently use strategies that have worked in the past, do something random to see if it works). While an AI could never play exactly like a human, the difference shouldn't be painfully obvious like it is now. Of course, all of this is my fairly uninformed opinion, and perhaps the AI is better in newer games. I'm just ranting because I've spent litterally thousands of hours playing skirimish missions in various Command and Conquer games and have always wished that I didn't have to use kid's gloves or give it a huge advantage (>3 on 1) when I played it.

    5. Re:Not Gonna Work by Dr.+Spork · · Score: 2, Interesting
      If you're advocating that AI only work with the information and "reflexes" available to human players, I wholeheartedly agree. I'm not as scared as you of AI that's too good, because it's always easier to make something worse than better. AI that's too good can be downgraded in many interesting, humanlike ways - like simulated dispositions to panic, or freeze, waste ammo, needlessly conserve ammo, get too close before firing, etc. Basically, you just need to observe what imperfect players do and tell an outstanding AI program to copy our shortomings. On higher levels the shortcomings would be diminished. Again, the Chessmaster series does that. You can set it to play very open and bold games - which makes it somewhat easier to beat, but much more fun to play (I still lose most of the time).

      I like the idea about training AI, but in all this, the topic of discussion is about how the AI could act significantly smarter with more real-time processing power. As you mentioned, the game company can pre-train AIs on their own big computers while the game is in production. So in this case too, heavy real-time AI processing does not extra smartness.

      Maybe AI code could include some general outlines of "strategies" on various levels of granularity, and the real-time decisions would be about choosing the strategy that best fits the situation. Essential to this is an estimation of the chances that the strategy succeeds, and of the cost of failure. Of course, there would be many ways to implement a strategy like "retreat" or "seek cover and throw grenades," and which implementation best fits the situation would again have to be computed in real time. So if the AI were programmed in this manner, the decisions it would make would improve with increased processing power. For example, evaluating how good a piece of cover a certain overturned table provides depends on your evaluation of the location, equipment and probable future movement of the enemies. What would the PC do if he were controlled by a smart AI? And how well would my cover protect me from that? These are all things the AI might have time to calculate. This is what I meant by "what if" scenarios - there would be many strategies and implementations the AI could consider at any given time, more than what any hardware can calculate. But the more you calculate, the better your decisions are likely to be. If I were writing a game that would have its own processor for AI, I would first develop maybe four intricate AI routines for the PC. Of course the PC won't be controlled by an AI, but the NPCs can consider what the PC would do if he were controlled by any of the 4 AIs and decide on a course of action which best counters what the PC might do.

      Well, if game AI worked anything like this, I might really want an AI coprocessor. But so far this is all a pipe-dream. Game AI isn't always hopelessly naive (I programmed some myself!) but it really is just a script of hand-written nested conditionals. A good scripter can get interesting behavior out of NPCs, but not in any way that would be improved by extra AI processing hardware.

  6. Client-side Multiplayer AI by w33t · · Score: 4, Insightful

    Something that's always bugged me a bit about expansion boards is that the experience can only be enjoyed by the user with the board.

    For instance, in a multiplayer game, some players will obviously be getting better graphics than the rest - but often the maps are tailored to work equally well (or at least as equally as possible) to low-end and high-end video cards.

    And then there is this new physX card - which sounds like a neat idea, but you have the same kind of situation. You can kind of model physics looking a bit better for the player with the card - but all actual physical actions must be reproducible for the non-card having players.

    Now, here is where I think the AI card could be different: distributed processing.

    Let's take two human players and 4 AI players in a multiplayer game. Normally the server would be responsible for the AI decision-making processing and would pass to the clients only the x,y,z movement and animation data as a network stream. The AI thinking would take place completely free of the client machines. This puts strain on the server's resources.

    Now, imagine rather than the server processing and the clients recieving network info you were to turn this on it's head.

    Have the clients process a subset of the AI - say, 2 AI for player 1's machine, and 2 AI for player 2's machine. Now both clients will send the AI's movement information to the server. From the server's point of view the AI would require the same processing power that a regular human player would require (very little - relatively speaking).

    With the plethora of bandwidth available client-side these days I think this kind of idea is very realistic.

    1. Re:Client-side Multiplayer AI by Anonymous Coward · · Score: 2, Insightful

      Having worked in the industry on a MMORPG, I agree that it would be nice to use client machines for extra distributed processing, but there are issues.

      First, as a rule of thumb in multiplayer development, never trust the client machines for anything other than controller and view data for that player. The client machine is hackable, unlike (supposedly) your server. They can wrap .dll's so that they can modify and view data, in your case data that they may not legitimately have access to, such as "what's beind that wall", and can inject "smart code" of their own to limit the updates the game sends back to the server. Don't trust your players.

      Second, although bandwidth is going up, having a remote machine control AIs in-game introduces two issues (off the top of my head). First, if the client machine hosting the AI goes down or loses its connection to the server, the AI will become "brain dead" to all other players in that general area, at least until a new AI controller can be spawned somewhere. As well, that AI has then lost its memory of everything it has experienced up to that point. Second, although bandwidth has increased, latency is still your issue. No longer are state updates for your NPC coming only from the server, they are coming from some remote machine, hitting the server, being validated (if the server is smart at all) and then being propagated to all other players in that area. That introduces a validation check and a second hop, which will slow down AI responsiveness.

      We thought about this a fair bit where I worked. We decided that it just wasn't doable.

      Nice dream, though. :-)

  7. It might take awhile.... by Anonymous Coward · · Score: 5, Funny
    In fact, AIseek guarantees that with its coprocessor NPCs will always be able to find the optimal path in any title using the processor.

    Aren't many problems of that ilk NP-complete?

  8. Yet another waste, years late by MaineCoon · · Score: 4, Insightful
    The product, from a company called AIseek, seeks to do for NPC performance what the PhysX processor does for in-game physics.


    They want to completely ruin game performance by killing the PCI bus bandwidth and causing the GPU to stall waiting on the position/orientation and generated geometry that it will have to render?

    Physics and AI coprocessors are 2 years too late - with the increasing availability of dual core processors in even midrange consumer systems now, and quad core on the horizon, engineering time is much better spent on making an app multithreaded so that it runs efficiently on hyperthreaded and dual core machines, instead of trying to offload it to a coprocessor that few customers will have. For a consumer, it is a better investment to spend an extra $50 to $100 for a dual core processor than spend $300 on a physics or AI coprocessor.

    I doubt, and openly mock, their claims of '200x' speedup. I imagine it will be more like speeding up the process of $200 leaving foolish consumers' wallets.
    --
    Hunt your preferred prey at Aliens vs Predator MUD. Join the war at avpmud.com port 4000
    1. Re:Yet another waste, years late by j00r0m4nc3r · · Score: 3, Informative

      I fully believe their claim is totally realistic. With a dedicated circuit to process A* or Dijkstra's algorithm (or solve generic network traversal problems) you could very easily beat a general-purpose processor by 200x. While computer CPU's are very good at doing a lot of different things, they generall y suck at doing specific things extremely fast. A dedicated DSP chip for example can easily outperform a general-purpose processor doing a DSP subroutine by 200x. If they can make these things cheap enough where they can start getting integrated into video cards or whatnot without affecting the price too much, I think they may have a chance.

    2. Re:Yet another waste, years late by Targon · · Score: 2, Interesting

      PCI is on it's way out, PCI Express is the next stage, or HTX(HyperTransport slot).

      Dedicated co-processors are a good idea, the problem is the costs involved. AMD is pushing for these companies to just make their new co-processors work with an existing socket type so instead of trying to sell cards(which cost more money to make due to the PCB), we will buy just the chip itself.

      To be honest, this is a better way to go since if a GPU were implemented in this way, you could easily just buy a GPU, toss it on the motherboard, and bingo, easy upgrade without the expense of buying a new graphics card and memory. Sure, you might see generational jumps in the memory used for the graphics and how it connects to the GPU, but that problem could be solved in multiple ways.

  9. Why wouldn't we just use extra cores? by Rhys · · Score: 3, Insightful

    Since the Mhz jumps of the past seem to be by and large behind us these days, but we're looking at more and more cores, isn't it time that games become multithreaded and offload that nasty pathing work to a second core? Sure you could buy stupid shiny cards for the game physics and AI and network (some sort of network booster that avoids the OS's TCP stack -- posted a while back I believe), or alternatly just make use of the extra hardware that /will/ be in the box anyway.

    Now, the decent AI toolkit that folks can license might be worth it anyway, when they figure out they should just run it on the CPU instead of their custom CPU-like-thing.

    --
    Slashdot Patriotism: We Support our Dupes!
    1. Re:Why wouldn't we just use extra cores? by Dekker3D · · Score: 2, Interesting

      ah, finally someone who thinks my way. yes, if we were to have a choice between various ai/physics cards somewhere in the near future, like we do with graphics cards nowadays, they would automatically become affordable in an effort to become the cheapest and/or best of all similar cards. that way, we could have those great features. game developers and game modellers would rejoice in the removal of the barrier in animation (vertex displacement function for muscle simulation, anyone?) and physics (massive physics-based puzzles and arenas?) to those who said a separate ai card would make ai too difficult... it would also allow the programmers to limit the ai so it only knows what it should know, like a normal human does. stealth would become better, more enjoyable and more rewarding as you've finally gotten the feeling of playing against smart enemies.

  10. Welcome to the Dot Bomb v2.0 by Bieeanda · · Score: 2, Insightful
    One might think that the future is piecemeal, given the PhysX card, this thing and the even more ridiculous Killer(TM) NIC, but there's a few small things that the would-be bandwagoneers developing these things don't want to think about.

    The first is money. A serious gamer who likes his bells and whistles might be expected to spend several hundred dollars every year or two, in order to make his games run at their prettiest and fastest. He still has a finite budget, though-- asking him to spend a similar amount on physics and AI hardware is unlikely to have the desired effect.

    The second is developer support. Developers are stuck in an even bigger pickle: on the one hand, these devices (ideally and theoretically) provide new avenues for gameplay, but the moment that the hardware becomes necessary, they've eliminated a definite percentage of their market.

    Three... are these things necessary, or even desirable? The original PhysX demo application, intended to show the effectiveness of the hardware by flinging crates around, ran perfectly smoothly on good hardware once hacked to remove the check for the PhysX processor. The Killer(TM) NIC is pretty much marketing snake-oil to anyone with any knowledge of networking. The 'need' for an AI coprocessor is pretty much obviated by faster main processors. Most games these days haven't been optimized for the multi-core processors that, unlike parlor tricks like PhysX, are actually growing in popularity. Wouldn't it be just that much easier for a developer to assign AI routines and meaningful physics interactions to idle processor cores, rather than constantly shuffling vital data back and forth between peripheral cards?

  11. way of the present by krotkruton · · Score: 2, Interesting

    Is this the 'way of the future' for PC titles? Will games powered by specific pieces of hardware become the norm?

    Short-run, maybe; long-run, no. IMHO, things will consolidate like they always seem to do. Video cards are necessary for more than just games, so they won't be going anywhere. Physics and AI cards seem to be useful for nothing but games. It would be foolish to combine all video cards with physics and AI chips because not everyone plays games, but why not combine the physics and AI chips? Farther down the road someone will come out with a new card to enhance some other aspect of gameplay, and eventually that will merge with the physics and AI chips on their own card.

    Things are always being consolidated on PCs. Look at all the things on mobos that used to require separate cards 10 years or even 5 years ago. Designers get better and better at cramming more things into a smaller space (even if that is getting harder and harder to do), so it seems to me that these things will keep merging together when it is useful to do so. In this case, I don't think most PC users want to have 3-5 cards just for games, so it is useful. I could be completely wrong on that point though.

  12. Re:Naah, not anytime soon by legoburner · · Score: 2, Interesting

    I am not so sure, as I think that some sort of programmable PCI-X card is going to exist sometime soonish which will allow programmeable hardware processing of simple routines like line of site or pathfinding (or other mathematical problems), and this will offload from the CPU. This would be more logical as it can then be used in many different applications from custom rendering for render farms, to hardware-assisted protein folding through to complicated firewalling/packet sniffing and back to gaming and other desktop usage. They have been in development for a while now, I just wonder when they will start becoming available to the consumer.

  13. Physics + AI + Graphics = Game Card? by bockelboy · · Score: 5, Interesting

    One begins to wonder what the "endgame" scenario for the respective manufacturers of the physics and AI cards we're seeing. I can foresee three distinct situations:

    1) The CEOs, investors, and engineers are complete idiots, and expect all the gamers of the world to buy separate physics, AI, and graphics cards
    2) They're hoping to provide chips to ATI or nVidia for a "game card" instead of a "graphics card", the next generation of expensive purchases for gamers
    3) They're hoping to provide chips for the nextgen xbox / playstation / wii, hoping that their chips will be the ones to make gaming interesting again.

  14. You mean way of the past, right? by Yvan256 · · Score: 2, Insightful
    Is this the 'way of the future' for PC titles? Will games powered by specific pieces of hardware become the norm?
    If you look at the Amiga, I think it had a CPU or co-processor for almost everything...

    As for this new thing "doing the same thing as the PhysX processor", we'd have to see this PhysX processor in action (and on the market) first, wouldn't we?

  15. ya, SMP anyone? by snarkasaurus · · Score: 2, Insightful

    I agree. Intel just released dual core chips, AMD has them already and is about to release quad core chips, plus we have -cheap- dual processor boards available. That'd be eight cores, as soon as AMD releases their new kit.

    Even Windows is shipping with SMP available, we have processing capability out the wazoo pretty much. Should be able to handle any AI requirements I'd think and have room to balance your checkbook at the same time.

    Some clever lad should be able to design a bot that doesn't do the same thing every single time, eh? Maybe learns to check that blind spot before it sticks its head out. Now THAT would be fun! Better than new eye candy, for sure.

  16. Completely off base by everphilski · · Score: 2, Informative

    They want to completely ruin game performance by killing the PCI bus bandwidth

    Positional updates to a character in the game are very low bandwidth - I mean, MMO's do this all the time and don't saturate network connections, much less a PCI buss. The calculations are heavy but the input and end result are just a few numbers, plus a terrain map you would load once and forget until you zone, at which time a little latency is happening anyways.

    causing the GPU to stall waiting on the position/orientation and generated geometry that it will have to render?

    Read carefully. It isn't generating terrain, just sending around updates. Diffs between 2 meshes don't have to be big. The mesh will probably stay the same, just relocate. Send an array of updated points with the corresponding indices. It isn't hard to imagine that a dedicated processor could do these things significantly faster than a processor that is already breaking its behind doing thousands of matrix transformations, player calculations, sound and graphics effects, etc.

  17. useful for game servers? by j1m+5n0w · · Score: 4, Interesting
    why program your game for a dedicated AI card if you're just going to have to make it work on computers without one?

    Perhaps the card could be most useful not on the client, but in dedicated mmorpg servers. I know WoW could definitely use some smarter mobiles. Sometimes I think whoever designed the AI was inspired by the green turtles from Super Mario 1. I'd like to see games with smarter mobs and NPCs, and any game with a realistic ecology (for instance, suppose mobs don't magically spawn, they procreate the old fashioned way, and must eat food (a limited resource) to survive) would require many more mobs than a WoW-like game in order to prevent players from destroying the environment. Simulating millions of intelligent mobs would likely be very expensive computationally.

  18. I know this is harsh and all but... by ThomasBHardy · · Score: 5, Insightful

    Ok I do know I should be more tolerant of my fellow man and all that stuff, but really... this is just damned foolish.

    Imagine the conversation that led to this...

    -misty flashback fade-

    Marketing Guy : Oh man, gaming is ready for a revolution!
    Technical Guy : It's called a Wii now

    Marketing Guy : Huh? We now what? -shakes head- I mean these gamers, they buy top end stuff, they have money to burn!

    Technical Guy : Not really, they buy slightly under the curve and tweak up and overclock mostly
    Marketing Guy : No no I read in a magazine that all gamers have more common sense than money
    Technical Guy : -sigh-

    Marketing Guy : These Ageis guys really whipped up a lot of frenzy about a new type of add on card.
    Technical Guy : Yeah it's supposed to make the gamers run better by adding physics processing but the demo..
    Marketing Guy : And they are making money hand over fist!
    Technical Guy : Well, actually...

    Marketing Guy : And it's so easy to make specialty stuff!!
    Technical Guy : But their demo runs the same even without the card!

    Marketing Guy : Wait, Wait, I got it! We'll make a card that adds more CPU power!
    Technical Guy : Well dual cores add lots of CPu power that has yet to be tapped by games
    Marketing Guy : No wait, even better, we'll make it special! That's what made the Ageis guys rich!

    Technical Guy : Listen, the Ageis guys are not selling much, you might not want to...
    Marketing Guy : We'll add better AI! That's IT!

    Technical Guy : Better AI?
    Marketing Guy : Yeah, we'll sell a card that makes the games run better!
    Technical Guy : How's that work?
    Marketing Guy : We'll umm, make it able to process AI commands like a graphics card processes graphics commands.

    Technical Guy : But Graphics Commands are standardized, so they can optimize for that.
    Marketing Guy : We'll get them to standardize AI commands.

    Technical Guy : -twitches- But, every game has different needs from AI
    Marketing Guy : So we'll make it flexible, generic, so it can do anything

    Technical Guy : If it's generic processor design, it's the same as a regular CPU.
    Marketing Guy : Exactly!

    Technical Guy : But then what is it's advantage?
    Marketing Guy : Haven't you been listening? It'll make games play BETTER!

    --
    Warning: Teh poster of this messaeg is lysdexic
  19. Stupid question... by UbuntuDupe · · Score: 3, Interesting

    ...that's I've always wanted the answer to from someone who knows what they're talking about:

    For the application you've described, and similar ones, people always claim it would be cool to be able to handle massive dataprocessing so you could have lots of AI's, and that would get realistic results. However, it seems that with *that many* in-game entities, you could have gotten essentially the same results with a cheap random generator with statistic modifiers. How is a user going to be able to discern "there are lots of Species X here because they 'observed' the plentiful food and came and reproduced" from "there are lots of Species X here because the random generator applied a greater multiple due to more favorable conditions"?

    I saw this in the game Republic: the Revolution (or was it Revolution: the Republic?). It bragged about having lots and lots of AI's in it, but in the game, voter support in each district appeared *as if* it were determined by the inputs that are supposed to affect it, with a little randomness thrown in. The AI's just seemed to eat up cycles.

    Long story short, aren't emergent results of a large number of individual AI's essentially the same that you would get from statistical random generation?

    1. Re:Stupid question... by UbuntuDupe · · Score: 2
      Er, no. *looks up* I'm not trying to make some kind of deep statement about the equivalence of machine and man, and with it, the inevitability of history. I'm just saying, how do I as a game player, have a different experience when you do:
      CRITTER_SPAWN_PROBABILITY = TREE_DENSITY * 0.4 ; //posit probability of critter spawning
      CRITTER_POPULATION *=1+CRITTER_SPAWN_PROBABILITY;
      as opposed to:
      for (int i=0;i<CRITTER_POPULATION;i++)//an AI in which the critters "decide" to spawn another
      {
        if (random()*TREE_DENSITY < 0.4)
        _critter[i].reproduce();
      }
      It just seems that with a large enough population, the results are indistinguishable. (I know, it's kind of an over-simplified, AI, but both the AI and pure randomizer would take the same variables into account.)
    2. Re:Stupid question... by miach · · Score: 2, Interesting

      Having actually written some game AI (about 7 years back now), we actually used both depending on whether the player could see what was going on or not.

      Thus if you were following the animal it would wander through the forest in the expected manner (unless you got in it's way, etc), but if you just wandered into the forest there would be an expected number of animals "from stock" (and if you killed them all, there would be none left).

      I'd write something considerably more complex for the visible parts these days (having more CPU to hand), but for the invisible parts, as long as it looks correct to the player, it doesn't matter if you simplify things.

      In relation to the original post, we already had multi-level AIs and would ramp them up in a similar way to the graphic level of detail (ie. the more CPU cycles you had to throw at the renderer, the more detail was displayed - all the models had several level of detail variations depending on range and we'd change the distance at which we switched level of details according to the frame rate).

      Similarly with the AIs - the further away the more we did statistically and the less we did with the more complex routines. Having a dedicated processor for some of the AI would just mean we could ramp the complexity of the routines a little sooner.

  20. My bet: it won't fly by archeopterix · · Score: 4, Insightful
    I think it won't repeat the success of 3d acceleration, because AI is quite unlike 3D. The key factor in 3d accelerators' success is IMHO a very good set of primitives. If you are fast at drawing large numbers of textured triangles potentially obscuring each other, then you are there (almost) - you can accelerate practically any 3d game. I don't see anything like this in AI. Well, perhaps a generic depth-first search accelerator for brute force algorithms, but the problem I see with that is that the search spaces will vary from game to game, so you probably won't be faster than your current multi-core generic CPU.

    It seems that those guys did what's best under these circumstances - got a specific search space that is common in many games and specialized in that. IMHO, it's not enough to get the snowball rolling, but time will tell.

    1. Re:My bet: it won't fly by exp(pi*sqrt(163)) · · Score: 3, Informative
      a very good set of primitives
      You mean like LISP functions?

      You've practically stated the solution yourself - what we need is a LISP coprocessor. (I'd personally prefer Haskell but LISP is more traditional for AI.)

      --
      Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
  21. No, the cat does not "got my tongue." by Impy+the+Impiuos+Imp · · Score: 2, Informative

    > In fact, AIseek guarantees that with its coprocessor NPCs
    > will always be able to find the optimal path in any title using the processor.

    It has been mathematically demonstrated there is no general pathfinding solution significantly better than trying all possibilities (though pretty much only in degenerate cases could the best path be difficult not to find by a hill-climbing heuristic.)

    Still, it should be trivial to whip up a case that would require these dedicated processors longer than the known age of the universe to find the optimal path.

    --
    (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  22. What does this need. by ScaryFroMan · · Score: 4, Insightful

    So for optimal performance, I need two video cards, a physics card, an AI card, a sound card, and a network card. And even then, that's leaving out stuff like a RAID or SCSI controller. Sounds great, but where's a motherboard that can support more than one PCI card with both PCI-E slots filled? Hell, a lot of motherboards can't even handle one.

    --
    In Soviet Russia, backwards is everything.
  23. Hardware becomes software becomes hardware by kickabear · · Score: 3, Informative

    This is just another spoke in the wheel of reincarnation. This too shall pass.

    --
    This space for rent.
  24. Thing is by Sycraft-fu · · Score: 3, Insightful

    That will drastically alter gameplay. You'd literally have to design the game twice, once for dumb AI, once for smart AI. As an example, look at the difference between the original Doom, and Doom 3. While Doom 3's monsters aren't brain surgeons, they are smart enough to sneak around, take cover, etc. If you were to apply those tactics to the massive numbers of monsters in the original Doom, you'd have a near impossible game. Likewise if you put the dumb, "walk straight at the player" AI in Doom 3, the challenge would be gone.

    Now this is just the case with a game where AI is fairly unimportant in the scheme of things. In a game where it highly relies on the AI, say one where squad tactics are used, it'd be a nightmare. With the card you have highly competent teammates that practically complete a mission for you, without it you have guys stepping on their own grenades, things like that.

    AI also has the problem of being different for different games. I'm sure the AI process for an imp in Doom 3 is nothing like the AI process for an enemy civ in Civilization 4. Thus I don't know there's a way you can provide a more "optimised" kind of chip for it. Graphics accelerators work because you can design a chip that's highly specialized. They'd suck as CPUs, and in fact until very very recently weren't even Turing complete. However since graphics is always the same kind of thing, they can be optimised to do certain things very fast. I just don't think that's the case with AI, since there's so many kind of AIs one might need.

  25. Can we please not even by goldcd · · Score: 3, Insightful

    entertain this notion? This card is doomed.
    The PhysX card is doomed
    Multicore CPUs are here - no longer some weird expensive ninja-component, they merely cost a few $/£ more than a single core.
    Currently nothing (non-industrial) really takes advantage of multi-core systems - the spiel for them currently seems to be 'Run an AV scan without slowing your game' - that's it.
    *rubs crystal ball*
    What's going to happen is the established middle-ware (i.e those with a product people use now) will develop engines that 'run on a core'. Current core #1 will run the game and core #2 will run the physics and eventually core #3 will be the AI, #4 will run the procedural graphics, #5 will do the 12.1 audio etc.
    If you look what's being developed for the PS3 (the most insanely multicored CPU so far), the cores are being divided up by function - one for the OS menu, one for the lead characters hair etc. Threading a single function across multiple cores is not only insanely hard, but hinders cross-platform porting.
    Middleware is just going to be sold to run on one core and ported per platform - and I'm fine with that.

  26. A Field Programmable Gate Array would make sense by Colin+Smith · · Score: 2, Insightful

    Program the physics, graphics and AI routines into hardware. Offload the processing onto the FPGA. Call it a generic games accelerator. The games developers could then optimise their own libraries of hardware routines for their games rather than trying to optimise the games for general purpose hardware.

    --
    Deleted
  27. Re:A Field Programmable Gate Array would make sens by philipgar · · Score: 2, Informative

    First, graphics won't work on an FPGA. I mean technically it's feasible, but the demand for graphics is great enough to make it economical to produce graphic ASICs such as those Nvidia and ATI produce.

    However the FPGA idea is a good one, and is being researched. Actually, what is even more interesting is to utilize transistors on the CPU die to integrate reconfigurable hardware accelerators. The research is being done currently, and will allow for CMP + reconfigurable systems so that custom processors can be integrated at runtime. Additionally these systems will allow dynamic reconfigurations, so that the hardware can be time-multiplexed between different configurations (although the configuration time can often be on the order of miliseconds). Additionally, this allows for straightforward upgrades to your processors. Want to run games faster? Throw more hardware, double the size of the reconfigurable area. This will allow the game to do more in parallel, or to cache configurations etc (causing more routines to run in hardware rather than software). And everything is compatible as the user just needs to download the synthesized version of the hardware for their reconfigurable arrays.

    Of course this scenario is quite a ways in the future, and it must be remembered that hardware designs are much harder to create than software designs, and hardware/software design is a very difficult problem. The future is there, it just may take a while for reality to catch up with the research.

    Phil

  28. Forget it, man. by Ayanami+Rei · · Score: 2, Informative

    Trying to sell solutions like a "Physics chip" or an "AI chip" is the joke. They are trying to sell you what could be a very generic add-on product but they are shoe-horning into doing a very limited set of things. They do this so they can charge developers an arm and a leg for the API, and so that they can make you buy three or four accelerator cards to use up all those empty PCI-e slots (thanks to motherboard integration of everything).

    No, the answer is simple multithreading and taking advantage of dual core machines (or quad core when that day comes around).

    I could maybe see the use of a parallel/vector processing add-in card maybe coupled with an FPGA that developers could use to tackle specific embarrasingly parallel problems for the game code. The card would be multi-purpose and it'd create a new market for developers to come up with FPGA code that does whatever hot new thing might need accelerating:

    1) Water and cloth simulations
    2) Procedural texture generation
    3) Radiosity calculations
    4) Swarming/agent-based modeling

    You don't need seperate cards to do this stuff. One card is fine. Two for extra oomph. Or in the case of AMD w/hypertransport, you could have special purpose plug-in coprocessors.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON