Chat Bot Ex.:
AI: What is your name?
AI: Hi Chris!
However simple this may seem, I believe it could be applied to a game such as chess in order to learn opponent's strategies. When playing a game a of chess, the computer evaluates it's opponent's moved based SOLELY on what it's creator has programmed it to do. This, in short, is the downfall of chess AI. While a human opponent may learn it's mistakes, a chess board will continue making it.
But, let's say the AI is created in game maker, what if you create an external database in which all the AI's strategum's are confined. However, instead of being an isolated, unchangable map of what the computer can do, it would take in consideration each loss it encounters, by adding which move led to it's own checkmate (if course, still talking of chess, although this could be used in more advanced shooting games.)
For example, if the Queen, considered the most powerful of the chess pieces, is taken from our AI, but no other feasable moves could have been made during that turn, it must go back through it's moves (saved in the data file) and find which move led to it's queen's taking, and change the strategy in which it had to suit itself for the mistake.
I feel as though I should add I am somewhat of a chess connoisseur, and this is obviously very, very advanced, especially for most people who use game maker. However, the idea intrigued me after reading another post about creating standard chess AI (which is not as complicated as they made it seem, which I will explain later on in my post) and I decided that it could also be used not only for chess, but for top-down shooters, or if you are someone such as TGG, a master-if-nothing-else of the use of 3D in game maker, FPS (I will not mention 3rd person games, for they are quite complicated and not very developed in game maker as of now.)
Ways in which this may be implemented in games other than chess are:
-AI learning how the player fights.
-If a punch, kick, upper cut combo is used mutliple times, the AI may learn to block at a certain time and devise a counter-offensive.
-In FPS, if the player seems to aim for the head shot, learn to duck
-Any other practical explanation.
I dare not bore you with more examples, because I am sure if you have read this far you have many in mind.
Explaining simple chess strategies.
It would take a long time to devise your own hand crafted list of moves, but that is how it must be done. If a player moves a pawn to a certain point, and you have programmed in a counter-offensive (I say counter-offensive to illustrate the reasoning that "defense" in chess leads to your opponent controlling the board) that makes the AI move their piece to a certain position. Of course, though, then you would have to make a strategy for every single variation that a chess board could take on. Obviously this very layman's way of explaining an AI's chess board strategy, and it is so long it is impractical, which is why I suggest allowing the AI to build it's own database.
Allowing the AI to forumulate it's own database from scratch
As proposed before, the AI learns new strategies from the player it is playing against. However, in this situation, the computer starts out making random moves. This would take pathfinding, such as checking if a piece is in the way, and would be quite simple to create. Each time the computer inevitably loses, it stores it's game information in it's external database, and each time you replay the computer, it reloads it's cumulative strategy report, and uses it's information to devise strategies against you. Suppose you try and go for the 4-move check mate. (link for those who care, it's the top strategy: http://www.avlerches...trategies.html) The computer would presumably be defeated in 4 turns provided it doesn't accidentally counter it. But, the next time you go to do this same thing, the Ai searches it's database, recognizes the moves, and relays it back to do something different. This would, of course, take along time to develop, due to the fact that there are so many different variations in the game of chess for each strategy. It's be much simpler to do this with Shooting games, due to the fact that it would be a lot less information to deal with.
Edited by xot, 13 April 2008 - 06:12 AM.
** Old Experts Topic **