Standardized AI in next generation consoles...
Hey everyone - I'm new to GameDev net, and this is something I have been thinking about that I thought I'd share with you as my first posting. I intend to enjoy my stay in this community, and hope that it is as helpful as it seems to me. • Next-Gen AI I've done a lot of reading on the next generation consoles these last few days. The potential for them in the line of games and the flow of creativity is mind blowing. But as I searched, there had been one thing that seemed to be restated in everything I read: developing for the new consoles is going to be Hell on developers. The programming and design for each game is going to take so much more, now. More people, more time, more money, more effort. So after a while I really started feeling bad for small development groups and programmers and so forth. I mean, I intend to get into the business later in life, and I could only imagine how bad it will be then for dev teams to shine. But then I came to think on it (my brother was playing GTA San Andreas and I was saying to myself that the next one would be perfect if the AI was far more realistic) and I thought that it if they could do things standard, and do them right, then maybe the first games or so would be difficult to produce, but otherwise it would be like making a movie on a computer: just take what you need from your archives, add a script for the actors to read, and build a world for the player to exist in. This came to me especially with AI. If you could do a really good AI, one that is realistic to the point of being near-flawless, then you wouldn't have to spend so much time making AI for each game. Make an artificial intelligence that learn and you will have one that is limited to fighting or driving or anything you need it to do. The same with physics: just do a complete system for physics, do That correctly, then when you need to break the laws you implemented, have a way to do so (Tony Halk games, for example). The worst of it would be teaching the AI a new craft for a new game. Would that not work? I mean sure, for a GTA, or some platformer (Ratchet & Clank) a really smart AI would make the games only that much more difficult. Just imagine trying to fight a boss that realizes your weaknesses and sits there and exploits them the whole game? Or imagine a cop on GTA that is smart enough to shoot you to death from behind a tree or from a roof, where you can't see him? But come on, isn't the goal to attain full realism in games? I think these are the next steps in the evolution of entertainment. What are your thoughts?
And with my Greatness hidden, all the world will weap at the beauty of my rebirth.
I don't think you could make a standard for AI simply because the AI needed varies from game to game. For a Chess AI you wouldn't use an FPS AI. For a FPS AI you wouldn't use an RPG AI, and what about the games that are trying to do new things like FPS mixed with RPG.
The only thing you could probably do is make a small AI Library that has a few things to help with AI development, but even then a lot of the things made for it would probably be left unused. Game Developers nowadays tend to use scripting to help with AI progress rather than coding which is a small step for AI.
What would probably help the consoles the MOST, but will NEVER be done is a standard graphics API for all consoles. This would help with porting and bring the titles everywhere, but it would never be done because consoles rely on hit games for purchases.
The only thing you could probably do is make a small AI Library that has a few things to help with AI development, but even then a lot of the things made for it would probably be left unused. Game Developers nowadays tend to use scripting to help with AI progress rather than coding which is a small step for AI.
What would probably help the consoles the MOST, but will NEVER be done is a standard graphics API for all consoles. This would help with porting and bring the titles everywhere, but it would never be done because consoles rely on hit games for purchases.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Looking for video game music? Check out some of my samples at http://www.youtube.c...ser/cminortunes
I'm currently looking to create music for a project, if you are interested e-mail me at cminortunes@gmail.com
Please only message me for hobby projects, I am not looking to create music for anything serious.
Looking for video game music? Check out some of my samples at http://www.youtube.c...ser/cminortunes
I'm currently looking to create music for a project, if you are interested e-mail me at cminortunes@gmail.com
Please only message me for hobby projects, I am not looking to create music for anything serious.
im not sure, the future is a scarey place. its plausible an AI base framework could be devised, a few probably already exist somewhere. its just a question of evolution really, start ith something simple modular and small and build on it.
reusability etc
reusability etc
http://fusi.basscut.net"We are what we repeatedly do. Excellence, then, is not an act, but a habit." - Aristotle
Well yes, people have stated it already: AI (and physics, for that matter) hardware won't appear because there's no standard AI/physics algorithm used in every game.
In graphics the situation is different, because rasterizing is such a standard operation used in every game. That's why we already have GPUs.
Of course, there are some standardized "subportions" of physics and AI, such as neural networks, that could benefit largely from hardware. The rest would be done on software (or programmable hardware).
It's pretty much the same thing with graphics, actually: the data structures and logic are controlled by the programmer on software, whereas only the final part (standard rasterization) is done by the GPU.
-- Mikko
In graphics the situation is different, because rasterizing is such a standard operation used in every game. That's why we already have GPUs.
Of course, there are some standardized "subportions" of physics and AI, such as neural networks, that could benefit largely from hardware. The rest would be done on software (or programmable hardware).
It's pretty much the same thing with graphics, actually: the data structures and logic are controlled by the programmer on software, whereas only the final part (standard rasterization) is done by the GPU.
-- Mikko
I really like the fact that you had something to contribute to the idea. And I do understand what you are all saying. It would be pretty difficult to make ONE AI for everything.. but I don't think it'd be impossible. If one could make an AI that is great; so great that you could Train it to act a particular way, then I believe anything is possible. Like any other AI idea that evolves with it's environment or learns from some sort of stimuli, this AI could be reworked to be a certain way for each game and each character. Training the actor, in a way. Or for games like GTA when where it'd be stupid and time consuming to do person by person, have that same AI randomize each character that is created in the game at anytime. I know it's pushing it, this would definately be a helpful and (depending on how well the developers for their respective companies do in creating this) most necessary accessory to the company. Gaming is going to have to make a jump somewhere, why not where it matters the most.
Also, I've noticed that many of you are thinking that I mean that everyone in the business of game design share the same AI subsystem - what I mean is software that individual game designers would use. Like the quake engine, for example. That type of thing, except on a smaller scale - it's not supposed to Be the game, it's a part of it.
Also, I've noticed that many of you are thinking that I mean that everyone in the business of game design share the same AI subsystem - what I mean is software that individual game designers would use. Like the quake engine, for example. That type of thing, except on a smaller scale - it's not supposed to Be the game, it's a part of it.
And with my Greatness hidden, all the world will weap at the beauty of my rebirth.
Even quake engine is specific in many areas. I think playstation had some AI chips in it from what I can remember. Not sure what that was all about but the news died down so probably not much came out of that. Maybe some commom AI traits could be pulled out and put into a toolkit but I think game designers want to setup/control the AI or scripts themselves instead of relying on AI. I'm not sure if the AI you're talking about is even possible with today's tech. I don't even know we if we understand what AI actually is and how to go about constructing it. I'm afraid if such smart AI could be devised that it would end up human race as we know it if some egomaniac Hitler gets hold of the thing. All those bad B-movies coming to reality :)
A few varied responses:
There are already several packages out there for building AI systems out of components. Take a look at gameai.com, under the Toolkit and SDKs for a few examples. This is definitely an idea people are pursuing.
The added complexity and expanded dev time people are talking about _generally_ doesn't impact AI as much as the rest of the game. The big issue is 'bumpy shiny tech' -- using several textures per model. Generally, this involves making one very high detail model for generating normal maps, then a low poly runtime model for use in game. This, and the cost of making less abstract environments are the big costs.
The general programming issue is the move towards more parallelization, as code may be running on more CPUs. Again, this does not impact AI programmers as AI is likely to run on one CPU. Trying to move it across multiple is likely low gain; the main thing that may be worth offloading would be pathing, and pathing tends to be chew the cache. If pursued, this change would simply be to enable AIs to request a path and then not need to use it for an arbitrary length of time.
The AI Interface Standards Committee is looking at standardizing an API/some way to allow middleware to be used more easily. They have made good progress, but last I checked they still had a lot to do. Getting people to agree on something as simple as a state machine interface is non-trivial.
On a tangent, I would suggest decoupling 'smart AI' from more 'difficult AI'. A smart AI is one that can do whatever the game designer thinks it should do in a given situation; this does not necessarily mean an AI should always pick the optimal strategy (if there is one).
Okay, compile is done, back to work. ;)
There are already several packages out there for building AI systems out of components. Take a look at gameai.com, under the Toolkit and SDKs for a few examples. This is definitely an idea people are pursuing.
The added complexity and expanded dev time people are talking about _generally_ doesn't impact AI as much as the rest of the game. The big issue is 'bumpy shiny tech' -- using several textures per model. Generally, this involves making one very high detail model for generating normal maps, then a low poly runtime model for use in game. This, and the cost of making less abstract environments are the big costs.
The general programming issue is the move towards more parallelization, as code may be running on more CPUs. Again, this does not impact AI programmers as AI is likely to run on one CPU. Trying to move it across multiple is likely low gain; the main thing that may be worth offloading would be pathing, and pathing tends to be chew the cache. If pursued, this change would simply be to enable AIs to request a path and then not need to use it for an arbitrary length of time.
The AI Interface Standards Committee is looking at standardizing an API/some way to allow middleware to be used more easily. They have made good progress, but last I checked they still had a lot to do. Getting people to agree on something as simple as a state machine interface is non-trivial.
On a tangent, I would suggest decoupling 'smart AI' from more 'difficult AI'. A smart AI is one that can do whatever the game designer thinks it should do in a given situation; this does not necessarily mean an AI should always pick the optimal strategy (if there is one).
Okay, compile is done, back to work. ;)
generic AI SDK (aka a toolkit containing common algorithms) -> good, possible and arguably needed.
generic AI solution that can "learn" how to play a game -> not possible with today's technology and general scientific knowledge. there are plenty of scientists working on such things, so us not being able to do it isn't for want of smart people trying to achieve it. it's just currently out of our reach.
If you think about it, if you were able to create an AI that was so good at generic learning that it could pilot starships, cars, be an infintry soldier, etc that would be a "big deal"TM. If such were possible we'd suddenly be in the world of asimov with robot servents that drove our cars, went shopping for us, etc. also, you'd be very very very rich.
-me
generic AI solution that can "learn" how to play a game -> not possible with today's technology and general scientific knowledge. there are plenty of scientists working on such things, so us not being able to do it isn't for want of smart people trying to achieve it. it's just currently out of our reach.
If you think about it, if you were able to create an AI that was so good at generic learning that it could pilot starships, cars, be an infintry soldier, etc that would be a "big deal"TM. If such were possible we'd suddenly be in the world of asimov with robot servents that drove our cars, went shopping for us, etc. also, you'd be very very very rich.
-me
hehe, I guess that's true. Here's hoping anyway - personally, I'm looking for big changes in development of games and production values. AI I can see being the next big thing if they finally did it right.
And with my Greatness hidden, all the world will weap at the beauty of my rebirth.
An AI SDK for games is not likely, for a number of reasons.
#1. Graphics take precedent over the AI. For this reason most AI implementations need to be squeezed in to use whatever processing time remains.
#2. There is no magic-AI bullet. A polygon renderer is essentially the same, regardless of the game-- yes there are exceptions. As of yet there is no one solution for a variety of AI tasks. State-Tables are as close as you'll get, and there is hardly any reason to 'standardize' state tables beyond.
#3. Expectations are different. Not everyone will want the shortest path between A and B. Not everyone will want the safest path between A and B.
#4. Most game AI would not be considered AI. Would you say 'Drive towards target' is AI?
Will
#1. Graphics take precedent over the AI. For this reason most AI implementations need to be squeezed in to use whatever processing time remains.
#2. There is no magic-AI bullet. A polygon renderer is essentially the same, regardless of the game-- yes there are exceptions. As of yet there is no one solution for a variety of AI tasks. State-Tables are as close as you'll get, and there is hardly any reason to 'standardize' state tables beyond.
#3. Expectations are different. Not everyone will want the shortest path between A and B. Not everyone will want the safest path between A and B.
#4. Most game AI would not be considered AI. Would you say 'Drive towards target' is AI?
Will
------------------http://www.nentari.com
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement