The "General Games Chat" forum, which includes Retro Game Reviews, has been archived and is now read-only. You cannot post here or create a new thread or review on this forum.
These are questions that game programmers used to ask themselves all the time. As technology developed, it seemed obvious that, one day, computer characters would think for themselves.
Now developers seem to have all but given up on the idea of AI. Instead they fake the whole process. Halo has very little actual AI (ironically it is this that the game is highly acclaimed for). Instead the programmers have created hundreds of pre-set routines that the computer characters will follow to mimic intelligence. Hide behind cover and the computer characters will thrown grenades to force you out. There is no intelligence at work here- it's just a sub routine that the character follows.
So what's sparked the change?
Firstly, more can be acheived by pre-programming than by teaching a real AI. Think about it. What are the chances of an AI throwing grenades in the way described above? The only way to get the AI to do this would be to develop a massively complex one... which is not only costly, but would probably result in an AI so strong that the player could never win. (Such a thing happened in the development of Alien vs. Predator in which the enemy would easily destroy you almost immediately).
Secondly, it's been realised that trying to get closer to an actual AI is pointless- it's an impossible task. What makes us intelligent? It's not the fact that we can make logical decisions, it's the fact that we can make illogical ones based on out feelings. I do something because it feels right- not because I've checked every possibility and this is the best.
And that is where technology fails us- computers only understand instructions. They can follow routines easily, but they themselves cannot make judgements without them. Computers will have to be able to "feel" before they can think, and this is simply beyond are development of technology.
You know, the idea of faking an AI isn't new at all. Chuckie Egg faked its whole physics engine! Objects fell in parabolas, and you bounced off platforms in a realistic way. This was not because the physics was brilliant, but because the game was programmed with preset falling routines and bounce routines. And you know what? The game was highy revered for it's physics engine!
Maybe AI is a myth after all. Than again, perhaps there's a deceptively simple idea that everyone has missed....
Sonic
The reason a computer will never be able to have true intelligence anything like a human's, however powerful, is due in part to it having a linerar processor- it can only do one thing at a time.
With the human brain, multiple brain cells can fire off synapses at the same time. Not only does this make us able to do more than one thing at a time (and not just appear to do so with multitasking), it also allows us to consider multiple ideas at once, draw on past experiences, and develop NEW ideas based on the situation. That's why we're top of the food chain.
And the concept of developing completely new ideas is another trait that can't be done on existing binary architecture.
Sonic
I think it's what Games Designers are doing already.
Still, AI has come a long way.
Come up to the release of Quake 2, magazines were raving about how sometimes, enemies would duck your shots!
Naturally, Goldeneye put it to shame!
Better would be:
AI enemy sees player
Assess situation. Is player armed? What with? how much health does it have? what direction is it going in? has it seen me? how fast can it move? How fast can I get to it? What weapons do I have, and how much health? Plus any other relevant information.
Then, based on the information available, the AI tries to work out its best course of action based on its priorities.
Priority: must stop player at all costs.
Action taken:
This is where the AI makes an informed decision. Having an effective threat assessment on its opponent, it will choose what it "feels" is the best course of action not only to try to fulfil its goal, but to survive to ensure that the goal is 100% complete.
Possible for game programming, due to the limited amount of input required for such decisions, and can be done using the programming style we use today. But for real AI, the inputs are greater, the goals not so simply defined, and the options available far more numerous. Not to mention the need for an experience capacity of sorts. Ai is useless if it cannot learn.
Making decisions could probably be best based on probabilty for now.
For instance, when an enemy sees a player it's options would be:
1-6 - raise gun and shoot
7-9 - Go for cover
10 - run away screaming
From there the computer generates a random number from 1-10 to choose it's option. Naturally, it's most likely to start shooting although it might go for cover and will occasionally run away screaming.
I guess they use this a lot already.
I think games like Pikmin and Animal Leader are meant to be experimenting with AI.
I think, as far as AI is concerned, the only major breakthrough will come as all major breakthroughs do - by compete accident.
I study computer science at university, I have read a lot of articles etc and one that sticks out is one stating that in 25 years a desktop computer will have the processing power and storage capacity of the human brain. The possibilities from this could be endless, but rational thought and intelligence? My thoughts say no, rational thought and intelligence is what makes us special. Makes us different, makes us human.
But another part also says that there are so many things I see as being impossible but in todays world it is hard to say anything is impossible and I do think that one day someone will make a near intelligent or fully intelligent computer. Just don't know how soon this is possible.
And I agree with your point that the current design and programming capacity of PCs will never be sufficient for AI. The very way we program is just absolutely contrary to intelligence. We program computers to make yes/no decisions, where the decisions are pre-written based on set criteria. This isn't intelligence, it's just process. For intelligence, an AI must have that "spark". A whole new programming language and style is required. If the Ai is made to ask "what do I do now?" the programming must be able to reply "well, what do you think is the best way to go forward" and the AI must be able to digest this retort, and act on it by taking in its situation, discerning from that its options, and choosing a preferable way to proceed of the options it has.
To aid that process, the Ai must be created with a sense of priorities, or must have the capacity to develop them. Like humans, with every decision, we take into account our priorities. Which decision requires less effort? Which costs less money? Which is fastest? Which will my girlfriend prefer? Only with a sense of priorities like time management, energy management etc can an AI be expected to make an objective decision based on real life criteria and input.
As I say, I don't think even the language exists to create such a program. But who knows what the future holds?
I think your idea of "considering" alternatives that are not preprogrammed can be taken further. The computer must "feel" that one action is the best to take.
You see, the point of an AI is not just to consider possibilities it has not been preprogrammed with, it is also to make a decision based on data that may not indictate a "best" option to take. Rather than through a random dice, the computer must "feel" that one option is best, and take that.
Taking this idea further, this means that AIs that are programmed identically will "evolve" in different ways based on which options they take in early life. The outcomes of these will be remembered and used in further decisions.
Suddenly we're talking about a life form that "grows" with time- it learns more and applies this knowledge.
But the question is whether such a concept can ever come about. Personally I think the answer to this is "not with the current design of PCs".
That said, there is an alternative hypothesis to create an AI. This is that, to gain meaningful results from questions given to an AI it must have "common sense" and a MASSIVE knowledge base.
Think about it. If I ask you "Did you see Manchester play", you know that I'm talking about football. Not only do you have a knowledge base that tells you that manchester can be a city or a football team, but you have the common sense to decide which is which.
However, this is an all together different style of AI- one that can be used to mimic human conversations (eg the Turing test), and not one that does decision making.
Sonic
We, as humans, don't need to have possibilities pre-defined for us. Given a problem, we can see what the obvious possibilities are, consequences of action and reaction etc. Without knowing, we can take educated guesses, pull intelligence from nothing. We can create on initiative.
Computers cannot do this, they can only act within the realms of their programming. They only know the possibilities and consequences defined to them beforehand. Computers are only as clever as the people who made them.
There is certainly a frontier to be explored here. Writing endless routines to counter user behaviour will of course get the job done, and some may argue is all we need. But what we need to discover is a method of getting computers to "consider". Computers don't consider, they just decide. They go through their preset logic loops, and make the only decision they can.
The only step that needs to be made is to create a computer that says to itself "Hmmm. What are my options?" and not only says that, but can simulate its own hypotheses without having options pre-defined for it. Using the information it has available, the computer can put it together, and work out its prefered course of action of its own accord.
the problem is that a computer intelligence, with all it's massive capacity for sensory input, will require a massive amount of both processing power and storage space to be capable of making sense of the world around it. Computers now can be made to struggle just by actioning routine tasks. Having to work out for itself, given your performance in a game (for example) which way to attack you, how you will likely strafe in return, where to seek cover, what weapon and ammo to use, how short the bursts should be, etc. How to react to you.
Two things here. Firstly, a few more years of writing "AI" sub-routines will see us facing incredibly challenging computer opponents, making real AI in this market a non-requirement. Secondly, an AI would need a decent amount of experience to even be worth playing against. If the AI is to work correctly, it needs memory, recollection of memory, and a sense of self-improvement. This first means that the game requirements go up, as the game will need to be shipped with a certain amount of "life-span" for the AI, so as not to make the AI stupidly easy on purchase. But also, given the recall capacity, eventually the AI will be far too good to be beaten. With reaction times far in excess of human beings, what chance do you have?
So not only would you be creating a clever intelligent AI, you would have to cap it's creativity.
In my opinion, AI is not for the gaming world. It's too complex even a concept to bother programming into a game. However, for the future, for space and undersea exploration, AI will eventually become a requirement.
But first we need to teach computers how to make up a question, how to seek an answer, how to seek knowledge - relevant knowledge -, how to build on its experiences, make itself better.
But how are going to do that? For humans it is simple, we need but be given the challenge of becoming the best we can be. If you tell a computer to go out and make itself better, the only reply you're going to get is "syntax error" or something similar.
How you make a computer think, and guess on its own initiative I don't know. I'm just glad that the job of creating such intelligence isn't mine.